Split GeoJSON by feature count or file size and convert GeoJSON to and from GeoPackage
Project description
GeoSplit
A focused command-line tool that:
- splits a GeoJSON
FeatureCollectionby feature count; - splits it by a strict maximum file size; and
- converts GeoJSON to GeoPackage, or a GeoPackage layer back to GeoJSON.
The splitter uses a lightweight streaming parser, so memory use is bounded by the current output chunk. GeoPackage support is optional.
View general or command-specific help at any time:
geosplit help
geosplit help split
geosplit help convert
Install
Requires Python 3.10 or newer. Install GeoSplit from PyPI:
python -m pip install geosplit
Include conversion support:
python -m pip install "geosplit[gpkg]"
Confirm the installation:
geosplit help
If the geosplit command is not on your system path, use python -m geosplit help and replace geosplit with python -m geosplit in the examples below.
Split GeoJSON
By feature count:
geosplit split world.geojson output --features 1000
By maximum file size:
geosplit split world.geojson output --size 10MB
Sizes accept B, KB, KiB, MB, MiB, GB, and GiB. Each resulting file is a complete, compact GeoJSON document whose on-disk size does not exceed the requested limit. If one feature cannot fit by itself, the command stops with a clear error.
Output files are numbered automatically, such as world_001.geojson, world_002.geojson, and so on. Use --prefix countries to customize their names or --force to replace matching files. A source collection's top-level bbox is omitted because it would no longer describe each split collection; other top-level metadata is retained.
Convert formats
# GeoJSON to GeoPackage
geosplit convert roads.geojson roads.gpkg
# Choose the new GeoPackage layer name
geosplit convert roads.geojson map.gpkg --output-layer roads
# GeoPackage to GeoJSON
geosplit convert map.gpkg roads.geojson --layer roads
If a GeoPackage contains exactly one layer, --layer is optional. Existing destinations are protected unless --force is supplied.
Update
python -m pip install --upgrade geosplit
License
MIT
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file geosplit-0.3.0.tar.gz.
File metadata
- Download URL: geosplit-0.3.0.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87d28017b10d4359c0b71e267b7ba3ffc253c8a9d28714d5dfd7872be8b9da3f
|
|
| MD5 |
6bf4f5a6aafacf7202f5ae66e47903c1
|
|
| BLAKE2b-256 |
883246908fa55be7adee470a1f4f230e906d3129aed4535eb9466b1e227b01e7
|
File details
Details for the file geosplit-0.3.0-py3-none-any.whl.
File metadata
- Download URL: geosplit-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6916f45d040dc442bec0f95b41abb1fd09b00af8eed98bcd4da5294917cb0721
|
|
| MD5 |
39bd53b9bd3c743fb6e0e99ea010baea
|
|
| BLAKE2b-256 |
2fa8d3c0c4c4a9f57d7eb1d1e6a09d7e153e3bbc3deb459c453ab390cf819b98
|