Python tool to extract large-amounts of OpenStreetMap data
Project description
earth-osm
earth-osm is a free software tool that can extract large-amounts of OpenStreetMap data. It implements filters and multi-processing for fast and memory-efficient computations. You can extract e.g. power lines for Africa on your laptop. It builds on esy-osmfilter and improves its package design, usability and performance.
Getting Started
Install earth-osm with pip:
pip install earth-osm
Or with conda:
conda install --channel=conda-forge earth-osm
Extract osm data
# Example CLI command
earth_osm extract power --regions benin monaco --features substation line
This will extract
primary feature = power for the regions = benin and monaco and the secondary features = substation and line.
By default the resulting .csv and .geojson are stored in ./earth_data/out
Load the substation data for benin using pandas
# For Pandas
df_substations = pd.read_csv('./earth_data/out/BJ_raw_substations.csv')
# For GeoPandas
gdf_substations = gpd.read_file('./earth_data/out/BJ_raw_substations.geojson')
Other Arguments
usage: earth_osm extract primary --regions region1, region2 --features feature1, feature2 --data_dir DATA_DIR [--update] [--mp]
primary (e.g power, water, road, etc) NOTE: currently only power is supported
--regions region1 region2 ... (use either iso3166-1:alpha2 or iso3166-2 codes or full names as given by running 'earth_osm view regions')
--features feature1 feature2 ... (optional, use sub-features of primary feature, e.g. substation, line, etc)
--update (optional, update existing data, default False)
--mp (optional, use multiprocessing, default True)
--data_dir (optional, path to data directory, default './earth_data')
--out_format (optional, export format options csv or geojson, default csv)
--out_aggregate (options, combine outputs per feature, default False)
Advanced Usage
import earth_osm as eo
eo.get_osm_data(
primary_name = 'power',
region_list = ['benin', 'monaco'],
feature_list = ['substation', 'line'],
update = False,
mp = True,
data_dir = './earth_data',
out_format = ['csv', 'geojson'],
out_aggregate = False,
)
Development
(Optional) Intstall a specific version of earth_osm
pip install git+https://github.com/pypsa-meets-earth/earth-osm.git@<required-commit-hash>
(Optional) Create a virtual environment for python>=3.10
python3 -m venv .venv
source .venv/bin/activate
Read the CONTRIBUTING.md file.
pip install git+https://github.com/pypsa-meets-earth/earth-osm.git
pip install -r requirements-test.txt
Project details
Release history Release notifications | RSS feed
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 earth_osm-0.0.9.tar.gz
.
File metadata
- Download URL: earth_osm-0.0.9.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4d4a58fe5349b51b4c3826993a9ba5b9aaa9df819bcada7d9c08398e8bbef4b |
|
MD5 | 0ea82f177044e2f6ac2e19b5c932a600 |
|
BLAKE2b-256 | 11bbcba0ec212ba2b1c014e6bd40dc4c9db2b5cf76bf90d5f6da767060af80fb |
File details
Details for the file earth_osm-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: earth_osm-0.0.9-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0d8cb216d6c5e94cb96c54a61de52f562d25c9d4fc6b029c1d1e3923f7d1a32 |
|
MD5 | ac1dbbbe6f79b765ab978a060335073f |
|
BLAKE2b-256 | 9238aa46d13b70573f4fcdf5f9da05c20e9565cfd97691dae309fff87ff0c108 |