Skip to main content

DuckDB-powered geospatial topology utilities (edge-matching, topology cleaning, more)

Project description

topo-tools

CI PyPI Python versions License: MIT

World ADM0 boundaries extended with Voronoi-filled coastline

topo-tools is a collection of DuckDB-powered geospatial topology utilities for cleaning and reconciling administrative boundary polygons. It ships four tools, usable from the CLI or as a Python package:

Tool What it does Usage
clean Detects and fixes gap/overlap defects in a single polygon layer; reports slivers separately for manual review. docs/clean.md
extend Fills gaps around a polygon layer (missing coastline, disputed areas, water bodies) with a Voronoi extension, producing full coverage. docs/extend.md
match Fits a finer child polygon layer into a coarser parent layer, grouping and extending each child to fill gaps within its own parent. docs/match.md
change Compares two versions of a polygon layer and classifies every unit as unchanged, renamed, modified, split, merged, created, or removed. docs/change.md

Installation

uv tool install topo-tools   # CLI (recommended)
uv add topo-tools            # Python library

Or with pip:

pip install topo-tools

Each linked doc above covers that tool's CLI/Python usage, options, and examples.

Supported Formats

Polygon inputs/outputs: GeoParquet (.parquet), GeoPackage (.gpkg), Shapefile (.shp), GeoJSON (.geojson). Output format matches input format. change's tabular changelog is CSV or GeoParquet only; its spatial overlay layer supports the same four formats as the other tools.

See CONTRIBUTING.md for development setup.

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

topo_tools-0.1.0.tar.gz (38.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

topo_tools-0.1.0-py3-none-any.whl (60.5 kB view details)

Uploaded Python 3

File details

Details for the file topo_tools-0.1.0.tar.gz.

File metadata

  • Download URL: topo_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 38.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for topo_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 70a3a977929e117ce77d53c8c967724a91f88d1d50c399227ce7ee9f9ec2b727
MD5 bc36170490aa9550e811d28182a15a91
BLAKE2b-256 75ab4ea07417b37f0da5f0bfb3de8fd846c6502efd293dd21858a6f501d668bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for topo_tools-0.1.0.tar.gz:

Publisher: publish.yml on fieldmaps/topo-tools-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file topo_tools-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: topo_tools-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 60.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for topo_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 36170fa537eccb0cf4b7089b0728f8eed5dd8ed48e8cb0074bbf8671ac927694
MD5 d4423d71b7935aa18d4fe0371900a5fc
BLAKE2b-256 b677402a14acd94de7b5fc8a60e153c210fc64df052b7bb33d7b9580c45ddb6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for topo_tools-0.1.0-py3-none-any.whl:

Publisher: publish.yml on fieldmaps/topo-tools-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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