Lobbyliste: Adressen direkt in Google Docs geocodieren

Wenn man eine Datensatz mit vielen Adressen hat, muss man diese manchmal von Hand geocodieren. Geocodieren heißt in diesem Fall, dass man jedem Ort Koordinaten zuweist.

Beispiel:
Adresse: Deutscher Bundestag, Platz der Republik 1, 11011 Berlin
Koordinaten: 51.1758057 Nord (Breitengrad = Latitude), 10.4541194 Ost (Längengrad = Longitude)

Manche Dienste (Google Fusion Tables, CartoDB usw.) bieten diesen Dienst schon von Haus aus an. Doch oftmals gibt es für nicht-zahlende Benutzer Beschränkungen. In meinem Beispiel versuche ich die Lobbyliste des Bundestags mit über 2000 Adressen zu geocodieren. Mit meinem kostenlosen CartoDB-Account könnte ich zum Beispiel nur 100 Adressen gecodieren.

Ich schreibe gerade noch eine Anleitung, wie ich das PDF in eine Tabelle umgewandelt habe. Diese werde ich in Kürze hier verfügbar machen. Soweit kann ich euch verraten: PDFs in Tabellen umzuwandeln ist kein Spaß 😉
geocode-01-data

Als ersten Schritt muss man ein Skript kopieren, dass wir später in Google Docs einfügen. Das JavaScript findet sich hier und wurde vom Kartendienstleister MapBox entwickelt. Einfach alles markieren und kopieren.

Nun muss man den Skripteditor öffnen…
geocode-03-scripteditor

… und den kompletten, bisher bestehenden Code function() {} mit dem eben kopiertem Code ersetzen. Außerdem muss man oben in der Titelzeile, wo noch Unbenannt steht, als Titel geo eintragen. Nach einem Klick auf Datei > Speichern kommt man wieder zur Tabelle zurück.
geocode-04-insertcode

Jetzt dürfte in der Menüleiste neben Hilfe noch ein weiterer Reiter Geo auftauchen. Ist das nicht der Fall, einfach die ganze Seite neu laden. Wenn der Reiter Geo jetzt auftaucht, können wir mit dem Geocodieren beginnen. Einfach im Reiter Geo > Geocode adresses auswählen. Nun muss das Skript einmalig autorisiert werden.

geocode-06-authorise

Nach der Autorisierung muss man in der Tabelle die Spalten auswählen, welche man geocodieren möchte. In unserem Fall ist das Adresse und Postleitzahl. Nun kann man nochmals auf Geo > Geocode adresses gehen. Es sollte nun das Geocodieren-Fenster aufgehen.

geocode-07-service

Unter Geocoding service kann man zwischen mapquest, yahoo und cicero auswählen – Bei mir funktionierte jedoch nur mapquest ohne API-Key. Mit einem Klick auf Geocode geht’s los. Bei mir hat das Geocodieren etwa ein dreiviertel Stunde gedauert.

geocode-08-done

Was sofort auffällt ist, dass da Geocoding-Skript der Tabelle drei neue Spalten hinzugefügt hat: geo_latitude, geo_longitude und geo_accuracy. Die ersten beiden Werte sind die Koordinaten, der dritte Wert gibt die Genauigkeit an.
geocode-09-columns

Manchmal kommt es vor das eine Adresse nicht geocodiert wurde. Bei mir war das zum Beispiel bei Adressen der Fall, bei denen ein Postfach angegeben wurde. Diese Adressen habe ich einfach noch mal geocodieren lassen, diesmal aber nur die Postleitzahl und der Ort. Die Genauigkeit der Geocodierung fällt in diesem Fall auf city, was aber für meine Visualisierungsidee vollkommen ausreicht.

Die Visualisierung habe ich in CartoDB gemacht. Wie man ein solche Cluster-Visualiserung macht, werde ich ein anderes Mal erklären.

geocode-10-visualize

Die vollständige Visualisierung findet ihr hier, den vollständigen Datensatz im Google Drive gibt es hier. Die Tabelle ist noch nicht perfekt und es fehlen noch einige Felder. Ich werde versuchen, dass noch besser hinzubekommen.

Sagt mir Bescheid wie ihr mit der Anleitung klar kommt.

Viel Spaß beim Experimentieren!

Beitrag teilen:

6 comments

  1. Hansjochen Steinbrecher

    Lieber Herr Kühne,

    auf der Suche nach einer DROPBOX Anleitung bin ich auf Ihre Seite http://datenkritik.de/tag/mapbox/ mit dem Tag dropbox gestoßen.

    Für die Baratung von drei Kirchengemeinden möchte ich eine Karte erstellen mit farbiger Unterlegung der Gemeindegrenzen.

    Wo finde ich eine Anleitung für mich als lernfähiger DROPBOX-Nobody, der gerne Neues lernen möchte?

    Nähere Informationen zu mir unter http://www.h-steinbrecher.de

    Mit freundlichen Grüßen aus Köln nach München

    Hansjochen Steinbrecher

  2. Bernd

    Hi Steffen,
    danke für den Tipp, ich habe jetzt die Geocodierungsfunktion aktiviert. Sie funktioniert auch, wie man im ersten Sheet sieht. Allerdings ist das Zahlenformat sehr komisch. Was ich bräuchte wäre ja etwas wie 4,5679 bei Longitude und 51,5681 bei Latitude. Punkt kann man noch durch Komma ersetzen, aber wie bekomme ich das Zahlenformat richtig hin. Ich hab auch schon mit benutzerdefiniertem Format gespielt, aber die ### erschließen sich mir hier nicht. Vielleicht hast Du ja auch da einen Tipp.
    Herzlichen Dank schon mal
    Bernd

  3. Ping: torial Blog | Konzertdaten-Visualisierung: Die Tücken der Geocodierung
  4. Thomas

    Vielen Dank für dieses tolle Tool und die Dokumentation! Ich bin begeistert, was ArcGIS nicht hinbekommt klappt in Google docs!
    @ Bernd, ich habe auch falsche Formate im Ergebnis. Wenn du die Lat/Lon Ergebnisse des Scriptes noch einmal durch 1000000 teielst, sollte es funktionieren. Beste Grüße, Thomas

  5. Thomas

    Nachtrag: Es hat sich nach der kompletten Analyse der Ergebnistabelle herausgestellt, dass das Teilen durch 10^6 nicht alle Fehler beseitigt. Wie müssen die Felder vor der Anwendung des Scriptes formatiert sein? Oder gibt es eine Tabellenvoreinstellung? Vg, Thomas

  6. Heiko

    Hallo Steffen
    Besten Dank für Deine sehr gute und nachvollziehbare Beschreibung! Ich teste noch und kämpfe auch mit dem Zahlenformat für Longitude und Latitude. Ich kenne die Angaben in 3er Blöcken gar nicht. Was sagen sie?
    Ausserdem scheint mapquest zwischen 400 und 500 Adressen abzubrechen.

    Bin dankbar für ein Update!

    Viele Grüsse
    Heiko

Kommentar verfassen

Sie können die folgenden HTML-Codes verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>