OpenStreetMapIO.jl

A Julia package for reading OpenStreetMap (OSM) data files or fetching data from the Overpass API.

Features

  • File Format Support: Read OSM data from both PBF and OSM (XML) formats
  • Online Data Access: Query OSM data directly from Overpass API
  • Callback Support: Filter data during reading with custom callback functions

Quick Start

using Pkg
Pkg.add(url="https://github.com/moviro-hub/OpenStreetMapIO.jl")
using OpenStreetMapIO

# Read OSM data from files
osmdata = read_pbf("map.pbf")  # PBF format
osmdata = read_osm("map.osm")  # XML format

# Query data from Overpass API
bbox = BBox(53.45, 9.95, 53.55, 10.05)
osmdata = fetch_overpass(bbox)

# Filter data during reading
function keep_restaurants(node)
    if node.tags !== nothing && haskey(node.tags, "amenity") && node.tags["amenity"] == "restaurant"
        return node
    end
    return nothing
end

osmdata = read_pbf("map.pbf", node_callback=keep_restaurants)

License

This package is licensed under the MIT License. See LICENSE.md for details.