Geomapping
Themen Heute GeoJSON Paths Projections Features Daten beschaffen Projekte weiter bringen
JSON, GeoJSON GeoJSON: JSON-basierter Standard um Geodaten für web applications zu kodieren Kein ganz anderes Format – nur eine spezifische Verwendung von JSON Bitte laden Sie die zip-Datei und starten Sie das Beispiel 01 mit Hilfe von XAMPP
Bsp: us-states.json "type":"FeatureCollection", "features":[ { "type":"Feature", "id":"01", "properties":{"name":"Alabama"}, "geometry":{ "type":"Polygon”, "coordinates":[[[ , ], [ , ],[ , ], [ , ],[ , ], [ , ],[ , ], [ , ],[ , ]... ]] } }...
coordinates [ , ] LongitudeLatitude 1.!2.! (nicht lat/lon – GeoJSON lon/lat) Vertikalhorizontal
JSON, GeoJSON GeoJSON: JSON-basierter Standard um Geodaten für web applications zu kodieren Kein ganz anderes Format – nur eine spezifische Verwendung von JSON Latitude Longitude bilden gemeinsam ein Netz, das die ganze Welt umschließt Lon/Lat müssen für den Bildschirm gemapped werden (zu x/y Werten)
Paths: Los geht‘s... 1.path generator: var path = d3.geo.path(); -> translating GeoJSON coordinates in SVG path codes 2.Load data: d3.json("us-states.json", function(json) { svg.selectAll("path").data(json.features).enter().append("path").attr("d", path); });
Load data d3.json("us-states.json", function(json) { Argument 1: Pfad zur Argument 2 Datei als stringcallback function (asynchron)
Handling data loading Errors d3.json("us-states.json", function(error, data) { if (error)... else.... dataset = data; // Wenn geladen eine Kopie speichern generateVis(); // Vis erstellen...
Bind data to path Ein Pfad für jedes feature der Daten: svg.selectAll("path").data(json.features).enter().append("path").attr("d", path);d (path data attribute) wird auf den path generator verwiesen
Projections Problem: die Welt ist nicht 2D – der Bildschirm schon Eine Projektion ist ein Algorithmus der das Problem mit einem Kompromiss löst
Projections in d3 1.var projection = d3.geo.albersUsa().translate([w/2, h/2]);.scale([500]); 2.var path = d3.geo.path().projection(projection);
Dateviz mit maps Choropleth: Punkte hinzufügen (Beispiel aus Ordner ansehen)
Punkte hinzufügen Städte und zusätzliche Informationen als Kontextinformation angeben Beispiel für zusätzliche Daten: Geocoding service (Städenamen zu Lat/Lon):
Daten für Punkte laden und darstellen
Durchmesser durch Daten ändern
Geodaten beschaffen und parsen Erste Wahl: GeoJSON file Alternative: Shapefiles (bekannt aus GIS), eine Quelle: Zip Datei (alle Dateien erstmal aufheben, benötigt wird.shp) – Auflösung (resolution) aussuchen (immer Vektordaten, deshalb sind damit nicht pixel sondern kartographischer Detailgrad gemeint) Falsche Auflösung simplifizieren: Siehe Simplify the Shapes – Zu GeoJSON konvertieren: Siehe Convert to GEOJSON
Links Lon/Lat: Paths: Paths Paths Projections: Projections Projections