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 :: WGS84 -> ModelId
modelId WGS84
_ = String -> ModelId
ModelId String
"WGS84"
surface :: WGS84 -> Ellipsoid
surface WGS84
_ = Ellipsoid
eWGS84
longitudeRange :: WGS84 -> LongitudeRange
longitudeRange WGS84
_ = LongitudeRange
L180
instance Eq WGS84 where
WGS84
_ == :: WGS84 -> WGS84 -> Bool
== WGS84
_ = Bool
True
instance Show WGS84 where
show :: WGS84 -> String
show WGS84
m = ModelId -> String
forall a. Show a => a -> String
show (WGS84 -> ModelId
forall a. Model a => a -> ModelId
modelId WGS84
m)
instance Ellipsoidal WGS84
data GRS80 =
GRS80
instance Model GRS80 where
modelId :: GRS80 -> ModelId
modelId GRS80
_ = String -> ModelId
ModelId String
"GRS80"
surface :: GRS80 -> Ellipsoid
surface GRS80
_ = Ellipsoid
eGRS80
longitudeRange :: GRS80 -> LongitudeRange
longitudeRange GRS80
_ = LongitudeRange
L180
instance Eq GRS80 where
GRS80
_ == :: GRS80 -> GRS80 -> Bool
== GRS80
_ = Bool
True
instance Show GRS80 where
show :: GRS80 -> String
show GRS80
m = ModelId -> String
forall a. Show a => a -> String
show (GRS80 -> ModelId
forall a. Model a => a -> ModelId
modelId GRS80
m)
instance Ellipsoidal GRS80
data WGS72 =
WGS72
instance Model WGS72 where
modelId :: WGS72 -> ModelId
modelId WGS72
_ = String -> ModelId
ModelId String
"WGS72"
surface :: WGS72 -> Ellipsoid
surface WGS72
_ = Ellipsoid
eWGS72
longitudeRange :: WGS72 -> LongitudeRange
longitudeRange WGS72
_ = LongitudeRange
L180
instance Eq WGS72 where
WGS72
_ == :: WGS72 -> WGS72 -> Bool
== WGS72
_ = Bool
True
instance Show WGS72 where
show :: WGS72 -> String
show WGS72
m = ModelId -> String
forall a. Show a => a -> String
show (WGS72 -> ModelId
forall a. Model a => a -> ModelId
modelId WGS72
m)
instance Ellipsoidal WGS72
data ETRS89 =
ETRS89
instance Model ETRS89 where
modelId :: ETRS89 -> ModelId
modelId ETRS89
_ = String -> ModelId
ModelId String
"ETRS89"
surface :: ETRS89 -> Ellipsoid
surface ETRS89
_ = Ellipsoid
eGRS80
longitudeRange :: ETRS89 -> LongitudeRange
longitudeRange ETRS89
_ = LongitudeRange
L180
instance Eq ETRS89 where
ETRS89
_ == :: ETRS89 -> ETRS89 -> Bool
== ETRS89
_ = Bool
True
instance Show ETRS89 where
show :: ETRS89 -> String
show ETRS89
m = ModelId -> String
forall a. Show a => a -> String
show (ETRS89 -> ModelId
forall a. Model a => a -> ModelId
modelId ETRS89
m)
instance Ellipsoidal ETRS89
data NAD83 =
NAD83
instance Model NAD83 where
modelId :: NAD83 -> ModelId
modelId NAD83
_ = String -> ModelId
ModelId String
"NAD83"
surface :: NAD83 -> Ellipsoid
surface NAD83
_ = Ellipsoid
eGRS80
longitudeRange :: NAD83 -> LongitudeRange
longitudeRange NAD83
_ = LongitudeRange
L180
instance Eq NAD83 where
NAD83
_ == :: NAD83 -> NAD83 -> Bool
== NAD83
_ = Bool
True
instance Show NAD83 where
show :: NAD83 -> String
show NAD83
m = ModelId -> String
forall a. Show a => a -> String
show (NAD83 -> ModelId
forall a. Model a => a -> ModelId
modelId NAD83
m)
instance Ellipsoidal NAD83
data ED50 =
ED50
instance Model ED50 where
modelId :: ED50 -> ModelId
modelId ED50
_ = String -> ModelId
ModelId String
"ED50"
surface :: ED50 -> Ellipsoid
surface ED50
_ = Ellipsoid
eIntl1924
longitudeRange :: ED50 -> LongitudeRange
longitudeRange ED50
_ = LongitudeRange
L180
instance Eq ED50 where
ED50
_ == :: ED50 -> ED50 -> Bool
== ED50
_ = Bool
True
instance Show ED50 where
show :: ED50 -> String
show ED50
m = ModelId -> String
forall a. Show a => a -> String
show (ED50 -> ModelId
forall a. Model a => a -> ModelId
modelId ED50
m)
instance Ellipsoidal ED50
data Irl1975 =
Irl1975
instance Model Irl1975 where
modelId :: Irl1975 -> ModelId
modelId Irl1975
_ = String -> ModelId
ModelId String
"Irl1975"
surface :: Irl1975 -> Ellipsoid
surface Irl1975
_ = Ellipsoid
eAiryModified
longitudeRange :: Irl1975 -> LongitudeRange
longitudeRange Irl1975
_ = LongitudeRange
L180
instance Eq Irl1975 where
Irl1975
_ == :: Irl1975 -> Irl1975 -> Bool
== Irl1975
_ = Bool
True
instance Show Irl1975 where
show :: Irl1975 -> String
show Irl1975
m = ModelId -> String
forall a. Show a => a -> String
show (Irl1975 -> ModelId
forall a. Model a => a -> ModelId
modelId Irl1975
m)
instance Ellipsoidal Irl1975
data NAD27 =
NAD27
instance Model NAD27 where
modelId :: NAD27 -> ModelId
modelId NAD27
_ = String -> ModelId
ModelId String
"NAD27"
surface :: NAD27 -> Ellipsoid
surface NAD27
_ = Ellipsoid
eClarke1866
longitudeRange :: NAD27 -> LongitudeRange
longitudeRange NAD27
_ = LongitudeRange
L180
instance Eq NAD27 where
NAD27
_ == :: NAD27 -> NAD27 -> Bool
== NAD27
_ = Bool
True
instance Show NAD27 where
show :: NAD27 -> String
show NAD27
m = ModelId -> String
forall a. Show a => a -> String
show (NAD27 -> ModelId
forall a. Model a => a -> ModelId
modelId NAD27
m)
instance Ellipsoidal NAD27
data NTF =
NTF
instance Model NTF where
modelId :: NTF -> ModelId
modelId NTF
_ = String -> ModelId
ModelId String
"NTF"
surface :: NTF -> Ellipsoid
surface NTF
_ = Ellipsoid
eClarke1880IGN
longitudeRange :: NTF -> LongitudeRange
longitudeRange NTF
_ = LongitudeRange
L180
instance Eq NTF where
NTF
_ == :: NTF -> NTF -> Bool
== NTF
_ = Bool
True
instance Show NTF where
show :: NTF -> String
show NTF
m = ModelId -> String
forall a. Show a => a -> String
show (NTF -> ModelId
forall a. Model a => a -> ModelId
modelId NTF
m)
instance Ellipsoidal NTF
data OSGB36 =
OSGB36
instance Model OSGB36 where
modelId :: OSGB36 -> ModelId
modelId OSGB36
_ = String -> ModelId
ModelId String
"OSGB36"
surface :: OSGB36 -> Ellipsoid
surface OSGB36
_ = Ellipsoid
eAiry1830
longitudeRange :: OSGB36 -> LongitudeRange
longitudeRange OSGB36
_ = LongitudeRange
L180
instance Eq OSGB36 where
OSGB36
_ == :: OSGB36 -> OSGB36 -> Bool
== OSGB36
_ = Bool
True
instance Show OSGB36 where
show :: OSGB36 -> String
show OSGB36
m = ModelId -> String
forall a. Show a => a -> String
show (OSGB36 -> ModelId
forall a. Model a => a -> ModelId
modelId OSGB36
m)
instance Ellipsoidal OSGB36
data Potsdam =
Potsdam
instance Model Potsdam where
modelId :: Potsdam -> ModelId
modelId Potsdam
_ = String -> ModelId
ModelId String
"Potsdam"
surface :: Potsdam -> Ellipsoid
surface Potsdam
_ = Ellipsoid
eBessel1841
longitudeRange :: Potsdam -> LongitudeRange
longitudeRange Potsdam
_ = LongitudeRange
L180
instance Eq Potsdam where
Potsdam
_ == :: Potsdam -> Potsdam -> Bool
== Potsdam
_ = Bool
True
instance Show Potsdam where
show :: Potsdam -> String
show Potsdam
m = ModelId -> String
forall a. Show a => a -> String
show (Potsdam -> ModelId
forall a. Model a => a -> ModelId
modelId Potsdam
m)
instance Ellipsoidal Potsdam
data TokyoJapan =
TokyoJapan
instance Model TokyoJapan where
modelId :: TokyoJapan -> ModelId
modelId TokyoJapan
_ = String -> ModelId
ModelId String
"TokyoJapan"
surface :: TokyoJapan -> Ellipsoid
surface TokyoJapan
_ = Ellipsoid
eBessel1841
longitudeRange :: TokyoJapan -> LongitudeRange
longitudeRange TokyoJapan
_ = LongitudeRange
L180
instance Eq TokyoJapan where
TokyoJapan
_ == :: TokyoJapan -> TokyoJapan -> Bool
== TokyoJapan
_ = Bool
True
instance Show TokyoJapan where
show :: TokyoJapan -> String
show TokyoJapan
m = ModelId -> String
forall a. Show a => a -> String
show (TokyoJapan -> ModelId
forall a. Model a => a -> ModelId
modelId TokyoJapan
m)
instance Ellipsoidal TokyoJapan
data Mars2000 =
Mars2000
instance Model Mars2000 where
modelId :: Mars2000 -> ModelId
modelId Mars2000
_ = String -> ModelId
ModelId String
"Mars2000"
surface :: Mars2000 -> Ellipsoid
surface Mars2000
_ = Ellipsoid
eMars2000
longitudeRange :: Mars2000 -> LongitudeRange
longitudeRange Mars2000
_ = LongitudeRange
L360
instance Eq Mars2000 where
Mars2000
_ == :: Mars2000 -> Mars2000 -> Bool
== Mars2000
_ = Bool
True
instance Show Mars2000 where
show :: Mars2000 -> String
show Mars2000
m = ModelId -> String
forall a. Show a => a -> String
show (Mars2000 -> ModelId
forall a. Model a => a -> ModelId
modelId Mars2000
m)
instance Ellipsoidal Mars2000
data ITRF2014 =
ITRF2014
instance Model ITRF2014 where
modelId :: ITRF2014 -> ModelId
modelId ITRF2014
_ = String -> ModelId
ModelId String
"ITRF2014"
surface :: ITRF2014 -> Ellipsoid
surface ITRF2014
_ = Ellipsoid
eGRS80
longitudeRange :: ITRF2014 -> LongitudeRange
longitudeRange ITRF2014
_ = LongitudeRange
L180
instance Eq ITRF2014 where
ITRF2014
_ == :: ITRF2014 -> ITRF2014 -> Bool
== ITRF2014
_ = Bool
True
instance Show ITRF2014 where
show :: ITRF2014 -> String
show ITRF2014
m = ModelId -> String
forall a. Show a => a -> String
show (ITRF2014 -> ModelId
forall a. Model a => a -> ModelId
modelId ITRF2014
m)
instance Ellipsoidal ITRF2014
instance EllipsoidalT0 ITRF2014 where
epoch :: ITRF2014 -> Epoch
epoch ITRF2014
_ = Double -> Epoch
Epoch Double
2010.0
data ITRF2008 =
ITRF2008
instance Model ITRF2008 where
modelId :: ITRF2008 -> ModelId
modelId ITRF2008
_ = String -> ModelId
ModelId String
"ITRF2008"
surface :: ITRF2008 -> Ellipsoid
surface ITRF2008
_ = Ellipsoid
eGRS80
longitudeRange :: ITRF2008 -> LongitudeRange
longitudeRange ITRF2008
_ = LongitudeRange
L180
instance Eq ITRF2008 where
ITRF2008
_ == :: ITRF2008 -> ITRF2008 -> Bool
== ITRF2008
_ = Bool
True
instance Show ITRF2008 where
show :: ITRF2008 -> String
show ITRF2008
m = ModelId -> String
forall a. Show a => a -> String
show (ITRF2008 -> ModelId
forall a. Model a => a -> ModelId
modelId ITRF2008
m)
instance Ellipsoidal ITRF2008
instance EllipsoidalT0 ITRF2008 where
epoch :: ITRF2008 -> Epoch
epoch ITRF2008
_ = Double -> Epoch
Epoch Double
2005.0
data ITRF2005 =
ITRF2005
instance Model ITRF2005 where
modelId :: ITRF2005 -> ModelId
modelId ITRF2005
_ = String -> ModelId
ModelId String
"ITRF2005"
surface :: ITRF2005 -> Ellipsoid
surface ITRF2005
_ = Ellipsoid
eGRS80
longitudeRange :: ITRF2005 -> LongitudeRange
longitudeRange ITRF2005
_ = LongitudeRange
L180
instance Eq ITRF2005 where
ITRF2005
_ == :: ITRF2005 -> ITRF2005 -> Bool
== ITRF2005
_ = Bool
True
instance Show ITRF2005 where
show :: ITRF2005 -> String
show ITRF2005
m = ModelId -> String
forall a. Show a => a -> String
show (ITRF2005 -> ModelId
forall a. Model a => a -> ModelId
modelId ITRF2005
m)
instance Ellipsoidal ITRF2005
instance EllipsoidalT0 ITRF2005 where
epoch :: ITRF2005 -> Epoch
epoch ITRF2005
_ = Double -> Epoch
Epoch Double
2000.0
data ITRF2000 =
ITRF2000
instance Model ITRF2000 where
modelId :: ITRF2000 -> ModelId
modelId ITRF2000
_ = String -> ModelId
ModelId String
"ITRF2000"
surface :: ITRF2000 -> Ellipsoid
surface ITRF2000
_ = Ellipsoid
eGRS80
longitudeRange :: ITRF2000 -> LongitudeRange
longitudeRange ITRF2000
_ = LongitudeRange
L180
instance Eq ITRF2000 where
ITRF2000
_ == :: ITRF2000 -> ITRF2000 -> Bool
== ITRF2000
_ = Bool
True
instance Show ITRF2000 where
show :: ITRF2000 -> String
show ITRF2000
m = ModelId -> String
forall a. Show a => a -> String
show (ITRF2000 -> ModelId
forall a. Model a => a -> ModelId
modelId ITRF2000
m)
instance Ellipsoidal ITRF2000
instance EllipsoidalT0 ITRF2000 where
epoch :: ITRF2000 -> Epoch
epoch ITRF2000
_ = Double -> Epoch
Epoch Double
1997.0
data ITRF93 =
ITRF93
instance Model ITRF93 where
modelId :: ITRF93 -> ModelId
modelId ITRF93
_ = String -> ModelId
ModelId String
"ITRF93"
surface :: ITRF93 -> Ellipsoid
surface ITRF93
_ = Ellipsoid
eGRS80
longitudeRange :: ITRF93 -> LongitudeRange
longitudeRange ITRF93
_ = LongitudeRange
L180
instance Eq ITRF93 where
ITRF93
_ == :: ITRF93 -> ITRF93 -> Bool
== ITRF93
_ = Bool
True
instance Show ITRF93 where
show :: ITRF93 -> String
show ITRF93
m = ModelId -> String
forall a. Show a => a -> String
show (ITRF93 -> ModelId
forall a. Model a => a -> ModelId
modelId ITRF93
m)
instance Ellipsoidal ITRF93
instance EllipsoidalT0 ITRF93 where
epoch :: ITRF93 -> Epoch
epoch ITRF93
_ = Double -> Epoch
Epoch Double
1988.0
data ITRF91 =
ITRF91
instance Model ITRF91 where
modelId :: ITRF91 -> ModelId
modelId ITRF91
_ = String -> ModelId
ModelId String
"ITRF91"
surface :: ITRF91 -> Ellipsoid
surface ITRF91
_ = Ellipsoid
eGRS80
longitudeRange :: ITRF91 -> LongitudeRange
longitudeRange ITRF91
_ = LongitudeRange
L180
instance Eq ITRF91 where
ITRF91
_ == :: ITRF91 -> ITRF91 -> Bool
== ITRF91
_ = Bool
True
instance Show ITRF91 where
show :: ITRF91 -> String
show ITRF91
m = ModelId -> String
forall a. Show a => a -> String
show (ITRF91 -> ModelId
forall a. Model a => a -> ModelId
modelId ITRF91
m)
instance Ellipsoidal ITRF91
instance EllipsoidalT0 ITRF91 where
epoch :: ITRF91 -> Epoch
epoch ITRF91
_ = Double -> Epoch
Epoch Double
1988.0
data WGS84_G1762 =
WGS84_G1762
instance Model WGS84_G1762 where
modelId :: WGS84_G1762 -> ModelId
modelId WGS84_G1762
_ = String -> ModelId
ModelId String
"WGS84_G1762"
surface :: WGS84_G1762 -> Ellipsoid
surface WGS84_G1762
_ = Ellipsoid
eWGS84
longitudeRange :: WGS84_G1762 -> LongitudeRange
longitudeRange WGS84_G1762
_ = LongitudeRange
L180
instance Eq WGS84_G1762 where
WGS84_G1762
_ == :: WGS84_G1762 -> WGS84_G1762 -> Bool
== WGS84_G1762
_ = Bool
True
instance Show WGS84_G1762 where
show :: WGS84_G1762 -> String
show WGS84_G1762
m = ModelId -> String
forall a. Show a => a -> String
show (WGS84_G1762 -> ModelId
forall a. Model a => a -> ModelId
modelId WGS84_G1762
m)
instance Ellipsoidal WGS84_G1762
instance EllipsoidalT0 WGS84_G1762 where
epoch :: WGS84_G1762 -> Epoch
epoch WGS84_G1762
_ = Double -> Epoch
Epoch Double
2005.0
data WGS84_G1674 =
WGS84_G1674
instance Model WGS84_G1674 where
modelId :: WGS84_G1674 -> ModelId
modelId WGS84_G1674
_ = String -> ModelId
ModelId String
"WGS84_G1674"
surface :: WGS84_G1674 -> Ellipsoid
surface WGS84_G1674
_ = Ellipsoid
eWGS84
longitudeRange :: WGS84_G1674 -> LongitudeRange
longitudeRange WGS84_G1674
_ = LongitudeRange
L180
instance Eq WGS84_G1674 where
WGS84_G1674
_ == :: WGS84_G1674 -> WGS84_G1674 -> Bool
== WGS84_G1674
_ = Bool
True
instance Show WGS84_G1674 where
show :: WGS84_G1674 -> String
show WGS84_G1674
m = ModelId -> String
forall a. Show a => a -> String
show (WGS84_G1674 -> ModelId
forall a. Model a => a -> ModelId
modelId WGS84_G1674
m)
instance Ellipsoidal WGS84_G1674
instance EllipsoidalT0 WGS84_G1674 where
epoch :: WGS84_G1674 -> Epoch
epoch WGS84_G1674
_ = Double -> Epoch
Epoch Double
2005.0
data WGS84_G1150 =
WGS84_G1150
instance Model WGS84_G1150 where
modelId :: WGS84_G1150 -> ModelId
modelId WGS84_G1150
_ = String -> ModelId
ModelId String
"WGS84_G1150"
surface :: WGS84_G1150 -> Ellipsoid
surface WGS84_G1150
_ = Ellipsoid
eWGS84
longitudeRange :: WGS84_G1150 -> LongitudeRange
longitudeRange WGS84_G1150
_ = LongitudeRange
L180
instance Eq WGS84_G1150 where
WGS84_G1150
_ == :: WGS84_G1150 -> WGS84_G1150 -> Bool
== WGS84_G1150
_ = Bool
True
instance Show WGS84_G1150 where
show :: WGS84_G1150 -> String
show WGS84_G1150
m = ModelId -> String
forall a. Show a => a -> String
show (WGS84_G1150 -> ModelId
forall a. Model a => a -> ModelId
modelId WGS84_G1150
m)
instance Ellipsoidal WGS84_G1150
instance EllipsoidalT0 WGS84_G1150 where
epoch :: WGS84_G1150 -> Epoch
epoch WGS84_G1150
_ = Double -> Epoch
Epoch Double
2001.0
data ETRF2000 =
ETRF2000
instance Model ETRF2000 where
modelId :: ETRF2000 -> ModelId
modelId ETRF2000
_ = String -> ModelId
ModelId String
"ETRF2000"
surface :: ETRF2000 -> Ellipsoid
surface ETRF2000
_ = Ellipsoid
eGRS80
longitudeRange :: ETRF2000 -> LongitudeRange
longitudeRange ETRF2000
_ = LongitudeRange
L180
instance Eq ETRF2000 where
ETRF2000
_ == :: ETRF2000 -> ETRF2000 -> Bool
== ETRF2000
_ = Bool
True
instance Show ETRF2000 where
show :: ETRF2000 -> String
show ETRF2000
m = ModelId -> String
forall a. Show a => a -> String
show (ETRF2000 -> ModelId
forall a. Model a => a -> ModelId
modelId ETRF2000
m)
instance Ellipsoidal ETRF2000
instance EllipsoidalT0 ETRF2000 where
epoch :: ETRF2000 -> Epoch
epoch ETRF2000
_ = Double -> Epoch
Epoch Double
2005.0
data NAD83_CORS96 =
NAD83_CORS96
instance Model NAD83_CORS96 where
modelId :: NAD83_CORS96 -> ModelId
modelId NAD83_CORS96
_ = String -> ModelId
ModelId String
"NAD83_CORS96"
surface :: NAD83_CORS96 -> Ellipsoid
surface NAD83_CORS96
_ = Ellipsoid
eGRS80
longitudeRange :: NAD83_CORS96 -> LongitudeRange
longitudeRange NAD83_CORS96
_ = LongitudeRange
L180
instance Eq NAD83_CORS96 where
NAD83_CORS96
_ == :: NAD83_CORS96 -> NAD83_CORS96 -> Bool
== NAD83_CORS96
_ = Bool
True
instance Show NAD83_CORS96 where
show :: NAD83_CORS96 -> String
show NAD83_CORS96
m = ModelId -> String
forall a. Show a => a -> String
show (NAD83_CORS96 -> ModelId
forall a. Model a => a -> ModelId
modelId NAD83_CORS96
m)
instance Ellipsoidal NAD83_CORS96
instance EllipsoidalT0 NAD83_CORS96 where
epoch :: NAD83_CORS96 -> Epoch
epoch NAD83_CORS96
_ = Double -> Epoch
Epoch Double
1997.0
data GDA94 =
GDA94
instance Model GDA94 where
modelId :: GDA94 -> ModelId
modelId GDA94
_ = String -> ModelId
ModelId String
"GDA94"
surface :: GDA94 -> Ellipsoid
surface GDA94
_ = Ellipsoid
eGRS80
longitudeRange :: GDA94 -> LongitudeRange
longitudeRange GDA94
_ = LongitudeRange
L180
instance Eq GDA94 where
GDA94
_ == :: GDA94 -> GDA94 -> Bool
== GDA94
_ = Bool
True
instance Show GDA94 where
show :: GDA94 -> String
show GDA94
m = ModelId -> String
forall a. Show a => a -> String
show (GDA94 -> ModelId
forall a. Model a => a -> ModelId
modelId GDA94
m)
instance Ellipsoidal GDA94
instance EllipsoidalT0 GDA94 where
epoch :: GDA94 -> Epoch
epoch GDA94
_ = Double -> Epoch
Epoch Double
1994.0
data S84 =
S84
instance Model S84 where
modelId :: S84 -> ModelId
modelId S84
_ = String -> ModelId
ModelId String
"S84"
surface :: S84 -> Ellipsoid
surface S84
_ = Ellipsoid -> Ellipsoid
toSphere Ellipsoid
eWGS84
longitudeRange :: S84 -> LongitudeRange
longitudeRange S84
_ = LongitudeRange
L180
instance Eq S84 where
S84
_ == :: S84 -> S84 -> Bool
== S84
_ = Bool
True
instance Show S84 where
show :: S84 -> String
show S84
m = ModelId -> String
forall a. Show a => a -> String
show (S84 -> ModelId
forall a. Model a => a -> ModelId
modelId S84
m)
instance Spherical S84
data SMars2000 =
SMars2000
instance Model SMars2000 where
modelId :: SMars2000 -> ModelId
modelId SMars2000
_ = String -> ModelId
ModelId String
"SMars2000"
surface :: SMars2000 -> Ellipsoid
surface SMars2000
_ = Ellipsoid -> Ellipsoid
toSphere Ellipsoid
eMars2000
longitudeRange :: SMars2000 -> LongitudeRange
longitudeRange SMars2000
_ = LongitudeRange
L360
instance Eq SMars2000 where
SMars2000
_ == :: SMars2000 -> SMars2000 -> Bool
== SMars2000
_ = Bool
True
instance Show SMars2000 where
show :: SMars2000 -> String
show SMars2000
m = ModelId -> String
forall a. Show a => a -> String
show (SMars2000 -> ModelId
forall a. Model a => a -> ModelId
modelId SMars2000
m)
instance Spherical SMars2000
data Moon =
Moon
instance Model Moon where
modelId :: Moon -> ModelId
modelId Moon
_ = String -> ModelId
ModelId String
"Moon"
surface :: Moon -> Ellipsoid
surface Moon
_ = Ellipsoid -> Ellipsoid
toSphere Ellipsoid
eMoon
longitudeRange :: Moon -> LongitudeRange
longitudeRange Moon
_ = LongitudeRange
L180
instance Eq Moon where
Moon
_ == :: Moon -> Moon -> Bool
== Moon
_ = Bool
True
instance Show Moon where
show :: Moon -> String
show Moon
m = ModelId -> String
forall a. Show a => a -> String
show (Moon -> ModelId
forall a. Model a => a -> ModelId
modelId Moon
m)
instance Spherical Moon