Skip to main content

Convert OpenStreetMap data into GIS and mobile mapping file formats.

Project description

OSM Export Tool

This project is under development. For the previous version of the Export Tool, see hotosm/osm-export-tool.

Motivation

This program filters and transforms OpenStreetMap data into thematic, tabular GIS formats. Filters are specified via YAML and a familiar SQL syntax, for example:

buildings_with_addresses:  # creates a thematic layer called "buildings_with_addresses"
  types:
    - polygons
  select:
    - building
    - height
    - addr:housenumber
  where:
    - building = 'yes' and addr:housenumber IS NOT NULL

This program uses PyOsmium to read OSM files and GDAL/OGR to write GIS formats, so it should be reasonably fast and light on memory. There is also a OSM driver available for GDAL/OGR, but this program is intended to allow for more flexibility in the conversion process. it can also create files in non-tabular formats such as those for Garmin GPS devices or the OSMAnd Android app.

Example usage

osm-export-tool jakarta.osm.pbf jakarta

All the below flags are optional.

  • -m, --mapping : specify a mapping YAML. Defaults to example/defaults.yaml, which is a very broad selection of OSM tags.
  • -f, --formats : a comma-separated list of formats such as gpkg, shp. Defaults to just gpkg.
  • --omit-osm-ids: An osm_id field is included in each layer by default, which is a node ID for points, and a way id (positive) or relation id (negative) for lines and polygons. This will prevent this field being added by default, although it may still be specified in select.
  • --clip : either a .poly or GeoJSON file.

Yaml format

  • SQL statements must be comparisons of keys to constants with the key first.
    • Valid examples:
      • height > 20
      • building = 'yes'
    • Invalid examples:
      • 20 < height
      • building > height
  • if the types key is omitted, it defaults to points, lines and polygons.
  • At least one tag is required as a child of the select key.
  • If the where key is omitted, it defaults to the condition where any of the selected keys are not null.
  • if where is a list, it is equivalent to each where child joined by OR.

Input formats:

  • OSM PBF
  • OSM XML

Output formats:

  • OSM PBF
  • OSM XML
  • GeoPackage
  • Shapefile
  • KML
  • OsmAnd
  • Maps.ME
  • Garmin
  1. OGC GeoPackage (.gpkg)
  • This is the default export format, and the most flexible for modern GIS applications.
  • tables will be created with the wkbUnknown geometry type, which allows heterogeneous geometry types.
  1. Shapefile (.shp)
  • Each layer and geometry type is a separate .SHP file. This is because each .SHP file only supports a single geometry type and column schema.
  1. KML (.kml)
  • Each layer and geometry type is a separate .KML file. This is because the GDAL/OGR KML driver does not support interleaved writing of features with different geometry types.
  1. Maps.ME

  2. OsmAnd

  3. Garmin

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

osm-export-tool-0.0.4.tar.gz (11.8 kB view details)

Uploaded Source

Built Distributions

osm_export_tool-0.0.4-py3.7.egg (38.4 kB view details)

Uploaded Source

osm_export_tool-0.0.4-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file osm-export-tool-0.0.4.tar.gz.

File metadata

  • Download URL: osm-export-tool-0.0.4.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for osm-export-tool-0.0.4.tar.gz
Algorithm Hash digest
SHA256 1574121f66708e2b0c6e4c7e886e34e56dc5bbff9ca779c8d20b927a2cd59eb0
MD5 983f203c9ce547825628e9a21034beaf
BLAKE2b-256 89b86a89fb3c5ab4dd31d50c835b74396f61273282ca8a61c005e513f0a7db2a

See more details on using hashes here.

File details

Details for the file osm_export_tool-0.0.4-py3.7.egg.

File metadata

  • Download URL: osm_export_tool-0.0.4-py3.7.egg
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for osm_export_tool-0.0.4-py3.7.egg
Algorithm Hash digest
SHA256 37040500a0dcebc84359faea5746bbbe255edb79dc54d1a0c2292a865c696806
MD5 084a6d5178ff0fb14d120364486d65e5
BLAKE2b-256 b1a8c23f06eb1dac1dca61239c6c2042cab51ddfeeb3bc97e4a402deeffc470f

See more details on using hashes here.

File details

Details for the file osm_export_tool-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: osm_export_tool-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for osm_export_tool-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 98dfd440bb7f20b156bff05fd7e0189b9e38fc07f4eba138e7308aba7296108c
MD5 6150b9889545a7ffe3212699180bfe5e
BLAKE2b-256 62ff6bda62e0929289a451c3fd9692723be20c5d6c3118dddd7761cce54d71cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page