geojson-2.0.0: A thin GeoJSON Layer above the aeson library

Copyright(C) 2014-2018 HS-GeoJSON Project
LicenseBSD-style (see the file LICENSE.md)
MaintainerAndrew Newman
Safe HaskellNone
LanguageHaskell2010

Data.Geospatial.Internal.Geometry

Contents

Description

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

Synopsis

Types

newtype GeoPoint Source #

Instances

Eq GeoPoint Source # 
Show GeoPoint Source # 
Generic GeoPoint Source # 

Associated Types

type Rep GeoPoint :: * -> * #

Methods

from :: GeoPoint -> Rep GeoPoint x #

to :: Rep GeoPoint x -> GeoPoint #

ToJSON GeoPoint Source # 
FromJSON GeoPoint Source # 
NFData GeoPoint Source # 

Methods

rnf :: GeoPoint -> () #

type Rep GeoPoint Source # 
type Rep GeoPoint = D1 * (MetaData "GeoPoint" "Data.Geospatial.Internal.Geometry.GeoPoint" "geojson-2.0.0-83h4RRWcSVDK020mHmpqKJ" True) (C1 * (MetaCons "GeoPoint" PrefixI True) (S1 * (MetaSel (Just Symbol "_unGeoPoint") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * GeoPositionWithoutCRS)))

splitGeoMultiPoint :: GeoMultiPoint -> Vector GeoPoint Source #

Split GeoMultiPoint coordinates into multiple GeoPoints

mergeGeoPoints :: Vector GeoPoint -> GeoMultiPoint Source #

Merge multiple GeoPoints into one GeoMultiPoint

splitGeoMultiPolygon :: GeoMultiPolygon -> Vector GeoPolygon Source #

Split GeoMultiPolygon coordinates into multiple GeoPolygons

mergeGeoPolygons :: Vector GeoPolygon -> GeoMultiPolygon Source #

Merge multiple GeoPolygons into one GeoMultiPolygon

newtype GeoLine Source #

Instances

Eq GeoLine Source # 

Methods

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

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

Show GeoLine Source # 
Generic GeoLine Source # 

Associated Types

type Rep GeoLine :: * -> * #

Methods

from :: GeoLine -> Rep GeoLine x #

to :: Rep GeoLine x -> GeoLine #

ToJSON GeoLine Source # 
FromJSON GeoLine Source # 
NFData GeoLine Source # 

Methods

rnf :: GeoLine -> () #

type Rep GeoLine Source # 
type Rep GeoLine = D1 * (MetaData "GeoLine" "Data.Geospatial.Internal.Geometry.GeoLine" "geojson-2.0.0-83h4RRWcSVDK020mHmpqKJ" True) (C1 * (MetaCons "GeoLine" PrefixI True) (S1 * (MetaSel (Just Symbol "_unGeoLine") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (LineString GeoPositionWithoutCRS))))

splitGeoMultiLine :: GeoMultiLine -> Vector GeoLine Source #

Split GeoMultiLine coordinates into multiple GeoLines

mergeGeoLines :: Vector GeoLine -> GeoMultiLine Source #

Merge multiple GeoLines into one GeoMultiLine

data GeospatialGeometry Source #

See section 2.1 Geometry Objects in the GeoJSON Spec.

Instances

Eq GeospatialGeometry Source # 
Show GeospatialGeometry Source # 
Generic GeospatialGeometry Source # 
ToJSON GeospatialGeometry Source #

encodes Geometry Objects to GeoJSON

FromJSON GeospatialGeometry Source #

decodes Geometry Objects from GeoJSON

Aeson doesnt decode "null" into Null unfortunately

NFData GeospatialGeometry Source # 

Methods

rnf :: GeospatialGeometry -> () #

type Rep GeospatialGeometry Source # 

Lenses

Prisms