| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Geodetics.PolarStereographic
Synopsis
- data Pole
- data PolarStereographic e
- mkGridPolarStereographic :: Ellipsoid e => Pole -> e -> GridOffset -> Double -> PolarStereographic e
- type UpsGrid = PolarStereographic WGS84
- upsNorth :: UpsGrid
- upsSouth :: UpsGrid
- fromUpsGridReference :: Pole -> String -> Either [String] (GridPoint UpsGrid)
- parseUpsGridReference :: forall s (m :: Type -> Type) u. Stream s m Char => Pole -> ParsecT s u m (GridPoint UpsGrid)
- toUpsGridReference :: Maybe GridUnit -> Bool -> Int -> GridPoint UpsGrid -> String
Documentation
Polar stereographic grids are defined for true origins at the north and south poles.
data PolarStereographic e Source #
Polar Stereographic Grids
Formulae are taken from The Universal Grids: Univerersal Transverse Mercator (UTM) and Universal Polar Stereographic (UPS) DMA Technical Manual 8358.2, Defense Mapping Agency, Fairfax, VA. https://apps.dtic.mil/sti/tr/pdf/ADA266497.pdf
When working with polar grids all directions are relative to the grid rather than the actual pole. So in the Arctic "North" on the Universal Polar Stereographic grid means towards the Bering Sea rather than towards the North Pole.
Instances
| Show e => Show (PolarStereographic e) Source # | |
Defined in Geodetics.PolarStereographic Methods showsPrec :: Int -> PolarStereographic e -> ShowS # show :: PolarStereographic e -> String # showList :: [PolarStereographic e] -> ShowS # | |
| Eq e => Eq (PolarStereographic e) Source # | |
Defined in Geodetics.PolarStereographic Methods (==) :: PolarStereographic e -> PolarStereographic e -> Bool # (/=) :: PolarStereographic e -> PolarStereographic e -> Bool # | |
| Ellipsoid e => GridClass (PolarStereographic e) e Source # | |
Defined in Geodetics.PolarStereographic Methods fromGrid :: GridPoint (PolarStereographic e) -> Geodetic e Source # toGrid :: PolarStereographic e -> Geodetic e -> GridPoint (PolarStereographic e) Source # gridEllipsoid :: PolarStereographic e -> e Source # | |
mkGridPolarStereographic Source #
Arguments
| :: Ellipsoid e | |
| => Pole | True origin at north or south pole. |
| -> e | The ellipsoid used for the projection. |
| -> GridOffset | Vector from true origin to the false origin. |
| -> Double | Scale factor. |
| -> PolarStereographic e |
type UpsGrid = PolarStereographic WGS84 Source #
The Universal Polar Stereographic (UPS) grids for north and south poles.
fromUpsGridReference :: Pole -> String -> Either [String] (GridPoint UpsGrid) Source #
Convert a grid reference into a UPS grid location.
There doesn't appear to be any conventional representation for polar grid references, so this is an attempt to cover as many bases as possible. It takes an Easting followed by a Northing with spaces in between. Both can have optional units of m or km, and be optionally followed by an "N" or "E" as appropriate.
The choice of pole is provided in an extra argument rather than within the string because humans will normally assume this from the context and so not provide it.
If the string cannot be parsed then one or more error messages are returned.