All Projects → osmcode → Pyosmium

osmcode / Pyosmium

Licence: bsd-2-clause
Python bindings for libosmium

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyosmium

Kepler
The open source full-stack geosocial network platform
Stars: ✭ 125 (-20.89%)
Mutual labels:  openstreetmap
Telenav.ai
Telenav.AI competition public repository
Stars: ✭ 146 (-7.59%)
Mutual labels:  openstreetmap
Mapwarper
free open source public map georeferencer, georectifier and warper
Stars: ✭ 152 (-3.8%)
Mutual labels:  openstreetmap
Node Osrm
DEPRECATED Part of osrm-backend since 5.7. NodeJS bindings for OSRM
Stars: ✭ 133 (-15.82%)
Mutual labels:  openstreetmap
Robosat
Semantic segmentation on aerial and satellite imagery. Extracts features such as: buildings, parking lots, roads, water, clouds
Stars: ✭ 1,789 (+1032.28%)
Mutual labels:  openstreetmap
Node Tileserver
A lightweight tileserver based on NodeJS for serving bitmap and vector tiles.
Stars: ✭ 148 (-6.33%)
Mutual labels:  openstreetmap
Osmplotr
Data visualisation using OpenStreetMap objects
Stars: ✭ 122 (-22.78%)
Mutual labels:  openstreetmap
Osrm
Shortest Paths and Travel Time from OpenStreetMap with R
Stars: ✭ 160 (+1.27%)
Mutual labels:  openstreetmap
Editor Layer Index
A unified layer index for OSM editors.
Stars: ✭ 144 (-8.86%)
Mutual labels:  openstreetmap
Openrailwaymap
An OpenStreetMap-based project for creating a map of the world's railway infrastructure.
Stars: ✭ 150 (-5.06%)
Mutual labels:  openstreetmap
Mapbox Gl Native Android
Interactive, thoroughly customizable maps in native Android powered by vector tiles and OpenGL
Stars: ✭ 135 (-14.56%)
Mutual labels:  openstreetmap
Urbanaccess
A tool for GTFS transit and OSM pedestrian network accessibility analysis
Stars: ✭ 137 (-13.29%)
Mutual labels:  openstreetmap
Geo Heatmap
🗺️ Generate an interactive geo heatmap from your Google location data
Stars: ✭ 1,861 (+1077.85%)
Mutual labels:  openstreetmap
Teslalogger
Stars: ✭ 131 (-17.09%)
Mutual labels:  openstreetmap
Osm
General purpose library for reading, writing and working with OpenStreetMap data
Stars: ✭ 153 (-3.16%)
Mutual labels:  openstreetmap
Pytsp
A 2D/3D visualization of the Traveling Salesman Problem main heuristics
Stars: ✭ 122 (-22.78%)
Mutual labels:  openstreetmap
Streetcomplete
Easy to use OpenStreetMap editor for Android
Stars: ✭ 2,456 (+1454.43%)
Mutual labels:  openstreetmap
Libosmscout
Libosmscout is a C++ library for offline map rendering, routing and location lookup based on OpenStreetMap data
Stars: ✭ 159 (+0.63%)
Mutual labels:  openstreetmap
Awesome Openstreetmap
😎 Curated list of awesome OpenSteetMap projects
Stars: ✭ 157 (-0.63%)
Mutual labels:  openstreetmap
Python Overpy
Python Wrapper to access the Overpass API
Stars: ✭ 151 (-4.43%)
Mutual labels:  openstreetmap

pyosmium

Provides Python bindings for the Libosmium C++ library, a library for working with OpenStreetMap data in a fast and flexible manner.

Github Actions Build Status Appeveyor Build status

Installation

Pyosmium works with Python >= 3.4. Pypy is known to not work.

Using Pip

The recommended way to install pyosmium is via pip:

pip install osmium

We provide binary wheels for Linux and Windows 64 for all actively maintained Python versions.

For other versions, a source wheel is provided. Make sure to install all external dependencies first. On Deian/Ubuntu-like systems, the following command installs all required packages:

sudo apt-get install build-essential cmake libboost-dev \
                     libexpat1-dev zlib1g-dev libbz2-dev

Installing from source

Prerequisites

pyosmium has the following dependencies:

Compiling from Source

Get the latest versions of libosmium, protozero and pybind11. It is recommended that you put them in a subdirectory contrib. You can also set custom locations with LIBOSMIUM_PREFIX, PROTOZERO_PREFIX and PYBIND11_PREFIX respectively.

To use a custom boost installation, set BOOST_PREFIX.

To compile the bindings, run

python setup.py build

To compile and install the bindings, run

python setup.py install [--user]

Examples

The example directory contains small examples on how to use the library. They are mostly ports of the examples in Libosmium and osmium-contrib.

Testing

There is a small test suite in the test directory. This provides regression test for the python bindings, it is not meant to be a test suite for Libosmium.

You'll need the Python nose module. On Debian/Ubuntu install the package python-nose. For Python2 mock is required as well (package python-mock).

The suite can be run with:

cd test
python run_tests.py

Documentation

To build the documentation you need Sphinx and the autoprogram extension On Debian/Ubuntu install python-sphinx sphinxcontrib-autoprogram or python3-sphinx python3-sphinxcontrib.autoprogram.

First compile the bindings as described above and then run:

cd doc
make html

For building the man pages for the tools run:

cd doc
make man

Bugs and Questions

If you find bugs or have feature requests, please report those in the github issue tracker.

For general questions about using pyosmium you can use the OSM development mailing list or ask on OSM help.

License

Pyosmium is available under the BSD 2-Clause License. See LICENSE.TXT.

Authors

Sarah Hoffmann ([email protected])

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].