skillfed

tobler

Tobler is a Python library for areal interpolation.

tobler v0.14.0 139.6K downloads/30d#11,295 on PyPI169
Permissive license BSD 3-Clause Active released

What it is and what it does

Tobler is a geospatial Python library for transferring data from one set of polygonal boundaries to another, solving the common problem of incompatible spatial representations. It implements three families of interpolation methods: area-weighted (simplest, using only geometry overlap), dasymetric (incorporating auxiliary raster or vector data to constrain allocation), and model-based (using statistical relationships with covariates). The package is part of PySAL, the broader spatial data science ecosystem, and leverages shapely and multicore architecture for performance.

Common use cases include harmonizing census data across decennial boundary changes, converting data collected at different administrative scales (e.g., zip codes to census tracts), and aggregating or disaggregating variables to match analysis grids. Each method trades simplicity for accuracy: area-weighted requires only geometry but is susceptible to the modifiable areal unit problem; dasymetric improves estimates by masking inappropriate areas; model-based approaches offer the richest incorporation of auxiliary information but require careful specification and validation.

Use it for:

  • Standardize historical census data from different time periods to a single boundary representation to overcome decennial redistricting.
  • Convert neighborhood-level survey data into a regular grid for spatial analysis or raster-based modeling.
  • Allocate zip-code-level demographic or economic variables to census tract boundaries for cross-scale analysis.
  • Use satellite imagery or land-use rasters to constrain interpolation of population data to inhabited areas only.
  • Estimate small-area statistics by fitting regression models that relate target variables to physical or demographic covariates.
  • Aggregate fine-resolution raster predictions back to administrative boundaries for policy reporting.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Tobler transfers spatial data between different polygonal representations using areal interpolation, dasymetric mapping, and model-based methods, enabling tasks like standardizing census data across boundary changes or converting data between spatial scales.

Yes. Tobler is actively maintained, has no known vulnerabilities, installs with low friction, and solves a well-defined geospatial problem with multiple methods suited to different data contexts. It is appropriate for anyone working with spatial data across incompatible boundaries or scales. The BSD 3-Clause license is permissive. The only constraint is the Python 3.12+ requirement.

Install

tobler on PyPI

pip

pip install tobler

uv

uv add tobler

poetry

poetry add tobler

Installing tobler

Before you install

Low friction installation with a pure-Python wheel. The package depends on ten established geospatial and scientific libraries (geopandas, rasterio, scipy, statsmodels, etc.), all widely available. Maintenance is active with recent commits and no archived status.

License in practice

BSD 3-Clause is permissive and poses no significant restrictions on use, modification, or distribution in most contexts.

Quickstart

pip install tobler

import tobler
from geopandas import read_file

source = read_file('source_polygons.shp')
target = read_file('target_polygons.shp')
result = tobler.area_weighted(source, target, 'variable_column')

Requires Python 3.12 or later. Spatial data files (shapefiles or GeoJSON) are needed as input.

Verify before relying

  • Specific performance characteristics or scalability limits for large datasets are not documented in the fact sheet.
  • Whether model-based interpolation methods support custom regression models or only built-in implementations.
  • Availability and completeness of API documentation beyond the GitHub repository.

Package facts

License BSD 3-Clause (permissive)
Python support supports the current Python release (>=3.12)
Install friction low — pure-Python wheel
Runtime dependencies 10 — geopandas, joblib, libpysal, numpy, pandas, rasterio, rasterstats, scipy, statsmodels, tqdm
Maintenance actively maintained — 126 days since the last release
Last repo commit
First released
Downloads 139,614/month — #11,295 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: tobler-0.14.0-py3-none-any.whl

Keywords: dasymetric mapping, spatial analysis, interpolation, change of support

Intended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: GIS

Tags

areal interpolation spatial datadasymetric mapping censuschange of support polygonsspatial data transfer boundariessmall area estimation geospatialremap data between geometriesgeographic interpolation methods
geospatialspatial-interpolationcensus-data

More GIS packages