astro-0.4.3.0: Amateur astronomical computations
CopyrightAlexander Ignatyev 2016
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Astro.Types

Description

Common Types are usfull across all subsystems like Time and Coordinate.

Examples

Decimal hours and Decimal degrees

import Data.Astro.Types

-- 10h 15m 19.7s
dh :: DecimalHours
dh = fromHMS 10 15 19.7
-- DH 10.255472222222222

(h, m, s) = toHMS dh
-- (10,15,19.699999999999562)


-- 51°28′40″
dd :: DecimalDegrees
dd = fromDMS 51 28 40
-- DD 51.477777777777774

(d, m, s) = toDMS dd
-- (51,28,39.999999999987494)

Geographic Coordinates

import Data.Astro.Types

-- the Royal Observatory, Greenwich
ro :: GeographicCoordinates
ro = GeoC (fromDMS 51 28 40) (-(fromDMS 0 0 5))
-- GeoC {geoLatitude = DD 51.4778, geoLongitude = DD (-0.0014)}
Synopsis

Documentation

newtype DecimalDegrees Source #

Constructors

DD Double 

Instances

Instances details
Eq DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

Fractional DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

Num DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

Ord DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

Real DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

RealFrac DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

Show DecimalDegrees Source # 
Instance details

Defined in Data.Astro.Types

newtype DecimalHours Source #

Constructors

DH Double 

Instances

Instances details
Eq DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

Fractional DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

Num DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

Ord DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

Real DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

RealFrac DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

Show DecimalHours Source # 
Instance details

Defined in Data.Astro.Types

newtype AstronomicalUnits Source #

Astronomical Units, 1AU = 1.4960×1011 m (originally, the average distance of Earth's aphelion and perihelion).

Constructors

AU Double 

Instances

Instances details
Eq AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

Fractional AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

Num AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

Ord AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

Real AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

RealFrac AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

Show AstronomicalUnits Source # 
Instance details

Defined in Data.Astro.Types

lightTravelTime :: AstronomicalUnits -> DecimalHours Source #

Light travel time of the distance in Astronomical Units

kmToAU :: Double -> AstronomicalUnits Source #

Convert from kilometers to Astronomical Units

auToKM :: AstronomicalUnits -> Double Source #

Comvert from Astronomical Units to kilometers

toDecimalHours :: DecimalDegrees -> DecimalHours Source #

Convert decimal degrees to decimal hours

fromDecimalHours :: DecimalHours -> DecimalDegrees Source #

Convert decimal hours to decimal degrees

toRadians :: DecimalDegrees -> Double Source #

Convert from DecimalDegrees to Radians

fromRadians :: Double -> DecimalDegrees Source #

Convert from Radians to DecimalDegrees

fromDMS :: RealFrac a => Int -> Int -> a -> DecimalDegrees Source #

Convert Degrees, Minutes, Seconds to DecimalDegrees

toDMS :: (Integral a, Integral b) => DecimalDegrees -> (a, b, Double) Source #

Convert DecimalDegrees to Degrees, Minutes, Seconds

fromHMS :: RealFrac a => Int -> Int -> a -> DecimalHours Source #

Comvert Hours, Minutes, Seconds to DecimalHours

toHMS :: (Integral a, Integral b) => DecimalHours -> (a, b, Double) Source #

Convert DecimalDegrees to Degrees, Minutes, Seconds