module Data.Geo.Jord.Models where
import Data.Geo.Jord.Ellipsoids
import Data.Geo.Jord.Ellipsoid
import Data.Geo.Jord.Model
data WGS84 =
WGS84
instance Model WGS84 where
modelId _ = ModelId "WGS84"
surface _ = eWGS84
longitudeRange _ = L180
instance Eq WGS84 where
_ == _ = True
instance Show WGS84 where
show m = show (modelId m)
instance Ellipsoidal WGS84
data GRS80 =
GRS80
instance Model GRS80 where
modelId _ = ModelId "GRS80"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq GRS80 where
_ == _ = True
instance Show GRS80 where
show m = show (modelId m)
instance Ellipsoidal GRS80
data WGS72 =
WGS72
instance Model WGS72 where
modelId _ = ModelId "WGS72"
surface _ = eWGS72
longitudeRange _ = L180
instance Eq WGS72 where
_ == _ = True
instance Show WGS72 where
show m = show (modelId m)
instance Ellipsoidal WGS72
data ETRS89 =
ETRS89
instance Model ETRS89 where
modelId _ = ModelId "ETRS89"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ETRS89 where
_ == _ = True
instance Show ETRS89 where
show m = show (modelId m)
instance Ellipsoidal ETRS89
data NAD83 =
NAD83
instance Model NAD83 where
modelId _ = ModelId "NAD83"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq NAD83 where
_ == _ = True
instance Show NAD83 where
show m = show (modelId m)
instance Ellipsoidal NAD83
data ED50 =
ED50
instance Model ED50 where
modelId _ = ModelId "ED50"
surface _ = eIntl1924
longitudeRange _ = L180
instance Eq ED50 where
_ == _ = True
instance Show ED50 where
show m = show (modelId m)
instance Ellipsoidal ED50
data Irl1975 =
Irl1975
instance Model Irl1975 where
modelId _ = ModelId "Irl1975"
surface _ = eAiryModified
longitudeRange _ = L180
instance Eq Irl1975 where
_ == _ = True
instance Show Irl1975 where
show m = show (modelId m)
instance Ellipsoidal Irl1975
data NAD27 =
NAD27
instance Model NAD27 where
modelId _ = ModelId "NAD27"
surface _ = eClarke1866
longitudeRange _ = L180
instance Eq NAD27 where
_ == _ = True
instance Show NAD27 where
show m = show (modelId m)
instance Ellipsoidal NAD27
data NTF =
NTF
instance Model NTF where
modelId _ = ModelId "NTF"
surface _ = eClarke1880IGN
longitudeRange _ = L180
instance Eq NTF where
_ == _ = True
instance Show NTF where
show m = show (modelId m)
instance Ellipsoidal NTF
data OSGB36 =
OSGB36
instance Model OSGB36 where
modelId _ = ModelId "OSGB36"
surface _ = eAiry1830
longitudeRange _ = L180
instance Eq OSGB36 where
_ == _ = True
instance Show OSGB36 where
show m = show (modelId m)
instance Ellipsoidal OSGB36
data Potsdam =
Potsdam
instance Model Potsdam where
modelId _ = ModelId "Potsdam"
surface _ = eBessel1841
longitudeRange _ = L180
instance Eq Potsdam where
_ == _ = True
instance Show Potsdam where
show m = show (modelId m)
instance Ellipsoidal Potsdam
data TokyoJapan =
TokyoJapan
instance Model TokyoJapan where
modelId _ = ModelId "TokyoJapan"
surface _ = eBessel1841
longitudeRange _ = L180
instance Eq TokyoJapan where
_ == _ = True
instance Show TokyoJapan where
show m = show (modelId m)
instance Ellipsoidal TokyoJapan
data Mars2000 =
Mars2000
instance Model Mars2000 where
modelId _ = ModelId "Mars2000"
surface _ = eMars2000
longitudeRange _ = L360
instance Eq Mars2000 where
_ == _ = True
instance Show Mars2000 where
show m = show (modelId m)
instance Ellipsoidal Mars2000
data ITRF2014 =
ITRF2014
instance Model ITRF2014 where
modelId _ = ModelId "ITRF2014"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ITRF2014 where
_ == _ = True
instance Show ITRF2014 where
show m = show (modelId m)
instance Ellipsoidal ITRF2014
instance EllipsoidalT0 ITRF2014 where
epoch _ = Epoch 2010.0
data ITRF2008 =
ITRF2008
instance Model ITRF2008 where
modelId _ = ModelId "ITRF2008"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ITRF2008 where
_ == _ = True
instance Show ITRF2008 where
show m = show (modelId m)
instance Ellipsoidal ITRF2008
instance EllipsoidalT0 ITRF2008 where
epoch _ = Epoch 2005.0
data ITRF2005 =
ITRF2005
instance Model ITRF2005 where
modelId _ = ModelId "ITRF2005"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ITRF2005 where
_ == _ = True
instance Show ITRF2005 where
show m = show (modelId m)
instance Ellipsoidal ITRF2005
instance EllipsoidalT0 ITRF2005 where
epoch _ = Epoch 2000.0
data ITRF2000 =
ITRF2000
instance Model ITRF2000 where
modelId _ = ModelId "ITRF2000"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ITRF2000 where
_ == _ = True
instance Show ITRF2000 where
show m = show (modelId m)
instance Ellipsoidal ITRF2000
instance EllipsoidalT0 ITRF2000 where
epoch _ = Epoch 1997.0
data ITRF93 =
ITRF93
instance Model ITRF93 where
modelId _ = ModelId "ITRF93"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ITRF93 where
_ == _ = True
instance Show ITRF93 where
show m = show (modelId m)
instance Ellipsoidal ITRF93
instance EllipsoidalT0 ITRF93 where
epoch _ = Epoch 1988.0
data ITRF91 =
ITRF91
instance Model ITRF91 where
modelId _ = ModelId "ITRF91"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ITRF91 where
_ == _ = True
instance Show ITRF91 where
show m = show (modelId m)
instance Ellipsoidal ITRF91
instance EllipsoidalT0 ITRF91 where
epoch _ = Epoch 1988.0
data WGS84_G1762 =
WGS84_G1762
instance Model WGS84_G1762 where
modelId _ = ModelId "WGS84_G1762"
surface _ = eWGS84
longitudeRange _ = L180
instance Eq WGS84_G1762 where
_ == _ = True
instance Show WGS84_G1762 where
show m = show (modelId m)
instance Ellipsoidal WGS84_G1762
instance EllipsoidalT0 WGS84_G1762 where
epoch _ = Epoch 2005.0
data WGS84_G1674 =
WGS84_G1674
instance Model WGS84_G1674 where
modelId _ = ModelId "WGS84_G1674"
surface _ = eWGS84
longitudeRange _ = L180
instance Eq WGS84_G1674 where
_ == _ = True
instance Show WGS84_G1674 where
show m = show (modelId m)
instance Ellipsoidal WGS84_G1674
instance EllipsoidalT0 WGS84_G1674 where
epoch _ = Epoch 2005.0
data WGS84_G1150 =
WGS84_G1150
instance Model WGS84_G1150 where
modelId _ = ModelId "WGS84_G1150"
surface _ = eWGS84
longitudeRange _ = L180
instance Eq WGS84_G1150 where
_ == _ = True
instance Show WGS84_G1150 where
show m = show (modelId m)
instance Ellipsoidal WGS84_G1150
instance EllipsoidalT0 WGS84_G1150 where
epoch _ = Epoch 2001.0
data ETRF2000 =
ETRF2000
instance Model ETRF2000 where
modelId _ = ModelId "ETRF2000"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq ETRF2000 where
_ == _ = True
instance Show ETRF2000 where
show m = show (modelId m)
instance Ellipsoidal ETRF2000
instance EllipsoidalT0 ETRF2000 where
epoch _ = Epoch 2005.0
data NAD83_CORS96 =
NAD83_CORS96
instance Model NAD83_CORS96 where
modelId _ = ModelId "NAD83_CORS96"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq NAD83_CORS96 where
_ == _ = True
instance Show NAD83_CORS96 where
show m = show (modelId m)
instance Ellipsoidal NAD83_CORS96
instance EllipsoidalT0 NAD83_CORS96 where
epoch _ = Epoch 1997.0
data GDA94 =
GDA94
instance Model GDA94 where
modelId _ = ModelId "GDA94"
surface _ = eGRS80
longitudeRange _ = L180
instance Eq GDA94 where
_ == _ = True
instance Show GDA94 where
show m = show (modelId m)
instance Ellipsoidal GDA94
instance EllipsoidalT0 GDA94 where
epoch _ = Epoch 1994.0
data S84 =
S84
instance Model S84 where
modelId _ = ModelId "S84"
surface _ = toSphere eWGS84
longitudeRange _ = L180
instance Eq S84 where
_ == _ = True
instance Show S84 where
show m = show (modelId m)
instance Spherical S84
data SMars2000 =
SMars2000
instance Model SMars2000 where
modelId _ = ModelId "SMars2000"
surface _ = toSphere eMars2000
longitudeRange _ = L360
instance Eq SMars2000 where
_ == _ = True
instance Show SMars2000 where
show m = show (modelId m)
instance Spherical SMars2000
data Moon =
Moon
instance Model Moon where
modelId _ = ModelId "Moon"
surface _ = toSphere eMoon
longitudeRange _ = L180
instance Eq Moon where
_ == _ = True
instance Show Moon where
show m = show (modelId m)
instance Spherical Moon