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.BasicTypes

Contents

Description

Basic types for GeoJSON representations.

Synopsis

Coordinate types

data GeoPositionWithoutCRS Source #

Instances

Eq GeoPositionWithoutCRS Source # 
Show GeoPositionWithoutCRS Source # 
Generic GeoPositionWithoutCRS Source # 
ToJSON GeoPositionWithoutCRS Source # 
FromJSON GeoPositionWithoutCRS Source # 
Storable GeoPositionWithoutCRS Source # 
NFData GeoPositionWithoutCRS Source # 

Methods

rnf :: GeoPositionWithoutCRS -> () #

HasGeoPositionWithoutCRS GeoPositionWithoutCRS Source # 
type Rep GeoPositionWithoutCRS Source # 
type Rep GeoPositionWithoutCRS = D1 * (MetaData "GeoPositionWithoutCRS" "Data.Geospatial.Internal.BasicTypes" "geojson-2.0.0-83h4RRWcSVDK020mHmpqKJ" False) ((:+:) * ((:+:) * (C1 * (MetaCons "GeoEmpty" PrefixI False) (U1 *)) (C1 * (MetaCons "GeoPointXY" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * PointXY)))) ((:+:) * (C1 * (MetaCons "GeoPointXYZ" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * PointXYZ))) (C1 * (MetaCons "GeoPointXYZM" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * PointXYZM)))))

data PointXY Source #

(GeoPositionWithoutCRS is a catch all for indeterminate CRSs and for expression of positions before a CRS has been determined

Constructors

PointXY 

Fields

Instances

Eq PointXY Source # 

Methods

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

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

Show PointXY Source # 
Generic PointXY Source # 

Associated Types

type Rep PointXY :: * -> * #

Methods

from :: PointXY -> Rep PointXY x #

to :: Rep PointXY x -> PointXY #

Storable PointXY Source # 
NFData PointXY Source # 

Methods

rnf :: PointXY -> () #

type Rep PointXY Source # 
type Rep PointXY = D1 * (MetaData "PointXY" "Data.Geospatial.Internal.BasicTypes" "geojson-2.0.0-83h4RRWcSVDK020mHmpqKJ" False) (C1 * (MetaCons "PointXY" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_xyX") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Double)) (S1 * (MetaSel (Just Symbol "_xyY") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Double))))

data PointXYZ Source #

Constructors

PointXYZ 

Fields

Instances

Eq PointXYZ Source # 
Show PointXYZ Source # 
Generic PointXYZ Source # 

Associated Types

type Rep PointXYZ :: * -> * #

Methods

from :: PointXYZ -> Rep PointXYZ x #

to :: Rep PointXYZ x -> PointXYZ #

NFData PointXYZ Source # 

Methods

rnf :: PointXYZ -> () #

type Rep PointXYZ Source # 
type Rep PointXYZ = D1 * (MetaData "PointXYZ" "Data.Geospatial.Internal.BasicTypes" "geojson-2.0.0-83h4RRWcSVDK020mHmpqKJ" False) (C1 * (MetaCons "PointXYZ" PrefixI True) ((:*:) * (S1 * (MetaSel (Just Symbol "_xyzX") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Double)) ((:*:) * (S1 * (MetaSel (Just Symbol "_xyzY") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Double)) (S1 * (MetaSel (Just Symbol "_xyzZ") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Double)))))

data PointXYZM Source #

Constructors

PointXYZM 

Fields

CRS Reference types

type Name = Text Source #

type Code = Int Source #

type Href = Text Source #

Feature Types

newtype BoundingBoxWithoutCRS Source #

See Section 4 Bounding Boxes of the GeoJSON spec, The length of the list/array must be 2*n where n is the dimensionality of the position type for the CRS with min values first followed by the max values, wich both the min/max sets following the same axis order as the CRS, e.g for WGS84: minLongitude, minLatitude, maxLongitude, maxLatitude The spec mentions that it can be part of a geometry object too but doesnt give an example, This implementation will ignore bboxes on Geometry objects, they can be added if required.