Python package for flexible data extraction from OpenStreetMap
Project description
osm-flex
Python package for flexible data extraction from OpenStreetMap. This packages allows to
- download OSM data dumps
- [optional] clip to desired shape
- extract specific features to geodataframes
- [optional] simplify results based on geospatial operations
Documentation
Please refer to the ReadTheDocs of this project for the full documentation of all functions.
Installation
conda create -n osm-flex cartopy geopandas
conda activate osm-flex
pip install osm-flex
NOTE
This package requires shapely v2.0 or later. Installing this package in an existing environment might overwrite older versions.
The (optional) clipping functionalities require manual installation of osmconvert or osmosis. See tutorial 1 for details.
Example
Download osm data for Switzerland from geofabrik.
import osm_flex.download as dl
iso3 = 'CHE'
dl.get_country_geofabrik(iso3)
Extract all buildings related to education and extract all polygons with forests.
import osm_flex.extract as ex
from osm_flex.config import OSM_DATA_DIR
path_che_dump = OSM_DATA_DIR.joinpath('switzerland-latest.osm.pbf')
gdf_ch_education = ex.extract_cis(path_che_dump, 'education')
gdf_ch_forest = ex.extract(
path_che_dump, 'multipolygons', ['landuse', 'name'], "landuse='forest'"
)
Drop all education building units that are contained within larger education buildings.
import osm_flex.simplify as sy
gdf_ch_education = sy.rremove_contained_polys(gdf_ch_education)
Running Tests
Follow installation instructions. Then,
python -m pip install -e "./[tests]"
pytest
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
Built Distribution
File details
Details for the file osm-flex-1.1.1.tar.gz
.
File metadata
- Download URL: osm-flex-1.1.1.tar.gz
- Upload date:
- Size: 34.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a45e28bc8280eb4dcaf7d776efa3792bc46583ab8ade2d70609dad3894111fd |
|
MD5 | 642b3757a4c921ec05e90885451b8b80 |
|
BLAKE2b-256 | debfbe722c4e237bb01a20f7afd524a8fb4bd57719dd0a46a8bca919ac4750df |
File details
Details for the file osm_flex-1.1.1-py3-none-any.whl
.
File metadata
- Download URL: osm_flex-1.1.1-py3-none-any.whl
- Upload date:
- Size: 33.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e369e32120ab852e25f98b09245f342823855100a9cda6763f37c751542bfecb |
|
MD5 | f0fc57e4f6b6f53c2a5da1ef177d7c79 |
|
BLAKE2b-256 | 0e64a07ccca8fb1ef8cced5861961dd23356b3a4ca64643cab0f57bec493e4eb |