Skip to content

Ivorforce/wohnortatlas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deutscher Wohnortatlas

A Germany-wide livability map. wohnortatlas.de

The pipeline scores H3 (resolution 8) hexes across the German mainland on a few dozen livability layers — rent, commute, daily-needs access, leisure, quiet, green, flood risk, and more. The static web map then re-scores everything client-side against a user's own preferences. What each layer measures, how, and where it falls short is documented on the site's method page.

Repository layout

Path What
scripts/ the pipeline — numbered NN_*.py stages, run in order by the Makefile
wohnen/ shared library code (config, I/O, routing, scoring helpers)
web/ the static map (index.html + decode.js, no build step) and its assets
Makefile build targets with file-based caching

The input data (data/), the built map bundle (web/data.bin), and the routing caches (web/reach/) are not tracked — they are downloaded and generated by the build. A clone is the source, not a ready-to-serve site.

Build / reproduce

Prerequisites (developed on macOS; the Makefile assumes Homebrew):

  • Poetry (Python ≥ 3.12)
  • osmium-tool and openjdk@21 — the routing (r5py) needs JDK 21 (brew install osmium-tool openjdk@21)
  • ~25 GB free disk for the raw downloads and intermediate layers
poetry install
make check-env        # verifies osmium, JDK 21, and the Python deps
make download         # fetches the open datasets (large; cached under data/raw/)
make web              # runs the full pipeline → web/data.bin

Then serve the web/ directory over HTTP and open it — it fetches data.bin, so it will not work from a file:// URL:

cd web && python3 -m http.server   # → http://localhost:8000

The job-market ("Branche") commute targets are optional and need a free regionalstatistik.de account: set GENESIS_USER / GENESIS_PASS, then make jobs && make web.

Gotcha worth knowing:

  • The free GTFS feed expires ~7 days after download; an expired feed makes the router silently fall back to walk/bike times. make freshness shows the age; re-make download and rerun the routing stages to refresh.

License

The project's own code is MIT. The bundled browser libraries, the map and geocoding services used at runtime, and the input datasets each keep their own licenses — see THIRD-PARTY-LICENSES.md and the sources list on the method page.

Contributions are welcome where they fit the project.

About

Source code for wohnortatlas.de, a website that scores personalized liveability across germany

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors