Inhaltsverzeichnis

Kartendaten mit Python

Wir verwenden unsere Data-Processing-Fertigkeiten, um Kartendaten zu modifizieren und darzustellen.

Teil 1: Gemeindedaten in einem Dictionary speichern:

Die Gemeinde-Daten (Einwohner, Fläche) aus gemeinden.csv sollen über den Gemeindenamen als Schlüssel abrufbar sein. Verwende den Code von Dictionaries: Aufgabe 2 und ändere ihn so, dass die Gemeindedaten über Gemeindenamen erfragbar sind.

Dazu gibt es zwei Möglichkeiten - welche gefällt dir besser?

Zwei separate Dictionaries

population speichert für jede Gemeinde die Anzahl Einwohner, area die Fläche.

population = {
    'Amriswil': 11365,
    'Egnach': 4672,
    ...
}
area = {
    'Amriswil': 9.83,
    'Egnach': 12.74,
    ...
}

Ein einziges, verschachteltes Dictionary

Das einzige Dictionary enthält für jede Gemeinde ein kleines Dictionary mit zwei Einträgen:

town_data = {
    'Amriswil' : { 'population': 11365, 'area': 9.83 },
    'Egnach' : { 'population': 4672, 'area': 12.74 },
    ...
}

Lösung:

Teil 2: Haltestellen-Daten einlesen und filtern

Die Haltestellen-Daten der SBB sind in der Datei sbb.csv verfügbar. Die Daten enthalten den Namen der Haltestelle sowie deren Koordinaten als geographische Breite (Latitude) und Länge (Longitude).

Achtung: diese CSV-Datei benützt Semikolons als Separator, nicht Kommas (weil die Haltestellen oft mit Kommas getrennt sind: Romanshorn, Bahnhof):

Name;Latitude;Longitude
Frauenfeld;47.55606;8.89795
Romanshorn, Bahnhof;47.549999;9.300004

Wir filtern eine Anzahl Haltestellen heraus, und geben sie in einer neuen Datei im gleichen Format wieder aus. Damit Google Maps die Datei lesen kann, müssen wir wieder Kommas als Separator verwenden.

Damit Namen mit Kommas trotzdem richtig angezeigt werden, müssen sie in Anführungszeichen (") eingefasst werden:

Name,Latitude,Longitude
Frauenfeld,47.55606,8.89795
"Romanshorn, Bahnhof",47.549999,9.300004

Zum Beispiel:

Lösung:

Teil 3: Die generierte Datei in Google Maps importieren.

Erstelle eine neue Karte auf Google Maps und importiere deine CSV-Datei.

Teile deine Karte mit der Lehrperson!

Beispiel

Teil 4: Optimieren

Zürich wird nie dargestellt, wenn wir die Haltestellen mit den Gemeinde-Daten kombinieren. Weshalb? Wie könnten wir das Problem lösen?

Lösung: