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