-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Parse GPX files
--
-- Parse GPS Exchange (GPX) files using HXT into data structures.
@package GPX
@version 0.5
module Data.Geo.GPX.Accessor.Accessor
using :: (a -> d) -> (c -> a -> b) -> (d -> c) -> a -> b
module Data.Geo.GPX.Accessor.Latlon
class Latlon a
latlon :: Latlon a => a -> (Double, Double)
setLatlon :: Latlon a => (Double, Double) -> a -> a
usingLatlon :: Latlon a => ((Double, Double) -> (Double, Double)) -> a -> a
module Data.Geo.GPX.Accessor.Number
class Number a
number :: Number a => a -> Maybe Int
setNumber :: Number a => Maybe Int -> a -> a
setNumber' :: Number a => Int -> a -> a
usingNumber :: Number a => (Maybe Int -> Maybe Int) -> a -> a
usingNumber' :: Number a => (Int -> Int) -> a -> a
module Data.Geo.GPX.Accessor.Ageofdgpsdata
class Ageofdgpsdata a
ageofdgpsdata :: Ageofdgpsdata a => a -> Maybe Double
setAgeofdgpsdata :: Ageofdgpsdata a => Maybe Double -> a -> a
setAgeofdgpsdata' :: Ageofdgpsdata a => Double -> a -> a
usingAgeofdgpsdata :: Ageofdgpsdata a => (Maybe Double -> Maybe Double) -> a -> a
usingAgeofdgpsdata' :: Ageofdgpsdata a => (Double -> Double) -> a -> a
module Data.Geo.GPX.Accessor.Pdop
class Pdop a
pdop :: Pdop a => a -> Maybe Double
setPdop :: Pdop a => Maybe Double -> a -> a
setPdop' :: Pdop a => Double -> a -> a
usingPdop :: Pdop a => (Maybe Double -> Maybe Double) -> a -> a
usingPdop' :: Pdop a => (Double -> Double) -> a -> a
module Data.Geo.GPX.Accessor.Vdop
class Vdop a
vdop :: Vdop a => a -> Maybe Double
setVdop :: Vdop a => Maybe Double -> a -> a
setVdop' :: Vdop a => Double -> a -> a
usingVdop :: Vdop a => (Maybe Double -> Maybe Double) -> a -> a
usingVdop' :: Vdop a => (Double -> Double) -> a -> a
module Data.Geo.GPX.Accessor.Hdop
class Hdop a
hdop :: Hdop a => a -> Maybe Double
setHdop :: Hdop a => Maybe Double -> a -> a
setHdop' :: Hdop a => Double -> a -> a
usingHdop :: Hdop a => (Maybe Double -> Maybe Double) -> a -> a
usingHdop' :: Hdop a => (Double -> Double) -> a -> a
module Data.Geo.GPX.Accessor.Sat
class Sat a
sat :: Sat a => a -> Maybe Int
setSat :: Sat a => Maybe Int -> a -> a
setSat' :: Sat a => Int -> a -> a
usingSat :: Sat a => (Maybe Int -> Maybe Int) -> a -> a
usingSat' :: Sat a => (Int -> Int) -> a -> a
module Data.Geo.GPX.Accessor.Sym
class Sym a
sym :: Sym a => a -> Maybe String
setSym :: Sym a => Maybe String -> a -> a
setSym' :: Sym a => String -> a -> a
usingSym :: Sym a => (Maybe String -> Maybe String) -> a -> a
usingSym' :: Sym a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Src
class Src a
src :: Src a => a -> Maybe String
setSrc :: Src a => Maybe String -> a -> a
setSrc' :: Src a => String -> a -> a
usingSrc :: Src a => (Maybe String -> Maybe String) -> a -> a
usingSrc' :: Src a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Cmt
class Cmt a
cmt :: Cmt a => a -> Maybe String
setCmt :: Cmt a => Maybe String -> a -> a
setCmt' :: Cmt a => String -> a -> a
usingCmt :: Cmt a => (Maybe String -> Maybe String) -> a -> a
usingCmt' :: Cmt a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Geoidheight
class Geoidheight a
geoidheight :: Geoidheight a => a -> Maybe Double
setGeoidheight :: Geoidheight a => Maybe Double -> a -> a
setGeoidheight' :: Geoidheight a => Double -> a -> a
usingGeoidheight :: Geoidheight a => (Maybe Double -> Maybe Double) -> a -> a
usingGeoidheight' :: Geoidheight a => (Double -> Double) -> a -> a
module Data.Geo.GPX.Accessor.Ele
class Ele a
ele :: Ele a => a -> Maybe Double
setEle :: Ele a => Maybe Double -> a -> a
setEle' :: Ele a => Double -> a -> a
usingEle :: Ele a => (Maybe Double -> Maybe Double) -> a -> a
usingEle' :: Ele a => (Double -> Double) -> a -> a
module Data.Geo.GPX.Accessor.Keywords
class Keywords a
keywords :: Keywords a => a -> Maybe String
setKeywords :: Keywords a => Maybe String -> a -> a
setKeywords' :: Keywords a => String -> a -> a
usingKeywords :: Keywords a => (Maybe String -> Maybe String) -> a -> a
usingKeywords' :: Keywords a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Time
class Time a
time :: Time a => a -> Maybe DateTime
setTime :: Time a => Maybe DateTime -> a -> a
setTime' :: Time a => DateTime -> a -> a
usingTime :: Time a => (Maybe DateTime -> Maybe DateTime) -> a -> a
usingTime' :: Time a => (DateTime -> DateTime) -> a -> a
module Data.Geo.GPX.Accessor.Desc
class Desc a
desc :: Desc a => a -> Maybe String
setDesc :: Desc a => Maybe String -> a -> a
setDesc' :: Desc a => String -> a -> a
usingDesc :: Desc a => (Maybe String -> Maybe String) -> a -> a
usingDesc' :: Desc a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Name
class Name a
name :: Name a => a -> Maybe String
setName :: Name a => Maybe String -> a -> a
setName' :: Name a => String -> a -> a
usingName :: Name a => (Maybe String -> Maybe String) -> a -> a
usingName' :: Name a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Type
class Type a
type' :: Type a => a -> Maybe String
setType :: Type a => Maybe String -> a -> a
setType' :: Type a => String -> a -> a
usingType :: Type a => (Maybe String -> Maybe String) -> a -> a
usingType' :: Type a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Text
class Text a
text :: Text a => a -> Maybe String
setText :: Text a => Maybe String -> a -> a
setText' :: Text a => String -> a -> a
usingText :: Text a => (Maybe String -> Maybe String) -> a -> a
usingText' :: Text a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Href
class Href a
href :: Href a => a -> String
setHref :: Href a => String -> a -> a
usingHref :: Href a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Creator
class Creator a
creator :: Creator a => a -> String
setCreator :: Creator a => String -> a -> a
usingCreator :: Creator a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Version
class Version a
version :: Version a => a -> String
setVersion :: Version a => String -> a -> a
usingVersion :: Version a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Domain
class Domain a
domain :: Domain a => a -> String
setDomain :: Domain a => String -> a -> a
usingDomain :: Domain a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Id
class Id a
id :: Id a => a -> String
setId :: Id a => String -> a -> a
usingId :: Id a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Value
class Value a b | a -> b
value :: Value a b => a -> b
setValue :: Value a b => b -> a -> a
usingValue :: Value a b => (b -> b) -> a -> a
module Data.Geo.GPX.Accessor.License
class License a
license :: License a => a -> Maybe String
setLicense :: License a => Maybe String -> a -> a
setLicense' :: License a => String -> a -> a
usingLicense :: License a => (Maybe String -> Maybe String) -> a -> a
usingLicense' :: License a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Year
class Year a
year :: Year a => a -> Maybe String
setYear :: Year a => Maybe String -> a -> a
setYear' :: Year a => String -> a -> a
usingYear :: Year a => (Maybe String -> Maybe String) -> a -> a
usingYear' :: Year a => (String -> String) -> a -> a
module Data.Geo.GPX.Accessor.Author
class Author a b | a -> b
author :: Author a b => a -> b
setAuthor :: Author a b => b -> a -> a
usingAuthor :: Author a b => (b -> b) -> a -> a
-- | Complex Type: copyrightType
-- http://www.topografix.com/GPX/1/1/#type_copyrightType
module Data.Geo.GPX.CopyrightType
data CopyrightType
copyrightType :: String -> Maybe String -> Maybe String -> CopyrightType
instance Eq CopyrightType
instance Show CopyrightType
instance License CopyrightType
instance Year CopyrightType
instance Author CopyrightType String
instance XmlPickler CopyrightType
module Data.Geo.GPX.Accessor.Copyright
class Copyright a
copyright :: Copyright a => a -> Maybe CopyrightType
setCopyright :: Copyright a => Maybe CopyrightType -> a -> a
setCopyright' :: Copyright a => CopyrightType -> a -> a
usingCopyright :: Copyright a => (Maybe CopyrightType -> Maybe CopyrightType) -> a -> a
usingCopyright' :: Copyright a => (CopyrightType -> CopyrightType) -> a -> a
-- | Complex Type: linkType
-- http://www.topografix.com/GPX/1/1/#type_linkType
module Data.Geo.GPX.LinkType
data LinkType
linkType :: String -> Maybe String -> Maybe String -> LinkType
instance Eq LinkType
instance Show LinkType
instance XmlPickler LinkType
module Data.Geo.GPX.Accessor.Links
class Links a
links :: Links a => a -> [LinkType]
setLinks :: Links a => [LinkType] -> a -> a
setLinks' :: Links a => LinkType -> a -> a
usingLinks :: Links a => ([LinkType] -> [LinkType]) -> a -> a
usingLinks' :: Links a => (LinkType -> LinkType) -> a -> a
module Data.Geo.GPX.Accessor.Link
class Link a
link :: Link a => a -> Maybe LinkType
setLink :: Link a => Maybe LinkType -> a -> a
setLink' :: Link a => LinkType -> a -> a
usingLink :: Link a => (Maybe LinkType -> Maybe LinkType) -> a -> a
usingLink' :: Link a => (LinkType -> LinkType) -> a -> a
-- | Complex Type: emailType
-- http://www.topografix.com/GPX/1/1/#type_emailType
module Data.Geo.GPX.EmailType
data EmailType
emailType :: String -> String -> EmailType
instance Eq EmailType
instance Show EmailType
instance Domain EmailType
instance Id EmailType
instance XmlPickler EmailType
module Data.Geo.GPX.Accessor.Email
class Email a
email :: Email a => a -> Maybe EmailType
setEmail :: Email a => Maybe EmailType -> a -> a
setEmail' :: Email a => EmailType -> a -> a
usingEmail :: Email a => (Maybe EmailType -> Maybe EmailType) -> a -> a
usingEmail' :: Email a => (EmailType -> EmailType) -> a -> a
-- | Complex Type: personType
-- http://www.topografix.com/GPX/1/1/#type_personType
module Data.Geo.GPX.PersonType
data PersonType
personType :: Maybe String -> Maybe EmailType -> Maybe LinkType -> PersonType
instance Eq PersonType
instance Show PersonType
instance Link PersonType
instance Email PersonType
instance Name PersonType
instance XmlPickler PersonType
-- | Complex Type: extensionsType
-- http://www.topografix.com/GPX/1/1/#type_extensionsType
module Data.Geo.GPX.ExtensionsType
data ExtensionsType
extensionsType :: XmlTree -> ExtensionsType
instance Eq ExtensionsType
instance Show ExtensionsType
instance Value ExtensionsType XmlTree
instance XmlPickler ExtensionsType
module Data.Geo.GPX.Accessor.Extensions
class Extensions a
extensions :: Extensions a => a -> Maybe ExtensionsType
setExtensions :: Extensions a => Maybe ExtensionsType -> a -> a
setExtensions' :: Extensions a => ExtensionsType -> a -> a
usingExtensions :: Extensions a => (Maybe ExtensionsType -> Maybe ExtensionsType) -> a -> a
usingExtensions' :: Extensions a => (ExtensionsType -> ExtensionsType) -> a -> a
-- | Simple Type: latitudeType
-- http://www.topografix.com/GPX/1/1/#type_latitudeType
module Data.Geo.GPX.LatitudeType
data LatitudeType
latitudeType :: Double -> LatitudeType
instance Eq LatitudeType
instance Ord LatitudeType
instance Enum LatitudeType
instance Num LatitudeType
instance Fractional LatitudeType
instance Floating LatitudeType
instance Real LatitudeType
instance RealFrac LatitudeType
instance RealFloat LatitudeType
instance Value LatitudeType Double
instance Show LatitudeType
instance XmlPickler LatitudeType
module Data.Geo.GPX.Accessor.Minlat
class Minlat a
minlat :: Minlat a => a -> LatitudeType
setMinlat :: Minlat a => LatitudeType -> a -> a
usingMinlat :: Minlat a => (LatitudeType -> LatitudeType) -> a -> a
module Data.Geo.GPX.Accessor.Maxlat
class Maxlat a
maxlat :: Maxlat a => a -> LatitudeType
setMaxlat :: Maxlat a => LatitudeType -> a -> a
usingMaxlat :: Maxlat a => (LatitudeType -> LatitudeType) -> a -> a
module Data.Geo.GPX.Accessor.Lat
class Lat a
lat :: Lat a => a -> LatitudeType
setLat :: Lat a => LatitudeType -> a -> a
usingLat :: Lat a => (LatitudeType -> LatitudeType) -> a -> a
-- | Simple Type: latitudeType
-- http://www.topografix.com/GPX/1/1/#type_latitudeType
module Data.Geo.GPX.LongitudeType
data LongitudeType
longitudeType :: Double -> LongitudeType
instance Eq LongitudeType
instance Ord LongitudeType
instance Enum LongitudeType
instance Num LongitudeType
instance Fractional LongitudeType
instance Floating LongitudeType
instance Real LongitudeType
instance RealFrac LongitudeType
instance RealFloat LongitudeType
instance Value LongitudeType Double
instance Show LongitudeType
instance XmlPickler LongitudeType
module Data.Geo.GPX.Accessor.Minlon
class Minlon a
minlon :: Minlon a => a -> LongitudeType
setMinlon :: Minlon a => LongitudeType -> a -> a
usingMinlon :: Minlon a => (LongitudeType -> LongitudeType) -> a -> a
module Data.Geo.GPX.Accessor.Maxlon
class Maxlon a
maxlon :: Maxlon a => a -> LongitudeType
setMaxlon :: Maxlon a => LongitudeType -> a -> a
usingMaxlon :: Maxlon a => (LongitudeType -> LongitudeType) -> a -> a
-- | Complex Type: boundsType
-- http://www.topografix.com/GPX/1/1/#type_boundsType
module Data.Geo.GPX.BoundsType
data BoundsType
boundsType :: (LatitudeType, LongitudeType) -> (LatitudeType, LongitudeType) -> BoundsType
instance Show BoundsType
instance Eq BoundsType
instance Maxlon BoundsType
instance Minlon BoundsType
instance Maxlat BoundsType
instance Minlat BoundsType
instance XmlPickler BoundsType
module Data.Geo.GPX.Accessor.Bounds
class Bounds a
bounds :: Bounds a => a -> Maybe BoundsType
setBounds :: Bounds a => Maybe BoundsType -> a -> a
setBounds' :: Bounds a => BoundsType -> a -> a
usingBounds :: Bounds a => (Maybe BoundsType -> Maybe BoundsType) -> a -> a
usingBounds' :: Bounds a => (BoundsType -> BoundsType) -> a -> a
-- | Complex Type: metadataType
-- http://www.topografix.com/GPX/1/1/#type_metadataType
module Data.Geo.GPX.MetadataType
data MetadataType
metadataType :: Maybe String -> Maybe String -> Maybe PersonType -> Maybe CopyrightType -> [LinkType] -> Maybe DateTime -> Maybe String -> Maybe BoundsType -> Maybe ExtensionsType -> MetadataType
instance Eq MetadataType
instance Show MetadataType
instance Extensions MetadataType
instance Bounds MetadataType
instance Keywords MetadataType
instance Time MetadataType
instance Links MetadataType
instance Copyright MetadataType
instance Author MetadataType (Maybe PersonType)
instance Desc MetadataType
instance Name MetadataType
instance XmlPickler MetadataType
module Data.Geo.GPX.Accessor.Metadata
class Metadata a
metadata :: Metadata a => a -> Maybe MetadataType
setMetadata :: Metadata a => Maybe MetadataType -> a -> a
setMetadata' :: Metadata a => MetadataType -> a -> a
usingMetadata :: Metadata a => (Maybe MetadataType -> Maybe MetadataType) -> a -> a
usingMetadata' :: Metadata a => (MetadataType -> MetadataType) -> a -> a
module Data.Geo.GPX.Accessor.Lon
class Lon a
lon :: Lon a => a -> LongitudeType
setLon :: Lon a => LongitudeType -> a -> a
usingLon :: Lon a => (LongitudeType -> LongitudeType) -> a -> a
-- | Complex Type: ptType
-- http://www.topografix.com/GPX/1/1/#type_ptType
module Data.Geo.GPX.PtType
data PtType
ptType :: LatitudeType -> LongitudeType -> Maybe Double -> Maybe DateTime -> PtType
instance Eq PtType
instance Show PtType
instance Time PtType
instance Ele PtType
instance Lon PtType
instance Lat PtType
instance XmlPickler PtType
module Data.Geo.GPX.Accessor.Pts
class Pts a
pts :: Pts a => a -> [PtType]
setPts :: Pts a => [PtType] -> a -> a
setPts' :: Pts a => PtType -> a -> a
usingPts :: Pts a => ([PtType] -> [PtType]) -> a -> a
usingPts' :: Pts a => (PtType -> PtType) -> a -> a
-- | Complex Type: ptsegType
-- http://www.topografix.com/GPX/1/1/#type_ptsegType
module Data.Geo.GPX.PtsegType
data PtsegType
ptsegType :: [PtType] -> PtsegType
instance Eq PtsegType
instance Show PtsegType
instance Pts PtsegType
instance XmlPickler PtsegType
-- | Simple Type: degreesType
-- http://www.topografix.com/GPX/1/1/#type_degreesType
module Data.Geo.GPX.DegreesType
data DegreesType
degreesType :: Double -> DegreesType
instance Eq DegreesType
instance Show DegreesType
instance Value DegreesType Double
instance XmlPickler DegreesType
module Data.Geo.GPX.Accessor.Magvar
class Magvar a
magvar :: Magvar a => a -> Maybe DegreesType
setMagvar :: Magvar a => Maybe DegreesType -> a -> a
setMagvar' :: Magvar a => DegreesType -> a -> a
usingMagvar :: Magvar a => (Maybe DegreesType -> Maybe DegreesType) -> a -> a
usingMagvar' :: Magvar a => (DegreesType -> DegreesType) -> a -> a
-- | Simple Type: fixType
-- http://www.topografix.com/GPX/1/1/#type_fixType
module Data.Geo.GPX.FixType
data FixType
-- | The catamorphism for FixType.
foldFixType :: a -> a -> a -> a -> a -> FixType -> a
-- | Construct a FixType with a value of none.
none :: FixType
-- | Construct a FixType with a value of 2d.
twod :: FixType
-- | Construct a FixType with a value of 3d.
threed :: FixType
-- | Construct a FixType with a value of dgps.
dgps :: FixType
-- | Construct a FixType with a value of pps.
pps :: FixType
-- | Construct a FixType using a string with a value of
-- [none, 2d, 3d, dgps, pps].
fixType :: String -> Maybe FixType
instance Eq FixType
instance Enum FixType
instance Show FixType
instance XmlPickler FixType
module Data.Geo.GPX.Accessor.Fix
class Fix a
fix :: Fix a => a -> Maybe FixType
setFix :: Fix a => Maybe FixType -> a -> a
setFix' :: Fix a => FixType -> a -> a
usingFix :: Fix a => (Maybe FixType -> Maybe FixType) -> a -> a
usingFix' :: Fix a => (FixType -> FixType) -> a -> a
-- | Simple Type: dgpsStationType
-- http://www.topografix.com/GPX/1/1/#type_dgpsStationType
module Data.Geo.GPX.DgpsStationType
data DgpsStationType
dgpsStationType :: Int -> Maybe DgpsStationType
instance Eq DgpsStationType
instance Value DgpsStationType Int
instance XmlPickler DgpsStationType
instance Show DgpsStationType
module Data.Geo.GPX.Accessor.Dgpsid
class Dgpsid a
dgpsid :: Dgpsid a => a -> Maybe DgpsStationType
setDgpsid :: Dgpsid a => Maybe DgpsStationType -> a -> a
setDgpsid' :: Dgpsid a => DgpsStationType -> a -> a
usingDgpsid :: Dgpsid a => (Maybe DgpsStationType -> Maybe DgpsStationType) -> a -> a
usingDgpsid' :: Dgpsid a => (DgpsStationType -> DgpsStationType) -> a -> a
-- | Complex Type: wptType
-- http://www.topografix.com/GPX/1/1/#type_wptType
module Data.Geo.GPX.WptType
data WptType
wptType :: LatitudeType -> LongitudeType -> Maybe Double -> Maybe DateTime -> Maybe DegreesType -> Maybe Double -> Maybe String -> Maybe String -> Maybe String -> Maybe String -> [LinkType] -> Maybe String -> Maybe String -> Maybe FixType -> Maybe Int -> Maybe Double -> Maybe Double -> Maybe Double -> Maybe Double -> Maybe DgpsStationType -> Maybe ExtensionsType -> WptType
-- | A waypoint with only a latitude and longitude.
wptType' :: LatitudeType -> LongitudeType -> WptType
instance Eq WptType
instance Show WptType
instance Latlon WptType
instance Extensions WptType
instance Dgpsid WptType
instance Ageofdgpsdata WptType
instance Pdop WptType
instance Vdop WptType
instance Hdop WptType
instance Sat WptType
instance Fix WptType
instance Type WptType
instance Sym WptType
instance Links WptType
instance Src WptType
instance Desc WptType
instance Cmt WptType
instance Name WptType
instance Geoidheight WptType
instance Magvar WptType
instance Time WptType
instance Ele WptType
instance Lon WptType
instance Lat WptType
instance XmlPickler WptType
module Data.Geo.GPX.Accessor.Wpts
class Wpts a
wpts :: Wpts a => a -> [WptType]
setWpts :: Wpts a => [WptType] -> a -> a
setWpts' :: Wpts a => WptType -> a -> a
usingWpts :: Wpts a => ([WptType] -> [WptType]) -> a -> a
usingWpts' :: Wpts a => (WptType -> WptType) -> a -> a
module Data.Geo.GPX.Accessor.Rtepts
class Rtepts a
rtepts :: Rtepts a => a -> [WptType]
setRtepts :: Rtepts a => [WptType] -> a -> a
setRtepts' :: Rtepts a => WptType -> a -> a
usingRtepts :: Rtepts a => ([WptType] -> [WptType]) -> a -> a
usingRtepts' :: Rtepts a => (WptType -> WptType) -> a -> a
-- | Complex Type: rteType
-- http://www.topografix.com/GPX/1/1/#type_rteType
module Data.Geo.GPX.RteType
data RteType
rteType :: Maybe String -> Maybe String -> Maybe String -> Maybe String -> [LinkType] -> Maybe Int -> Maybe String -> Maybe ExtensionsType -> [WptType] -> RteType
instance Eq RteType
instance Show RteType
instance Rtepts RteType
instance Extensions RteType
instance Type RteType
instance Number RteType
instance Links RteType
instance Src RteType
instance Desc RteType
instance Cmt RteType
instance Name RteType
instance XmlPickler RteType
module Data.Geo.GPX.Accessor.Rtes
class Rtes a
rtes :: Rtes a => a -> [RteType]
setRtes :: Rtes a => [RteType] -> a -> a
setRtes' :: Rtes a => RteType -> a -> a
usingRtes :: Rtes a => ([RteType] -> [RteType]) -> a -> a
usingRtes' :: Rtes a => (RteType -> RteType) -> a -> a
module Data.Geo.GPX.Accessor.Trkpts
class Trkpts a
trkpts :: Trkpts a => a -> [WptType]
setTrkpts :: Trkpts a => [WptType] -> a -> a
setTrkpts' :: Trkpts a => WptType -> a -> a
usingTrkpts :: Trkpts a => ([WptType] -> [WptType]) -> a -> a
usingTrkpts' :: Trkpts a => (WptType -> WptType) -> a -> a
-- | Complex Type: trksegType
-- http://www.topografix.com/GPX/1/1/#type_trksegType
module Data.Geo.GPX.TrksegType
data TrksegType
trksegType :: [WptType] -> Maybe ExtensionsType -> TrksegType
instance Eq TrksegType
instance Show TrksegType
instance Extensions TrksegType
instance Trkpts TrksegType
instance XmlPickler TrksegType
module Data.Geo.GPX.Accessor.Trksegs
class Trksegs a
trksegs :: Trksegs a => a -> [TrksegType]
setTrksegs :: Trksegs a => [TrksegType] -> a -> a
setTrksegs' :: Trksegs a => TrksegType -> a -> a
usingTrksegs :: Trksegs a => ([TrksegType] -> [TrksegType]) -> a -> a
usingTrksegs' :: Trksegs a => (TrksegType -> TrksegType) -> a -> a
-- | Complex Type: trkType
-- http://www.topografix.com/GPX/1/1/#type_trkType
module Data.Geo.GPX.TrkType
data TrkType
trkType :: Maybe String -> Maybe String -> Maybe String -> Maybe String -> [LinkType] -> Maybe Int -> Maybe String -> Maybe ExtensionsType -> [TrksegType] -> TrkType
instance Eq TrkType
instance Show TrkType
instance Trkpts TrkType
instance Trksegs TrkType
instance Extensions TrkType
instance Type TrkType
instance Number TrkType
instance Links TrkType
instance Src TrkType
instance Desc TrkType
instance Cmt TrkType
instance Name TrkType
instance XmlPickler TrkType
module Data.Geo.GPX.Accessor.Trks
class Trks a
trks :: Trks a => a -> [TrkType]
setTrks :: Trks a => [TrkType] -> a -> a
setTrks' :: Trks a => TrkType -> a -> a
usingTrks :: Trks a => ([TrkType] -> [TrkType]) -> a -> a
usingTrks' :: Trks a => (TrkType -> TrkType) -> a -> a
-- | Utility functions for removing elements of GPX files.
module Data.Geo.GPX.Util.Remove
-- | Removes all waypoints (wpt) elements from the given value.
removeWpts :: Wpts a => a -> a
-- | Removes all tracks (trk) elements from the given value.
removeTrks :: Trks a => a -> a
-- | Removes all routes (rte) elements from the given value.
removeRtes :: Rtes a => a -> a
-- | Removes the metadata element from the given value.
removeMetadata :: Metadata a => a -> a
-- | Removes the extensions element from the given value.
removeExtensions :: Extensions a => a -> a
-- | Complex Type: gpxType
-- http://www.topografix.com/GPX/1/1/#type_gpxType
module Data.Geo.GPX.GpxType
data GpxType
gpxType :: String -> String -> Maybe MetadataType -> [WptType] -> [RteType] -> [TrkType] -> Maybe ExtensionsType -> GpxType
instance Eq GpxType
instance Show GpxType
instance Trkpts GpxType
instance Rtepts GpxType
instance Bounds GpxType
instance Keywords GpxType
instance Time GpxType
instance Links GpxType
instance Copyright GpxType
instance Author GpxType (Maybe PersonType)
instance Desc GpxType
instance Name GpxType
instance Extensions GpxType
instance Trks GpxType
instance Rtes GpxType
instance Wpts GpxType
instance Metadata GpxType
instance Creator GpxType
instance Version GpxType
instance XmlPickler GpxType
-- | Element: gpx
-- http://www.topografix.com/GPX/1/1/#element_gpx
module Data.Geo.GPX.Gpx
data Gpx
gpx :: GpxType -> Gpx
-- | Reads a GPX file into a list of Gpx values removing
-- whitespace.
readGpxFile :: FilePath -> IO [Gpx]
-- | Reads 0 or more GPX files into a list of Gpx values removing
-- whitespace.
readGpxFiles :: [FilePath] -> IO [Gpx]
-- | Reads a GPX file removing whitespace, executes the given function on
-- the XML, then writes the given file with indentation.
interactGpxIO :: FilePath -> (Gpx -> IO Gpx) -> FilePath -> IO ()
-- | Reads a GPX file removing whitespace, executes the given functions on
-- the XML, then writes the given file with indentation.
interactsGpxIO :: FilePath -> [Gpx -> IO Gpx] -> FilePath -> IO ()
-- | Reads a GPX file, executes the given function on the XML, then writes
-- the given file.
interactGpxIO' :: SysConfigList -> FilePath -> (Gpx -> IO Gpx) -> SysConfigList -> FilePath -> IO ()
-- | Reads a GPX file, executes the given functions on the XML, then writes
-- the given file.
interactsGpxIO' :: SysConfigList -> FilePath -> [Gpx -> IO Gpx] -> SysConfigList -> FilePath -> IO ()
-- | Reads a GPX file removing whitespace, executes the given function on
-- the XML, then writes the given file with indentation.
interactGpx :: FilePath -> (Gpx -> Gpx) -> FilePath -> IO ()
-- | Reads a GPX file removing whitespace, executes the given functions on
-- the XML, then writes the given file with indentation.
interactsGpx :: FilePath -> [Gpx -> Gpx] -> FilePath -> IO ()
-- | Reads a GPX file, executes the given function on the XML, then writes
-- the given file.
interactGpx' :: SysConfigList -> FilePath -> (Gpx -> Gpx) -> SysConfigList -> FilePath -> IO ()
-- | Reads a GPX file, executes the given functions on the XML, then writes
-- the given file.
interactsGpx' :: SysConfigList -> FilePath -> [Gpx -> Gpx] -> SysConfigList -> FilePath -> IO ()
instance Eq Gpx
instance Version Gpx
instance Creator Gpx
instance Metadata Gpx
instance Wpts Gpx
instance Rtes Gpx
instance Trks Gpx
instance Extensions Gpx
instance Name Gpx
instance Desc Gpx
instance Copyright Gpx
instance Links Gpx
instance Time Gpx
instance Keywords Gpx
instance Bounds Gpx
instance Rtepts Gpx
instance Trkpts Gpx
instance Value Gpx GpxType
instance XmlPickler Gpx
instance Show Gpx
instance Author Gpx (Maybe PersonType)
-- | Reversing element lists of a GPX files.
module Data.Geo.GPX.Util.Reverse
-- | Reverses a list of routes (rte).
reverseRtes :: Rtes a => a -> a
-- | Reverses a list of tracks (trk).
reverseTrks :: Trks a => a -> a
-- | Reverses a list of track segments (trkseg).
reverseTrksegs :: Trksegs a => a -> a
-- | Reverses a list of waypoints (wpt).
reverseWpts :: Wpts a => a -> a
-- | Reverses a list of elements with a time, however, the time is not
-- reversed.
reverseConservingTime :: Time a => [a] -> [a]
-- | GPX 1.1 Schema http://www.topografix.com/GPX/1/1/
module Data.Geo.GPX