| Copyright | (C) 2014-2021 HS-GeoJSON Project |
|---|---|
| License | BSD-style (see the file LICENSE.md) |
| Maintainer | Andrew Newman |
| Safe Haskell | None |
| Language | Haskell2010 |
Data.Geospatial.Internal.Geometry
Description
See section 2.1 "Geometry Objects" in the GeoJSON Spec.
Synopsis
- newtype GeoPoint = GeoPoint {}
- retrieveXY :: GeoPositionWithoutCRS -> PointXY
- newtype GeoMultiPoint = GeoMultiPoint {}
- splitGeoMultiPoint :: GeoMultiPoint -> Seq GeoPoint
- mergeGeoPoints :: Seq GeoPoint -> GeoMultiPoint
- newtype GeoPolygon = GeoPolygon {}
- newtype GeoMultiPolygon = GeoMultiPolygon {}
- splitGeoMultiPolygon :: GeoMultiPolygon -> Seq GeoPolygon
- mergeGeoPolygons :: Seq GeoPolygon -> GeoMultiPolygon
- newtype GeoLine = GeoLine {}
- newtype GeoMultiLine = GeoMultiLine {}
- splitGeoMultiLine :: GeoMultiLine -> Seq GeoLine
- mergeGeoLines :: Seq GeoLine -> GeoMultiLine
- data GeospatialGeometry
- unGeoPoint :: Iso' GeoPoint GeoPositionWithoutCRS
- unGeoMultiPoint :: Iso' GeoMultiPoint (Seq GeoPositionWithoutCRS)
- unGeoPolygon :: Iso' GeoPolygon (Seq (LinearRing GeoPositionWithoutCRS))
- unGeoMultiPolygon :: Iso' GeoMultiPolygon (Seq (Seq (LinearRing GeoPositionWithoutCRS)))
- unGeoLine :: Iso' GeoLine (LineString GeoPositionWithoutCRS)
- unGeoMultiLine :: Iso' GeoMultiLine (Seq (LineString GeoPositionWithoutCRS))
- _NoGeometry :: Prism' GeospatialGeometry ()
- _Point :: Prism' GeospatialGeometry GeoPoint
- _MultiPoint :: Prism' GeospatialGeometry GeoMultiPoint
- _Polygon :: Prism' GeospatialGeometry GeoPolygon
- _MultiPolygon :: Prism' GeospatialGeometry GeoMultiPolygon
- _Line :: Prism' GeospatialGeometry GeoLine
- _MultiLine :: Prism' GeospatialGeometry GeoMultiLine
- _Collection :: Prism' GeospatialGeometry (Seq GeospatialGeometry)
Types
Constructors
| GeoPoint | |
Fields | |
Instances
newtype GeoMultiPoint Source #
Constructors
| GeoMultiPoint | |
Fields | |
Instances
| FromJSON GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint Methods parseJSON :: Value -> Parser GeoMultiPoint # parseJSONList :: Value -> Parser [GeoMultiPoint] # | |||||
| ToJSON GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint Methods toJSON :: GeoMultiPoint -> Value # toEncoding :: GeoMultiPoint -> Encoding # toJSONList :: [GeoMultiPoint] -> Value # toEncodingList :: [GeoMultiPoint] -> Encoding # omitField :: GeoMultiPoint -> Bool # | |||||
| NFData GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint Methods rnf :: GeoMultiPoint -> () # | |||||
| Generic GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint Associated Types
| |||||
| Show GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint Methods showsPrec :: Int -> GeoMultiPoint -> ShowS # show :: GeoMultiPoint -> String # showList :: [GeoMultiPoint] -> ShowS # | |||||
| Eq GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint Methods (==) :: GeoMultiPoint -> GeoMultiPoint -> Bool # (/=) :: GeoMultiPoint -> GeoMultiPoint -> Bool # | |||||
| type Rep GeoMultiPoint Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint type Rep GeoMultiPoint = D1 ('MetaData "GeoMultiPoint" "Data.Geospatial.Internal.Geometry.GeoMultiPoint" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoMultiPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoMultiPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq GeoPositionWithoutCRS)))) | |||||
splitGeoMultiPoint :: GeoMultiPoint -> Seq GeoPoint Source #
Split GeoMultiPoint coordinates into multiple GeoPoints
mergeGeoPoints :: Seq GeoPoint -> GeoMultiPoint Source #
Merge multiple GeoPoints into one GeoMultiPoint
newtype GeoPolygon Source #
Constructors
| GeoPolygon | |
Fields | |
Instances
| FromJSON GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon | |||||
| ToJSON GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon Methods toJSON :: GeoPolygon -> Value # toEncoding :: GeoPolygon -> Encoding # toJSONList :: [GeoPolygon] -> Value # toEncodingList :: [GeoPolygon] -> Encoding # omitField :: GeoPolygon -> Bool # | |||||
| NFData GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon Methods rnf :: GeoPolygon -> () # | |||||
| Generic GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon Associated Types
| |||||
| Show GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon Methods showsPrec :: Int -> GeoPolygon -> ShowS # show :: GeoPolygon -> String # showList :: [GeoPolygon] -> ShowS # | |||||
| Eq GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon | |||||
| type Rep GeoPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoPolygon type Rep GeoPolygon = D1 ('MetaData "GeoPolygon" "Data.Geospatial.Internal.Geometry.GeoPolygon" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoPolygon" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoPolygon") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (LinearRing GeoPositionWithoutCRS))))) | |||||
newtype GeoMultiPolygon Source #
Constructors
| GeoMultiPolygon | |
Fields | |
Instances
| FromJSON GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon Methods parseJSON :: Value -> Parser GeoMultiPolygon # parseJSONList :: Value -> Parser [GeoMultiPolygon] # | |||||
| ToJSON GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon Methods toJSON :: GeoMultiPolygon -> Value # toEncoding :: GeoMultiPolygon -> Encoding # toJSONList :: [GeoMultiPolygon] -> Value # toEncodingList :: [GeoMultiPolygon] -> Encoding # omitField :: GeoMultiPolygon -> Bool # | |||||
| NFData GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon Methods rnf :: GeoMultiPolygon -> () # | |||||
| Generic GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon Associated Types
Methods from :: GeoMultiPolygon -> Rep GeoMultiPolygon x # to :: Rep GeoMultiPolygon x -> GeoMultiPolygon # | |||||
| Show GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon Methods showsPrec :: Int -> GeoMultiPolygon -> ShowS # show :: GeoMultiPolygon -> String # showList :: [GeoMultiPolygon] -> ShowS # | |||||
| Eq GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon Methods (==) :: GeoMultiPolygon -> GeoMultiPolygon -> Bool # (/=) :: GeoMultiPolygon -> GeoMultiPolygon -> Bool # | |||||
| type Rep GeoMultiPolygon Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon type Rep GeoMultiPolygon = D1 ('MetaData "GeoMultiPolygon" "Data.Geospatial.Internal.Geometry.GeoMultiPolygon" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoMultiPolygon" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoMultiPolygon") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (Seq (LinearRing GeoPositionWithoutCRS)))))) | |||||
splitGeoMultiPolygon :: GeoMultiPolygon -> Seq GeoPolygon Source #
Split GeoMultiPolygon coordinates into multiple GeoPolygons
mergeGeoPolygons :: Seq GeoPolygon -> GeoMultiPolygon Source #
Merge multiple GeoPolygons into one GeoMultiPolygon
Constructors
| GeoLine | |
Fields | |
Instances
| FromJSON GeoLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoLine | |||||
| ToJSON GeoLine Source # | |||||
| NFData GeoLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoLine | |||||
| Generic GeoLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoLine Associated Types
| |||||
| Show GeoLine Source # | |||||
| Eq GeoLine Source # | |||||
| type Rep GeoLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoLine type Rep GeoLine = D1 ('MetaData "GeoLine" "Data.Geospatial.Internal.Geometry.GeoLine" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoLine" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LineString GeoPositionWithoutCRS)))) | |||||
newtype GeoMultiLine Source #
Constructors
| GeoMultiLine | |
Fields | |
Instances
| FromJSON GeoMultiLine Source # | |||||
| ToJSON GeoMultiLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine Methods toJSON :: GeoMultiLine -> Value # toEncoding :: GeoMultiLine -> Encoding # toJSONList :: [GeoMultiLine] -> Value # toEncodingList :: [GeoMultiLine] -> Encoding # omitField :: GeoMultiLine -> Bool # | |||||
| NFData GeoMultiLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine Methods rnf :: GeoMultiLine -> () # | |||||
| Generic GeoMultiLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine Associated Types
| |||||
| Show GeoMultiLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine Methods showsPrec :: Int -> GeoMultiLine -> ShowS # show :: GeoMultiLine -> String # showList :: [GeoMultiLine] -> ShowS # | |||||
| Eq GeoMultiLine Source # | |||||
| type Rep GeoMultiLine Source # | |||||
Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine type Rep GeoMultiLine = D1 ('MetaData "GeoMultiLine" "Data.Geospatial.Internal.Geometry.GeoMultiLine" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoMultiLine" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoMultiLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq (LineString GeoPositionWithoutCRS))))) | |||||
splitGeoMultiLine :: GeoMultiLine -> Seq GeoLine Source #
Split GeoMultiLine coordinates into multiple GeoLines
mergeGeoLines :: Seq GeoLine -> GeoMultiLine Source #
Merge multiple GeoLines into one GeoMultiLine
data GeospatialGeometry Source #
See section 2.1 Geometry Objects in the GeoJSON Spec.
Constructors
| NoGeometry | |
| Point GeoPoint | |
| MultiPoint GeoMultiPoint | |
| Polygon GeoPolygon | |
| MultiPolygon GeoMultiPolygon | |
| Line GeoLine | |
| MultiLine GeoMultiLine | |
| Collection (Seq GeospatialGeometry) |
Instances
| FromJSON GeospatialGeometry Source # | decodes Geometry Objects from GeoJSON Aeson doesnt decode "null" into | ||||
Defined in Data.Geospatial.Internal.Geometry Methods parseJSON :: Value -> Parser GeospatialGeometry # parseJSONList :: Value -> Parser [GeospatialGeometry] # | |||||
| ToJSON GeospatialGeometry Source # | encodes Geometry Objects to GeoJSON | ||||
Defined in Data.Geospatial.Internal.Geometry Methods toJSON :: GeospatialGeometry -> Value # toEncoding :: GeospatialGeometry -> Encoding # toJSONList :: [GeospatialGeometry] -> Value # toEncodingList :: [GeospatialGeometry] -> Encoding # omitField :: GeospatialGeometry -> Bool # | |||||
| NFData GeospatialGeometry Source # | |||||
Defined in Data.Geospatial.Internal.Geometry Methods rnf :: GeospatialGeometry -> () # | |||||
| Generic GeospatialGeometry Source # | |||||
Defined in Data.Geospatial.Internal.Geometry Associated Types
Methods from :: GeospatialGeometry -> Rep GeospatialGeometry x # to :: Rep GeospatialGeometry x -> GeospatialGeometry # | |||||
| Show GeospatialGeometry Source # | |||||
Defined in Data.Geospatial.Internal.Geometry Methods showsPrec :: Int -> GeospatialGeometry -> ShowS # show :: GeospatialGeometry -> String # showList :: [GeospatialGeometry] -> ShowS # | |||||
| Eq GeospatialGeometry Source # | |||||
Defined in Data.Geospatial.Internal.Geometry Methods (==) :: GeospatialGeometry -> GeospatialGeometry -> Bool # (/=) :: GeospatialGeometry -> GeospatialGeometry -> Bool # | |||||
| type Rep GeospatialGeometry Source # | |||||
Defined in Data.Geospatial.Internal.Geometry type Rep GeospatialGeometry = D1 ('MetaData "GeospatialGeometry" "Data.Geospatial.Internal.Geometry" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'False) (((C1 ('MetaCons "NoGeometry" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Point" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoPoint))) :+: (C1 ('MetaCons "MultiPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoMultiPoint)) :+: C1 ('MetaCons "Polygon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoPolygon)))) :+: ((C1 ('MetaCons "MultiPolygon" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoMultiPolygon)) :+: C1 ('MetaCons "Line" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoLine))) :+: (C1 ('MetaCons "MultiLine" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoMultiLine)) :+: C1 ('MetaCons "Collection" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq GeospatialGeometry)))))) | |||||