-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parse OpenStreetMap files -- -- Parse OpenStreetMap http://osm.org/ files using HXT into data -- structures. The Data.Geo.OSM module is the core module that exports -- all others. @package OSM @version 0.6.3 -- | Values with a changeset optional string accessor. module Data.Geo.OSM.Lens.ChangesetL class ChangesetL a changesetL :: ChangesetL a => Lens a (Maybe String) -- | Values with a role string accessor. module Data.Geo.OSM.Lens.RoleL class RoleL a roleL :: RoleL a => Lens a String -- | Values with a visible boolean accessor. module Data.Geo.OSM.Lens.VisibleL class VisibleL a visibleL :: VisibleL a => Lens a Bool -- | Values with a display_name string accessor. module Data.Geo.OSM.Lens.DisplayNameL class DisplayNameL a displayNameL :: DisplayNameL a => Lens a String -- | Values with a k string accessor. module Data.Geo.OSM.Lens.KL class KL a kL :: KL a => Lens a String -- | Values with a account_created string accessor. module Data.Geo.OSM.Lens.AccountCreatedL class AccountCreatedL a accountCreatedL :: AccountCreatedL a => Lens a String -- | Values with a minimum string accessor. module Data.Geo.OSM.Lens.MinimumL class MinimumL a minimumL :: MinimumL a => Lens a String -- | Values with a v string accessor. module Data.Geo.OSM.Lens.VL class VL a vL :: VL a => Lens a String -- | Values with a uid optional string accessor. module Data.Geo.OSM.Lens.UidL class UidL a uidL :: UidL a => Lens a (Maybe String) -- | Values with a ref string accessor. module Data.Geo.OSM.Lens.RefL class RefL a refL :: RefL a => Lens a String -- | Values with a generator optional string accessor. module Data.Geo.OSM.Lens.GeneratorL class GeneratorL a generatorL :: GeneratorL a => Lens a (Maybe String) -- | Values with a per_page string accessor. module Data.Geo.OSM.Lens.PerPageL class PerPageL a perPageL :: PerPageL a => Lens a String -- | Values with a zoom string accessor. module Data.Geo.OSM.Lens.ZoomL class ZoomL a zoomL :: ZoomL a => Lens a String -- | Values with a timestamp accessor. module Data.Geo.OSM.Lens.TimestampL class TimestampL a b | a -> b timestampL :: TimestampL a b => Lens a b -- | Values with a pending boolean accessor. module Data.Geo.OSM.Lens.PendingL class PendingL a pendingL :: PendingL a => Lens a Bool module Data.Geo.OSM.Lens.PublicL class PublicL a publicL :: PublicL a => Lens a Bool -- | Values with a user accessor. module Data.Geo.OSM.Lens.UserL class UserL a b | a -> b userL :: UserL a b => Lens a b -- | Values with a lon string accessor. module Data.Geo.OSM.Lens.LonL class LonL a lonL :: LonL a => Lens a String -- | Values with a lat string accessor. module Data.Geo.OSM.Lens.LatL class LatL a latL :: LatL a => Lens a String module Data.Geo.OSM.Lens.NameL class NameL a nameL :: NameL a => Lens a String -- | Values with a id string accessor. module Data.Geo.OSM.Lens.IdL class IdL a idL :: IdL a => Lens a String module Data.Geo.OSM.Lens.MaxlonL class MaxlonL a maxlonL :: MaxlonL a => Lens a String -- | Values with a minlon string accessor. module Data.Geo.OSM.Lens.MinlonL class MinlonL a minlonL :: MinlonL a => Lens a String -- | Values with a maxlat string accessor. module Data.Geo.OSM.Lens.MaxlatL class MaxlatL a maxlatL :: MaxlatL a => Lens a String -- | Values with a minlat string accessor. module Data.Geo.OSM.Lens.MinlatL class MinlatL a minlatL :: MinlatL a => Lens a String -- | Values with a origin optional string accessor. module Data.Geo.OSM.Lens.OriginL class OriginL a originL :: OriginL a => Lens a (Maybe String) -- | Values with a box string accessor. module Data.Geo.OSM.Lens.BoxL class BoxL a boxL :: BoxL a => Lens a String -- | Values with a maximum string accessor. module Data.Geo.OSM.Lens.MaximumL class MaximumL a maximumL :: MaximumL a => Lens a String -- | Values with a version accessor. module Data.Geo.OSM.Lens.VersionL class VersionL a b | a -> b versionL :: VersionL a b => Lens a b -- | The waynodes element of a OSM file. module Data.Geo.OSM.Waynodes -- | The waynodes element of a OSM file. data Waynodes -- | Constructs a waynodes with maximum. waynodes :: String -> Waynodes instance Eq Waynodes instance Newtype Waynodes String instance MaximumL Waynodes instance Show Waynodes instance XmlPickler Waynodes -- | Values with a waynodes string accessor. module Data.Geo.OSM.Lens.WaynodesL class WaynodesL a waynodesL :: WaynodesL a => Lens a Waynodes -- | The version element of a OSM file. module Data.Geo.OSM.Version -- | The version element of a OSM file. data Version -- | Constructs a version with minimum and maximum. version :: String -> String -> Version instance Eq Version instance MaximumL Version instance MinimumL Version instance Show Version instance XmlPickler Version -- | The tracepoints element of a OSM file. module Data.Geo.OSM.Tracepoints -- | The tracepoints element of a OSM file. data Tracepoints -- | Constructs a tracepoints with per_page. tracepoints :: String -> Tracepoints instance Eq Tracepoints instance Newtype Tracepoints String instance PerPageL Tracepoints instance Show Tracepoints instance XmlPickler Tracepoints -- | Values with a tracepoints string accessor. module Data.Geo.OSM.Lens.TracepointsL class TracepointsL a tracepointsL :: TracepointsL a => Lens a Tracepoints -- | The tag element of a OSM file. module Data.Geo.OSM.Tag -- | The tag element of a OSM file. data Tag -- | Constructs a tag with a key and value. tag :: String -> String -> Tag instance Eq Tag instance VL Tag instance KL Tag instance Show Tag instance XmlPickler Tag -- | Values with a tags accessor that is a list of tags. module Data.Geo.OSM.Lens.TagsL class TagsL a tagsL :: TagsL a => Lens a [Tag] -- | The common attributes between the node, way and -- relation elements. module Data.Geo.OSM.NWRCommon -- | The common attributes between the node, way and -- relation elements. data NWRCommon -- | Constructs with id, list of tags, changeset, visible, user&uid and -- timestamp. nwrCommon :: String -> [Tag] -> Maybe String -> Bool -> (Maybe String, Maybe String) -> Maybe String -> NWRCommon instance Eq NWRCommon instance TimestampL NWRCommon (Maybe String) instance UidL NWRCommon instance UserL NWRCommon (Maybe String) instance VisibleL NWRCommon instance ChangesetL NWRCommon instance TagsL NWRCommon instance IdL NWRCommon instance Show NWRCommon instance XmlPickler NWRCommon -- | The preferences element of a OSM file. module Data.Geo.OSM.Preferences -- | The preferences element of a OSM file. data Preferences -- | Constructs a preferences with tags. preferences :: [Tag] -> Preferences instance Eq Preferences instance Newtype Preferences [Tag] instance TagsL Preferences instance Show Preferences instance XmlPickler Preferences -- | The node element of a OSM file. module Data.Geo.OSM.Node -- | The node element of a OSM file. data Node -- | Constructs a node with a lat, lon, id, list of tags, changeset, -- visible, user&uid and timestamp. node :: String -> String -> String -> [Tag] -> Maybe String -> Bool -> (Maybe String, Maybe String) -> Maybe String -> Node instance Eq Node instance TimestampL Node (Maybe String) instance UidL Node instance UserL Node (Maybe String) instance VisibleL Node instance ChangesetL Node instance TagsL Node instance IdL Node instance LonL Node instance LatL Node instance Show Node instance XmlPickler Node -- | The nd element of a OSM file. module Data.Geo.OSM.Nd -- | The nd element of a OSM file. data Nd -- | Constructs a nd with a ref. nd :: String -> Nd instance Eq Nd instance Newtype Nd String instance RefL Nd instance Show Nd instance XmlPickler Nd -- | Values with a nd accessor that is a list of Nd. module Data.Geo.OSM.Lens.NdL class NdL a ndL :: NdL a => Lens a [Nd] -- | The way element of a OSM file. module Data.Geo.OSM.Way -- | The way element of a OSM file. data Way -- | Constructs a way with a list of nds, id, list of tags, changeset, -- visible, user&uid and timestamp. way :: [Nd] -> String -> [Tag] -> Maybe String -> Bool -> (Maybe String, Maybe String) -> Maybe String -> Way instance Eq Way instance TimestampL Way (Maybe String) instance UidL Way instance UserL Way (Maybe String) instance VisibleL Way instance ChangesetL Way instance TagsL Way instance IdL Way instance NdL Way instance Show Way instance XmlPickler Way -- | The type attribute of a member element of a OSM -- file. module Data.Geo.OSM.MemberType -- | The type attribute of a member element of a OSM -- file. data MemberType -- | Folds a member-type (catamorphism). foldMemberType :: MemberType -> x -> x -> x -> x -- | Constructs a member-type that is a way. wayType :: MemberType -- | Constructs a member-type that is a node. nodeType :: MemberType -- | Constructs a member-type that is a relation. relationType :: MemberType instance Eq MemberType instance Show MemberType instance XmlPickler MemberType -- | Values with a type accessor. module Data.Geo.OSM.Lens.TypeL class TypeL a typeL :: TypeL a => Lens a MemberType -- | The member element of a OSM file. module Data.Geo.OSM.Member -- | The member element of a OSM file. data Member -- | Constructs a member with a type, ref and role. member :: MemberType -> String -> String -> Member instance Eq Member instance RoleL Member instance RefL Member instance TypeL Member instance Show Member instance XmlPickler Member -- | Values with a member accessor that is a list of -- Member. module Data.Geo.OSM.Lens.MemberL class MemberL a memberL :: MemberL a => Lens a [Member] -- | The relation element of a OSM file. module Data.Geo.OSM.Relation -- | The relation element of a OSM file. data Relation -- | Constructs a relation with a list of members, id, list of tags, -- changeset, visible, user&uid and timestamp. relation :: [Member] -> String -> [Tag] -> Maybe String -> Bool -> (Maybe String, Maybe String) -> Maybe String -> Relation instance Eq Relation instance TimestampL Relation (Maybe String) instance UidL Relation instance UserL Relation (Maybe String) instance VisibleL Relation instance ChangesetL Relation instance TagsL Relation instance IdL Relation instance MemberL Relation instance Show Relation instance XmlPickler Relation -- | The node, way, or relation element of a OSM -- file. module Data.Geo.OSM.NodeWayRelation -- | The node, way, or relation element of a OSM -- file. data NodeWayRelation -- | Folds a node-way-relation (catamorphism). foldNodeWayRelation :: NodeWayRelation -> (Node -> x) -> (Way -> x) -> (Relation -> x) -> x -- | Construct a way element value. way' :: Way -> NodeWayRelation -- | Construct a relation element value. relation' :: Relation -> NodeWayRelation -- | Construct a node element value. node' :: Node -> NodeWayRelation -- | Returns whether the node, way or relation -- element is a node. isNode :: NodeWayRelation -> Bool -- | Returns whether the node, way or relation -- element is a way. isWay :: NodeWayRelation -> Bool -- | Returns whether the node, way or relation -- element is a relation. isRelation :: NodeWayRelation -> Bool instance Eq NodeWayRelation instance Show NodeWayRelation instance XmlPickler NodeWayRelation -- | The home element of a OSM file. module Data.Geo.OSM.Home -- | The home element of a OSM file. data Home -- | Constructs a home with lat, lon and zoom. home :: String -> String -> String -> Home instance Eq Home instance ZoomL Home instance LonL Home instance LatL Home instance Show Home instance XmlPickler Home -- | Values with a home optional string accessor. module Data.Geo.OSM.Lens.HomeL class HomeL a homeL :: HomeL a => Lens a (Maybe Home) -- | The user element of a OSM file. module Data.Geo.OSM.User -- | The user element of a OSM file. data User -- | Constructs a user with an optional home, display_name and -- account_created. user :: Maybe Home -> String -> String -> User instance Eq User instance AccountCreatedL User instance DisplayNameL User instance HomeL User instance Show User instance XmlPickler User -- | The gpx_file element of a OSM file. module Data.Geo.OSM.GpxFile -- | The gpx_file element of a OSM file. data GpxFile -- | Constructs a gpx_file with an id, name, lat, lon, user, -- public, pending and timestamp. gpxFile :: String -> String -> String -> String -> String -> Bool -> Bool -> String -> GpxFile instance Eq GpxFile instance TimestampL GpxFile String instance PendingL GpxFile instance PublicL GpxFile instance UserL GpxFile String instance LonL GpxFile instance LatL GpxFile instance NameL GpxFile instance IdL GpxFile instance Show GpxFile instance XmlPickler GpxFile -- | The changeset element of a OSM file. module Data.Geo.OSM.Changeset -- | The changeset element of a OSM file. data Changeset -- | Constructs a changeset with tags. changeset :: [Tag] -> Changeset instance Eq Changeset instance Newtype Changeset [Tag] instance TagsL Changeset instance Show Changeset instance XmlPickler Changeset -- | The bounds element of a OSM file. module Data.Geo.OSM.Bounds -- | The bounds element of a OSM file. data Bounds -- | Constructs a bounds with a minlat, minlon, maxlat, maxlon and origin -- attributes. bounds :: String -> String -> String -> String -> Maybe String -> Bounds instance Eq Bounds instance OriginL Bounds instance MaxlonL Bounds instance MaxlatL Bounds instance MinlonL Bounds instance MinlatL Bounds instance Show Bounds instance XmlPickler Bounds -- | The bound element of a OSM file. module Data.Geo.OSM.Bound -- | The bound element of a OSM file. data Bound -- | Constructs a bound with a box and origin attributes. bound :: String -> Maybe String -> Bound instance Eq Bound instance OriginL Bound instance BoxL Bound instance Show Bound instance XmlPickler Bound -- | A bound-option is either a Bound, Bounds or empty. module Data.Geo.OSM.BoundOption data BoundOption foldBoundOption :: (Bound -> x) -> (Bounds -> x) -> x -> BoundOption -> x optionBound :: Bound -> BoundOption optionBounds :: Bounds -> BoundOption optionEmptyBound :: BoundOption instance Eq BoundOption -- | Values with a bounds accessor which is either empty, a -- Bound or a Bounds. module Data.Geo.OSM.Lens.BoundsL class BoundsL a boundsL :: BoundsL a => Lens a BoundOption -- | The area element of a OSM file. module Data.Geo.OSM.Area -- | The area element of a OSM file. data Area -- | Constructs a area with maximum. area :: String -> Area instance Eq Area instance Newtype Area String instance MaximumL Area instance Show Area instance XmlPickler Area -- | Values with a area string accessor. module Data.Geo.OSM.Lens.AreaL class AreaL a areaL :: AreaL a => Lens a Area -- | The api element of a OSM file. module Data.Geo.OSM.Api -- | The api element of a OSM file. data Api -- | Constructs a api with version, area, tracepoints and -- waynodes. api :: Version -> Area -> Tracepoints -> Waynodes -> Api instance Eq Api instance WaynodesL Api instance TracepointsL Api instance AreaL Api instance VersionL Api Version instance Show Api instance XmlPickler Api -- | The children elements of the osm element of a OSM file. module Data.Geo.OSM.Children -- | The children elements of the osm element of a OSM file. data Children -- | A user element. osmUser :: User -> Children -- | A gpx_file element. osmGpxFile :: GpxFile -> Children -- | A api element. osmApi :: Api -> Children -- | A changeset element. osmChangeset :: Changeset -> Children -- | A list of node, way or relation elements. osmNodeWayRelation :: [NodeWayRelation] -> Children -- | Folds OSM child elements (catamorphism). foldChildren :: (User -> a) -> (Preferences -> a) -> (GpxFile -> a) -> (Api -> a) -> (Changeset -> a) -> ([NodeWayRelation] -> a) -> Children -> a instance Eq Children instance Show Children instance XmlPickler Children -- | Values with node, way or relation children accessor. module Data.Geo.OSM.Lens.ChildrenL class ChildrenL a childrenL :: ChildrenL a => Lens a Children -- | The osm element of a OSM file, which is the root element. -- http://wiki.openstreetmap.org/wiki/API_v0.6/DTD module Data.Geo.OSM.OSM -- | The osm element of a OSM file, which is the root element. data OSM -- | Constructs a osm with a version, bound or bounds, and node attributes -- and way or relation elements. osm :: String -> Maybe String -> Maybe (Either Bound Bounds) -> Children -> OSM -- | Reads an OSM file into a list of OSM values removing -- whitespace. readOsmFile :: FilePath -> IO [OSM] -- | Reads 0 or more OSM files into a list of OSM values removing -- whitespace. readOsmFiles :: [FilePath] -> IO [OSM] -- | Reads a OSM file removing whitespace, executes the given function on -- the XML, then writes the given file with indentation. interactOSMIO :: (OSM -> IO OSM) -> FilePath -> FilePath -> IO () -- | Reads a OSM file removing whitespace, executes the given functions on -- the XML, then writes the given file with indentation. interactsOSMIO :: Foldable t => t (OSM -> IO OSM) -> FilePath -> FilePath -> IO () -- | Reads a OSM file, executes the given function on the XML, then writes -- the given file. interactOSMIO' :: (OSM -> IO OSM) -> SysConfigList -> FilePath -> SysConfigList -> FilePath -> IO () -- | Reads a OSM file, executes the given functions on the XML, then writes -- the given file. interactsOSMIO' :: Foldable t => t (OSM -> IO OSM) -> SysConfigList -> FilePath -> SysConfigList -> FilePath -> IO () -- | Reads a OSM file removing whitespace, executes the given function on -- the XML, then writes the given file with indentation. interactOSM :: (OSM -> OSM) -> FilePath -> FilePath -> IO () -- | Reads a OSM file removing whitespace, executes the given functions on -- the XML, then writes the given file with indentation. interactsOSM :: Foldable t => t (OSM -> OSM) -> FilePath -> FilePath -> IO () -- | Reads a OSM file, executes the given function on the XML, then writes -- the given file. interactOSM' :: (OSM -> OSM) -> SysConfigList -> FilePath -> SysConfigList -> FilePath -> IO () -- | Reads a OSM file, executes the given functions on the XML, then writes -- the given file. interactsOSM' :: Foldable t => t (OSM -> OSM) -> SysConfigList -> FilePath -> SysConfigList -> FilePath -> IO () instance Eq OSM instance ChildrenL OSM instance GeneratorL OSM instance BoundsL OSM instance VersionL OSM String instance Show OSM instance XmlPickler OSM module Data.Geo.OSM.Lens -- | OpenStreetMap API v0.6 DTD -- http://wiki.openstreetmap.org/wiki/API_v0.6/DTD module Data.Geo.OSM