Changelog for geojson-1.2.0
1.1.1 -> 1.2.0
- Added the
LineStringdata type for use with
GeoLine, now a
GeoLinewith less than 2 positions is a type error or a parse error, as it should be according to the [spec] (http://geojson.org/geojson-spec.html#linestring "LineString in the GeoJSON v1.0 spec")
1.1.0 -> 1.1.1
- Just some version bumps, the
lensversion bounds for the
<0.4) were causing some conflicts.
1.0.1 -> 1.1.0
- Corrected an issue with the
Polygon([here] (https://github.com/domdere/hs-geojson/issues/2 "Polygon Issue"))
- Introduced the
LinearRingdatatype to handle the LinearRings described in the spec.
- Valid JSON for a LinearRing contains at least 4 points (this is checked, parsing fails if the list is too short) and the last element should match the first, but this isnt checked due to performance issues with the current implementation (though its a resolvable issue)).
LinearRingcan be converted to a List with
fromLinearRingor you can just fold/traverse over it.
- Creating a
LinearRingcan be done with one of these:
makeLinearRing :: a -> a -> a -> [a] -> LinearRing a
fromListWithEqCheck, which will return a
Validateresult (see the type sigs) and [Data.Validation] (https://hackage.haskell.org/package/validation "Data.Validation")
- Introduced the
0.0.2 -> 1.0.0
- Migrated from
JSONinstances were removed and replaced with
GeoFeatureCollectionare now of kind
* -> *, parameterised on the Property type,
GeoFeatureCollection aare in
- Lenses and prisms have been generated for each of the types.
- Orphan Instances were removed. Orphan Instances are bad. Breaking type class coherency had some rather annoying consequences, you only need to import
Data.Geospatialnow and the
FromJSONinstances will come with it. I wanted to split up the files and thought seperating the instances from the declarations was a good idea but it wasnt. Instead I split the data types into seperate modules and kept the instances with their respective data type declarations.