webmapping

Session 10: Tips für die Projektphase, QGIS, Plugins, SCotty, IOM und TopoJSON

1. Tips für die Projektphase

Task: bevor wir weitermachen, erstellt ein neues Repo tips und klont es lokal

2. GeoJSON Dateien aus Shapefiles in QGIS - Mountainbike-Wegweisertafeln in Vorarlberg

a) Daten downloaden

b) Einlesen in QGIS

c) Abspeichern als .geojson

COMMIT: https://github.com/webmapping/tips/commit/f975f7f5f00a3f17d5143d3240c6bf7674bfd0c9

d) Daten visualisieren

3. Plugins, Plugins, Plugins & Scotty

Leaflet.hash

https://github.com/mlevans/leaflet-hash

Zeigt Zoom-Level, Lat, Lng in der URL-Zeile des Browsers an. Wir können damit gut Bookmarks zu Ausschnitten erzeugen

Template: https://webmapping.github.io/templates/one_page_europe.html verwenden und im Unterverzeichnis tips/plugins/ als hash.html speichern

Einbau:

COMMIT: https://github.com/webmapping/tips/commit/aab05c9363eb68afc6acd9aab631efff13422aef

Leaflet.ResetView

https://github.com/drustack/Leaflet.ResetView

Link zur Startansicht der Seite bei der Zoom-control implementieren

Template: https://webmapping.github.io/templates/one_page_tirol.html verwenden und im Unterverzeichnis tips/plugins/ als resetview.html speichern

Einbau:

Leaflet.locatecontrol

https://github.com/domoritz/leaflet-locatecontrol

Ermöglicht, auf den eigenen Standort zu zoomen. Praktisch bei Karten, bei denen wir GeoLocation zur Navigation beim Benutzer, der Benutzerin benötigen

Template: https://webmapping.github.io/templates/one_page_austria.html verwenden und im Unterverzeichnis tips/plugins/ als locatecontrol.html speichern

Einbau:

Leaflet.GeoSearch

https://github.com/smeijer/leaflet-geosearch - https://smeijer.github.io/leaflet-geosearch/

Geocodieren von Adressen mit Nominatim und anderen Services

Template: https://webmapping.github.io/templates/one_page_tirol.html verwenden und im Unterverzeichnis tips/plugins/ als geosearch.html speichern

Einbau:

Scotty Widget Generator

Die ÖBB bieten ein Online Tool, mit dem man die Fahrplanabfrage direkt auf der eigenen Webseite einbinden kann, den: Widget Generator: https://fahrplan.oebb.at/webapp/widgetgenerator.html

4. GeoJSON aus Tabellen erzeugen - IOM’s Missing Migrants Project

https://missingmigrants.iom.int/

Missing Migrants Project records since 2014 people who die in the process of migration towards an international destination, regardless of their legal status. As collecting information is challenging, all figures remain undercounts. The locations in most cases are approximate. Each number represents a person, as well as the family and community that they leave behind.

Wir arbeiten in einem neuen Unterverzeichnis tips/iom/

a) Daten vorbereiten

Task: Daten im Download-Bereich von IOM als XLSX downloaden und nach GeoJSON konvertieren. Als Zwischenschritte verwenden wir LiberOffice zum Ergänzen der nötigen LAT/LNG Spalten und das Online Tool Convert CSV to GeoJSON (https://www.convertcsv.com/csv-to-geojson.htm) zur Umwandlung der XLSX-Daten in GeoJSON.

b) Daten visualisieren

Task: zur Visualisierung der Rohdaten verwenden wir ein vorbereitetes Template, laden die GeoJSON Daten asynchron und zeigen sie als Marker an. Jeder Marker erhält ein Popup mit ausgewählten Daten zum jeweiligen Ereignis.

5. GeoJSON in TopoJSON konvertieren und visualisieren

Wenn GeoJSON-Dateien zu groß für die Verwendung im Projekt sind, kann man versuchen, sie in TopoJSON umzuwandeln. Die Spezifikation dieses Formats findet sich hier: https://github.com/topojson/topojson-specification

a) GeoJSON Daten downloaden

b) GeoJSON nach TopoJSON konvertieren

Mit einem provisorischen Konvertierungstool am Server der Geographie, können wir GeoJSON in TopoJSON umwandeln: https://geographie.uibk.ac.at/data/topojson

c) TopoJSON mit Leaflet.omnivore visualisieren

Als Template verwenden wir https://webmapping.github.io/templates/one_page_europe.html und speichern es im Unterverzeichnis tips/topojson/ als index.html. Wir passen Titel und Quelle des Templates an “TopoJSON mit Leaflet.omnivore

COMMIT: https://github.com/webmapping/tips/commit/259ea0a53cf6326c9258a05adca7828a3383b6a8

Danach können wir: