Giter Site home page Giter Site logo

noerw / pendleratlas Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 3.92 MB

Scraper fuer Geodaten der Pendlerstatistik der Arbeitsagentur. repo moved!

Home Page: https://git.nroo.de/norwin/pendleratlas

Python 100.00%
aggressive-open-data pendler statistik 2016 2017

pendleratlas's Introduction

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
  • pendler.shp, pendler.json, kreise.json: © GeoBasis-DE / BKG 2016 (Daten verändert)
  • Pendlerdaten: unbekannt

pendleratlas's People

Contributors

noerw avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.