-- 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 Geo.OSM module is the core module that exports all -- others. @package OSM @version 0.3 -- | Values with a visible boolean accessor. module Data.Geo.OSM.Accessor.Visible class Visible a visible :: (Visible a) => a -> Bool -- | Values with a v string accessor. module Data.Geo.OSM.Accessor.V class V a v :: (V a) => a -> String -- | Values with a version string accessor. module Data.Geo.OSM.Accessor.Version class Version a version :: (Version a) => a -> String -- | Values with a user optional string accessor. module Data.Geo.OSM.Accessor.User class User a user :: (User a) => a -> Maybe String -- | Values with a uid optional string accessor. module Data.Geo.OSM.Accessor.Uid class Uid a uid :: (Uid a) => a -> Maybe String -- | Values with a timestamp optional string accessor. module Data.Geo.OSM.Accessor.Timestamp class Timestamp a timestamp :: (Timestamp a) => a -> Maybe String -- | Values with a role string accessor. module Data.Geo.OSM.Accessor.Role class Role a role :: (Role a) => a -> String -- | Values with a ref string accessor. module Data.Geo.OSM.Accessor.Ref class Ref a ref :: (Ref a) => a -> String -- | Values with a origin optional string accessor. module Data.Geo.OSM.Accessor.Origin class Origin a origin :: (Origin a) => a -> Maybe String -- | Values with a minlon string accessor. module Data.Geo.OSM.Accessor.Minlon class Minlon a minlon :: (Minlon a) => a -> String -- | Values with a minlat string accessor. module Data.Geo.OSM.Accessor.Minlat class Minlat a minlat :: (Minlat a) => a -> String module Data.Geo.OSM.Accessor.Maxlon class Maxlon a maxlon :: (Maxlon a) => a -> String -- | Values with a maxlat string accessor. module Data.Geo.OSM.Accessor.Maxlat class Maxlat a maxlat :: (Maxlat a) => a -> String -- | Values with a lon string accessor. module Data.Geo.OSM.Accessor.Lon class Lon a lon :: (Lon a) => a -> String -- | Values with a lat string accessor. module Data.Geo.OSM.Accessor.Lat class Lat a lat :: (Lat a) => a -> String -- | Values with a k string accessor. module Data.Geo.OSM.Accessor.K class K a k :: (K a) => a -> String -- | Values with a id string accessor. module Data.Geo.OSM.Accessor.Id class Id a id :: (Id a) => a -> String -- | Values with a generator optional string accessor. module Data.Geo.OSM.Accessor.Generator class Generator a generator :: (Generator a) => a -> Maybe String -- | Values with a changeset optional string accessor. module Data.Geo.OSM.Accessor.Changeset class Changeset a changeset :: (Changeset a) => a -> Maybe String -- | Values with a box string accessor. module Data.Geo.OSM.Accessor.Box class Box a box :: (Box a) => a -> String -- | 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 V Tag instance K Tag instance Show Tag instance XmlPickler Tag -- | Values with a tags accessor that is a list of tags. module Data.Geo.OSM.Accessor.Tags class Tags a tags :: (Tags a) => a -> [Tag] tagMap :: (Tags a) => a -> Map String String hasTagValue :: (Tags a) => String -> String -> a -> Bool -- | 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 Timestamp NWRCommon instance Uid NWRCommon instance User NWRCommon instance Visible NWRCommon instance Changeset NWRCommon instance Tags NWRCommon instance Id NWRCommon instance Show NWRCommon instance XmlPickler NWRCommon -- | 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 Timestamp Node instance Uid Node instance User Node instance Visible Node instance Changeset Node instance Tags Node instance Id Node instance Lon Node instance Lat 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 Ref Nd instance Show Nd instance XmlPickler Nd -- | Values with a nd accessor that is a list of Nd. module Data.Geo.OSM.Accessor.Nds class Nds a nds :: (Nds a) => 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 Timestamp Way instance Uid Way instance User Way instance Visible Way instance Changeset Way instance Tags Way instance Id Way instance Nds 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.Accessor.Mtype class Mtype a mtype :: (Mtype a) => 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 Role Member instance Ref Member instance Mtype Member instance Show Member instance XmlPickler Member -- | Values with a member accessor that is a list of -- Member. module Data.Geo.OSM.Accessor.Members class Members a members :: (Members a) => 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 Timestamp Relation instance Uid Relation instance User Relation instance Visible Relation instance Changeset Relation instance Tags Relation instance Id Relation instance Members 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 -- | Values with a nwrs accessor that is a list of -- NodeWayRelation. module Data.Geo.OSM.Accessor.NodeWayRelations class NodeWayRelations a nwrs :: (NodeWayRelations a) => a -> [NodeWayRelation] nodes :: (NodeWayRelations a) => a -> [Node] ways :: (NodeWayRelations a) => a -> [Way] relations :: (NodeWayRelations a) => a -> [Relation] -- | 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 Origin Bounds instance Maxlon Bounds instance Maxlat Bounds instance Minlon Bounds instance Minlat 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 Origin Bound instance Box Bound instance Show Bound instance XmlPickler Bound -- | Values with a bounds accessor which is either empty, a -- Bound or a Bounds. module Data.Geo.OSM.Accessor.BoundOrs class BoundOrs a boundOrs :: (BoundOrs a) => a -> x -> (Bound -> x) -> (Bounds -> x) -> x -- | The osm element of a OSM file, which is the root element. 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) -> [NodeWayRelation] -> OSM instance Eq OSM instance NodeWayRelations OSM instance BoundOrs OSM instance Generator OSM instance Version OSM instance Show OSM instance XmlPickler OSM module Data.Geo.OSM