-- 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