Scraper fuer Geodaten der Pendlerstatistik der Arbeitsagentur
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Norwin 5430cc9f38
clarify data license
3 years ago
data restore data from 2017 3 years ago
README.md clarify data license 3 years ago
fetch-kreise.py commit 6 years ago
fetch-pendler.py python 3, its 2021 🙃 3 years ago
summarize-pendler.py commit 6 years ago

README.md

Pendleratlas Scraper

Die Bundesagentur fuer Arbeit stellt die Pendlerstatistik von 2016 - 2017 als interaktive Karte auf ihrer Website bereit.

Diese Statistik bietet die detailliertesten Informationen zu Pendlern auf Bundesebene welche ich finden konnte: Es werden kreisuebergreifende Ein- / Auspendler fuer jeden Kreis, gegliedert nach Pendler-Ziel sowie Geschlecht geliefert. Ebenfalls ist die Wohnpopulation und Gesamt-Pendlermenge jedes Kreises angegeben. Anders als in den Veroeffentlichungen von DeStatis werden hier also auch die exakten Ziel-Kreise der Pendler, sowie exakte Angaben gemacht.

Daten auf Gemeinde-Ebene mit zusaetzlichen Attributen (Beschaeftigungsart, Wirtschaftsbereich) wie im Pendleratlas-NRW liegen leider nicht vor.

PendlerDaten API

Um selbst mit den Daten arbeiten zu koennen kann es nuetzlich sein, sie nicht nur auf einer Karte zu betrachten. Diese python Skripte laden die Pendlerstatistik automatisiert herunter und exportiert sie als GeoJSON bzw Shapefile. Die zugehoerige API liegt unter https://statistik.arbeitsagentur.de/PendlerDaten? (Beispiel).

Disclaimer: Dieses Projekt ist in keiner Weise mit destatis oder der Arbeitsagentur verbunden. Ich garantiere und hafte fuer nichts bezueglich der hier bereitgestellten Daten und Skripte. Es wurden ausschliesslich oeffentlich zugaengliche APIs dokumentiert.

IDs der Kreise

Die API referenziert die Kreise ueber IDs welche von einem ESRI ArcGIS MapServer (?) unter http://geois.arbeitsagentur.de/arcgis/rest/services/Gebietsstrukturen/MapServer/3 liegen.

Dieses Layer laesst sich als GeoJSON mitsamt Kreis IDs, Geometrien und Namen mit folgendem Befehl beziehen:

wget "http://geois.arbeitsagentur.de/arcgis/rest/services/Gebietsstrukturen/MapServer/3/query?f=geojson&where=valid_from <= CURRENT_DATE AND valid_to >= CURRENT_DATE&returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields=ID,region,OBJECTID,parentID&outSR=4326" -O kreise.json

# oder 
python fetch-kreise.py > kreise.json

Es stellt sich heraus, dass die von der PendlerDaten API erwarteten Kreis IDs aus dem Attribut RS der Verwaltungsgrenzen (vg250_krs) des Geodatenzentrums sind. Falls also die exakte Geometrie der Kreise benoetigt wird, kann man das sicherlich auch diesen Datensatz als Grundlage wahlen.

Pendlerdaten

Das Skript fetch-pendler.py erwartet die Gemeindegrenzen kreise.json im selben Ordner, und fragt die API der Arbeitsagentur fuer jeden Kreis ab. Das Jahr kann im Kopf des Skripts gewaehlt werden, Daten sind jeweils nur fuer den Juni verfuegbar. Dies dauert ne ganze Weile, da die API langsam und instabil ist. Fehlgeschlagene Requests werden wiederholt bis alles da ist. Das Skript augmentiert das zuvor bezogene kreise.json und speichert als pendler.json

Es werden die Attribute einpendler und auspendler in den Properties jedes Features angelegt. Diese sehen dann wie folgt aus:

"properties": {
  "ID": "05910",
  "region": "Hömmelebömmele",

  // einpendler je kreis ID
  "einpendler": {
    "05913": {
      "frauen": 1838,
      "anzahl": 4573,
      "maenner": 2735
    },
    "05911": {
      "frauen": 1265,
      "anzahl": 3220,
      "maenner": 1955
    },

    // .... alle anderen kreise

    // gesamt pendler
    "gesamt": {
      "frauen": 19865,
      "anzahl": 52456,
      "maenner": 32591
    },
    // wohnbevoelkerung des kreises
    "svb": {
      "frauen": 95155,
      "anzahl": 211028,
      "maenner": 115873
    }
  },

  "einpendler": { ... }
}

Shapefile

Eine Zusammenfassung der Daten (Pendlergesamtaufkommmen pro Kreis) als Shapefile laesst sich folgendermassen generieren:

python summarize-pendler.py
ogr2ogr pendler.shp pendler-summary.json

Lizenz

  • Code: public domain
  • Pendlerdaten (entnommen aus den inzwischen erhältlichen excel downloads, welche die selben Daten enthalten)
    © Statistik der Bundesagentur für Arbeit
    	Sie können Informationen speichern, (auch auszugsweise) mit Quellen-
    	angabe weitergeben, vervielfältigen und verbreiten. Die Inhalte dürfen
    	nicht verändert oder verfälscht werden. Eigene Berechnungen sind
    	erlaubt, jedoch als solche kenntlich zu machen.
    	Im Falle einer Zugänglichmachung im Internet soll dies in Form einer
    	Verlinkung auf die Homepage der Statistik der Bundesagentur für Arbeit
    	erfolgen.
    	Die Nutzung der Inhalte für gewerbliche Zwecke, ausgenommen Presse,
    	Rundfunk und Fernsehen und wissenschaftliche Publikationen, bedarf
    	der Genehmigung durch die Statistik der Bundesagentur für Arbeit.