Skip to main content

EstIP-Building-Toolbox

Developed at IOER
Copyright © Denis Reiter, Dresden, 2026
All rights reserved.

Overview

This set of tools is meant to enrich building data with various features, enabling additional processing steps down the line. It was built as part of the EstIP population estimation pipeline and serves as the foundation for the corresponding dataset series. Therefore, the structure and output is tailored towards EstIP, but it can be used in different contexts, too. The output of this toolbox is directly compatible with the actual population estimation pipeline, which can be found here.

Features

  • Built for 3D building data (LoD2)
  • Modular pipeline consisting of 6 individual scripts
  • Logical processing steps are bundled together
  • Full output delivers 35 building features, plus some optional ones
  • Reproducible configuration via files

Requirements

  • Windows 11 (currently the only supported OS)
  • Python 3.11
  • Working conda/miniforge installation

Installation

For end-users:

pip install estip-building-toolbox

For development:

  1. Clone the repository.
    git clone https://github.com/denisreiter/EstIP-Building-Toolbox.git
    
  2. Open a conda/miniforge prompt.
  3. Change to the directory where you cloned the repo into.
    cd <path/to/your/cloned/repo>
    
  4. Create and activte a new environment:
    conda env create --file environment.yml
    conda activate estip-building-toolbox
    

Configuration

The toolbox consists of six indivdual processing scripts (s1 - s6). Each scripts variables are controlled via its corresponding .yaml config file, where paths and field names need to be set by the user. A minimal working collection of config files and datasets can be found under examples/.

The config files can be saved for reproducability. Config flags given via command line overwrite flags given inside config files.

run_all_cfg.yaml controls which scripts are run during a full pipeline run. Use comments # to exclude scripts from execution in a full pipeline run, or remove the entries entirely.

Assumptions & Limitations

  • All data should be projected to EPSG:3035.
  • Input buildings ideally should be converted footprints from a 3D CityGML model inside a .gpkg file (see an example here).
  • All datasets need to be stored inside a single workspace .gpkg file.

Usage

If you installed the package via pip:

  1. Adapt paths and field names in the config files cfg_s1.yaml - cfg_s6.yaml.
  2. Activate estip-building-toolbox (or any alternative env you installed the package in) in your conda prompt.
  3. Use the example dataset provided under examples/ for demonstration, or your own dataset.
  4. Single script execution:
    run-s1 --config <path/to/your/config/cfg_s1.yaml>
    
  5. Run entire pipeline:
    run-all --config <path/to/your/config/run_all_cfg.yaml>
    

If you are using the development version:

  1. Adapt paths and field names in the config files cfg_s1.yaml - cfg_s6.yaml.
  2. Activate estip-building-toolbox (or any alternative env you installed the package in) in your conda prompt.
  3. Use the example dataset provided under examples/ for demonstration, or your own dataset.
  4. Change to the directory where you cloned the repo into.
    cd <path/to/your/cloned/repo>
    
  5. Single script execution:
    python -m scripts.s1_preprocessing.cli --config <path/to/your/config/cfg_s1.yaml>
    
  6. Run entire pipeline:
    python -m scripts.run_all --config <path/to/your/config/run_all_cfg.yaml>
    

Pipeline Overview

s1_preprocessing

  • Input: LoD2 buildings, LoD2 building parts
  • Tasks: Cleaning, reprojecting, joining parts info, assign residential building types.
  • Features: "CNT_PRTS", "RF_TYPE", "FNC_CODE"
    Note: This step can be skipped if building data already is preprocessed.

s2_basic_geometric_features

  • Input: Output from s1 or raw buildings
  • Tasks: Calculate basic geometric features which are not dependent on context.
  • Features: "SHPX_2D", "RATIO_C_A", "RATIO_LW_MRR", "RATIO_MRR_A", "CNT_NDS", "CNT_HLS", "A", "C", "H", "V", "RATIO_HLL_V"

s3_neighbourhood_features

  • Input: Output from s1
  • Tasks: Calculate features dependent on neighbouring buildings within a configurable radius. Fields are dynamically named based on radius. Default: 50m.
  • Features: "DIST_NGHB", "RATIO_SW", "CNT_NGHB_Rxx", "DIST_NGHB_Rxx"

s4_context_features

  • Input: Output from s3, Addreses (points), Blocks (polygons), Streets (polylines)
  • Tasks: Calculates features and ratios based on contextual information.
  • Features: "DIST_STRT", "CNT_ADD", "BLCK_TYPE", "CNT_BLCK", "A_SUM_BLCK", "A_MEAN_BLCK", "A_STD_BLCK", "V_SUM_BLCK", "V_MEAN_BLCK", "V_STD_BLCK", "MEAN_DIST_NGHB_BLCK", "RATIO_A_BLCK", "RATIO_A_SUM", "RATIO_V_SUM", "RATIO_A_MEAN", "RATIO_V_MEAN"
    Note: Each ancillary dataset is optional, but at least one has to provided. Corresponding features will not be processed for those not not provided.

s5_spatial_assignment

  • Input: Output from s4, muncipalities, grid
  • Tasks: Adds municipality, reginonal type (optional) and grid cell ID to buildings.
  • Features: "MUNICIP", "REG_TYPE", "MAPPED_CELLCODE"

s6_population_mapping

  • Input: Output from s6, grid
  • Tasks: Dasymetrically maps population from census raster to buildings by grid cell ID.
  • Features: "MAPPED_POPULATION"
    Note: This step can be skipped if no population data is available.

Citation

Reiter, Denis (2026): EstIP-Building-Toolbox (Version 0.1.0) [Software]. https://github.com/denisreiter/EstIP-Building-Toolbox

Metadata

Release files for EstIP-Building-Toolbox 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for EstIP-Building-Toolbox 0.1.0
File Size Uploaded Provenance Actions
estip_building_toolbox-0.1.0.tar.gz 37.7 kB Without provenance Details for estip_building_toolbox-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for EstIP-Building-Toolbox 0.1.0
File Interpreter ABI Platform Actions
estip_building_toolbox-0.1.0-py3-none-any.whl Python 3 none any Details for estip_building_toolbox-0.1.0-py3-none-any.whl

Total release size: 91.4 kB

Release files / estip_building_toolbox-0.1.0.tar.gz

Download URL estip_building_toolbox-0.1.0.tar.gz
Size 37.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a0107a6556733b08707a337529775f8de36e8d92000b5bddc2068c9a1007c856
BLAKE2b-256 checksum
How to use checksums
40c56ec8ffd8fd02822ec7980df8c6088cdebe4fba07ff13b45cc637d4034c77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / estip_building_toolbox-0.1.0-py3-none-any.whl

Download URL estip_building_toolbox-0.1.0-py3-none-any.whl
Size 53.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fcf10ef9a175d2585fa94a74b831b666907fe33c7a5697dd9f79dbbdfc38ab83
BLAKE2b-256 checksum
How to use checksums
11edb006acee36aa2797c6748a7ba9e8e7631ffceb2df16af0208bc7d161e310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Security for EstIP-Building-Toolbox 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page