jord-0.1.0.0: Geographic position calculations on Great Circles

Copyright (c) 2018 Cedric Liegeois BSD3 Cedric Liegeois experimental portable Safe Haskell2010

Data.Geo.Jord.GeoPos

Description

Types to represent a geographic position by its latitude and longitude.

Synopsis

# The GeoPos type

data GeoPos Source #

A geographic position (latitude and longitude).

Instances
 Source # Instance detailsDefined in Data.Geo.Jord.GeoPos Methods(==) :: GeoPos -> GeoPos -> Bool #(/=) :: GeoPos -> GeoPos -> Bool # Source # See readGeoPos. Instance detailsDefined in Data.Geo.Jord.GeoPos Methods Source # Instance detailsDefined in Data.Geo.Jord.GeoPos MethodsshowsPrec :: Int -> GeoPos -> ShowS #showList :: [GeoPos] -> ShowS # Source # GeoPos to/from NVector. Instance detailsDefined in Data.Geo.Jord.GreatCircle Methods

# Smart constructors

GeoPos from given latitude and longitude. errors if given latitude is outisde [-90..90]° and/or given longitude is outisde [-180..180]°.

GeoPos from given latitude and longitude. A Left indicates that the given latitude is outisde [-90..90]° and/or given longitude is outisde [-180..180]°.

latLongF :: MonadFail m => Angle -> Angle -> m GeoPos Source #

GeoPos from given latitude and longitude. fails if given latitude is outisde [-90..90]° and/or given longitude is outisde [-180..180]°.

GeoPos from given latitude and longitude in decimal degrees. errors if given latitude is outisde [-90..90]° and/or given longitude is outisde [-180..180]°.

GeoPos from given latitude and longitude in decimal degrees. A Left indicates that the given latitude is outisde [-90..90]° and/or given longitude is outisde [-180..180]°.

GeoPos from given latitude and longitude in decimal degrees. fails if given latitude is outisde [-90..90]° and/or given longitude is outisde [-180..180]°.

Obtains a GeoPos from the given string formatted as either:

• DD(MM)(SS)[N|S]DDD(MM)(SS)[E|W] - e.g. 553621N0130002E or 0116S03649E or 47N122W
• Angle[N|S] Angle[E|W] - e.g. 55°36'21''N 13°0'02''E or 11°16'S 36°49'E or 47°N 122°W

This simply calls read s :: GeoPos so error should be handled at the call site.

Same as readGeoPos but returns a Either.

Same as readGeoPos but returns a MonadFail.
Converts the given GeoPos to tuple of latitude and longitude in decimal degrees.