geojson-4.1.3: A thin GeoJSON Layer above the aeson library
Copyright(C) 2014-2021 HS-GeoJSON Project
LicenseBSD-style (see the file LICENSE.md)
MaintainerAndrew Newman
Safe HaskellNone
LanguageHaskell2010

Data.Geospatial.Internal.Geometry

Description

See section 2.1 "Geometry Objects" in the GeoJSON Spec.

Synopsis

Types

newtype GeoPoint Source #

Instances

Instances details
FromJSON GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

ToJSON GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

NFData GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

Methods

rnf :: GeoPoint -> () #

Generic GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

Associated Types

type Rep GeoPoint 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

type Rep GeoPoint = D1 ('MetaData "GeoPoint" "Data.Geospatial.Internal.Geometry.GeoPoint" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoPositionWithoutCRS)))

Methods

from :: GeoPoint -> Rep GeoPoint x #

to :: Rep GeoPoint x -> GeoPoint #

Show GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

Eq GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

type Rep GeoPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPoint

type Rep GeoPoint = D1 ('MetaData "GeoPoint" "Data.Geospatial.Internal.Geometry.GeoPoint" "geojson-4.1.3-39qWD6AMpW6DepGCjU1BIw" 'True) (C1 ('MetaCons "GeoPoint" 'PrefixI 'True) (S1 ('MetaSel ('Just "_unGeoPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 GeoPositionWithoutCRS)))

newtype GeoMultiPoint Source #

Instances

Instances details
FromJSON GeoMultiPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint

ToJSON GeoMultiPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint

NFData GeoMultiPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint

Methods

rnf :: GeoMultiPoint -> () #

Generic GeoMultiPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint

Associated Types

type Rep GeoMultiPoint 
Instance details

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))))
Show GeoMultiPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint

Eq GeoMultiPoint Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPoint

type Rep GeoMultiPoint Source # 
Instance details

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 #

Instances

Instances details
FromJSON GeoPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPolygon

ToJSON GeoPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPolygon

NFData GeoPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPolygon

Methods

rnf :: GeoPolygon -> () #

Generic GeoPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPolygon

Associated Types

type Rep GeoPolygon 
Instance details

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)))))
Show GeoPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPolygon

Eq GeoPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoPolygon

type Rep GeoPolygon Source # 
Instance details

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 #

Instances

Instances details
FromJSON GeoMultiPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon

ToJSON GeoMultiPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon

NFData GeoMultiPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon

Methods

rnf :: GeoMultiPolygon -> () #

Generic GeoMultiPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon

Associated Types

type Rep GeoMultiPolygon 
Instance details

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))))))
Show GeoMultiPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon

Eq GeoMultiPolygon Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiPolygon

type Rep GeoMultiPolygon Source # 
Instance details

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

newtype GeoLine Source #

Instances

Instances details
FromJSON GeoLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoLine

ToJSON GeoLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoLine

NFData GeoLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoLine

Methods

rnf :: GeoLine -> () #

Generic GeoLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoLine

Associated Types

type Rep GeoLine 
Instance details

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))))

Methods

from :: GeoLine -> Rep GeoLine x #

to :: Rep GeoLine x -> GeoLine #

Show GeoLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoLine

Eq GeoLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoLine

Methods

(==) :: GeoLine -> GeoLine -> Bool #

(/=) :: GeoLine -> GeoLine -> Bool #

type Rep GeoLine Source # 
Instance details

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 #

Instances

Instances details
FromJSON GeoMultiLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine

ToJSON GeoMultiLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine

NFData GeoMultiLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine

Methods

rnf :: GeoMultiLine -> () #

Generic GeoMultiLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine

Associated Types

type Rep GeoMultiLine 
Instance details

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)))))
Show GeoMultiLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine

Eq GeoMultiLine Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry.GeoMultiLine

type Rep GeoMultiLine Source # 
Instance details

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.

Instances

Instances details
FromJSON GeospatialGeometry Source #

decodes Geometry Objects from GeoJSON

Aeson doesnt decode "null" into Null unfortunately

Instance details

Defined in Data.Geospatial.Internal.Geometry

ToJSON GeospatialGeometry Source #

encodes Geometry Objects to GeoJSON

Instance details

Defined in Data.Geospatial.Internal.Geometry

NFData GeospatialGeometry Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry

Methods

rnf :: GeospatialGeometry -> () #

Generic GeospatialGeometry Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry

Show GeospatialGeometry Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry

Eq GeospatialGeometry Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry

type Rep GeospatialGeometry Source # 
Instance details

Defined in Data.Geospatial.Internal.Geometry

Lenses

Prisms