wmts

Webmapping OER Kurs - Hintergrundkarten mit Web Map Tile Services (WMTS)

CC-BY Icon

Webmapping OER Kurs Lern-Session Hintergrundkarten mit Web Map Tile Services (WMTS) von Klaus Förster unter der Lizenz CC-BY 4.0. Kartendaten der Verwaltungsgrundkarte Raster Österreich von basemap.at unter der Lizenz CC-BY 4.0.

Willkommen zur Webmapping OER Lern-Session Hintergrundkarten mit Web Map Tile Services (WMTS). Nimm dir einenhalb Stunden Zeit und entdecke am Beispiel der Verwaltungsgrundkarte Österreich, wie du mit einem freien WMTS-Dienst und Leaflet Hintergrundkarten für dein Webmapping Projekt in einer wählbaren Layer-Control implementieren kannst.

[!NOTE] Zum Arbeiten benötigst du einen Standard konformen Browser (z.B. Firefox), Visual Studio Code zum Editieren der HTML und Javascript Dateien und LibreOffice für die Aufgabe sowie die Übung im Anschluss an die Einheit. Die komplette Einheit kannst du unter Releases als ZIP-Datei downloaden, lokal auf deinem Computer entpacken und in Visual Studio Code über “Ordner Öffnen” verfügbar machen. Beim Ansehen der Markdown-Dateien (.md) hilft dir die Tastenkombination Ctrl + Shift + V und mit dem Visual Studio Code Plugin Live Server Plugin von Ritwick Dey kannst du dir HTML-Seiten wie im Web anzeigen lassen. Klicke dazu einfach auf “Go Live” im rechten, unteren Eck des Editors.

1. Kurzeinführung Web Map Tile Services (WMTS)

Zeit: 10 Minuten

Die folgende Präsentation gibt einen kurzen Überblick, wie man sich Web Map Tile Services (WMTS) vorstellen kann. Beschäftige dich mit den wenigen Folien und recherchiere eigenständig im Internet, wenn dir etwas nicht klar ist, oder du mehr Information möchtest.

2. Lerne GetCapabilities.xml kennen

2.1. Analysiere die GetCapabilities.xml Datei der Verwaltungsgrundkarte Raster Österreich

Zeit: 20 Minuten

Wie du aus der Präsentation weißt, werden WMTS-Dienste in einer GetCapabilities.xml Datei definiert. Sieh dir die entsprechende XML-Datei der Verwaltungsgrundkarte Raster Österreich an:

Finde alle Layer, die vom basemap.at WMTS-Dienst angeboten werden und trage für jeden Layer die Attribute URL zur XML-Datei, Titel, Abstract, Extent mit Min-XY, Max-XY, Style, TileMatrixSet, ResourceURL und maximaler Zoom-Level in diesem LibreOffice-Template ein:

[!TIP] Die meisten Attribute sind leicht zu finden, nur beim maximalen Zoom-Level musst du “etwas ums Eck denken”, denn der steht nicht direkt in der Layer-Definition sondern muss aus dieser abgeleitet werden …

2.2. Leite die WMTS-Urls für Leaflet ab und ergänze die Datenquelle

Zeit: 10 Minuten

In der Leaflet-Dokumentation unter L.tileLayer() (https://leafletjs.com/reference.html#tilelayer) siehst du, wie WMTS-Dienste in Leaflet implementiert werden können. Sieh dir das Usage example für die OpenStreetMap an und versuche, die ResourceURL der Layer der Verwaltungsgrundkarte in gültige URLs für Leaflet umzuwandeln. Denke dabei nicht zu kompliziert, sondern versuche, die ResourceURL so umzuformen, dass am Ende nur noch {x}, {y} und {z}als Platzhalter in der Leaflet-URL übrig bleiben. Alle anderen {xxx}-Einträge sollten aufgelöst sein. Ergänze die umgeformten URLs in der Analysetabelle in einer neuen Spalte LeafletURL

Zusätzlich benötigen wir aus rechtlichen Gründen auch die Attribution für die basemap.at Daten. Sie wird später von Leaflet in der rechten, unteren Ecke der Karte als attribution (https://leafletjs.com/reference.html#tilelayer-attribution) angezeigt werden. Was dort stehen soll, findest du bei der Datensatzbeschreibung der basemap.at Verwaltungsgrundkarte Raster Österreich beim Open Data Portal Österreichs (data.gv.at) unter https://www.data.gv.at/katalog/de/dataset/basemap-at. Halte Ausschau nach einem “Lizenzzitat” und ergänze den HTML-Code für dieses Zitat mit Link zur Lizenz in der Analysetabelle in einer neuen Spalte Attribution HTML.

Damit ist unsere Analysetabelle mit den Attributen der basemap.at WMTS-Layer vollständig. Zur Kontrolle kannst du dir diese ausgefüllte Tabelle ansehen und vergleichen, ob du zum selben Ergebnis gekommen bist:

3. Implementiere die Leaflet Karte

3.1. Entpacke das Template und initialisiere die Karte

Zeit: 10 Minuten

Damit ist es Zeit, sich der Visualisierung mit Leaflet zuzuwenden. Damit du dich auf das Implementieren der Karte konzentrieren kannst, ist ein Template mit HTML-, CSS- und Javascript-Dateien bereits vorbereitet (siehe Webvorschau):

Entpacke template-wmts.zip bei dir lokal am Rechner und öffne das Verzeichnis, in dem du es entpackt hast, mit “Ordner öffnen” in Visual Studio Code. Damit kannst du mit dem Live Server Plugin von Ritwick Dey die Webseite ansehen, als ob sie im Netz wäre. Klicke dazu einfach auf “Go Live” im rechten, unteren Eck des Editors.

In der index.html und main.js Datei stehen Kommentare, die du im ersten Schritt mit HTML-Elementen und Leaflet-Aufrufen ersetzen musst. Führe folgende Schritte aus:

Damit ist die Karte initialisiert. Ob wir auch auf den richtigen Ausschnitt blicken, werden wir erst später sehen, denn noch ist die Kartenfläche grau, mit einer Maßstabsleiste in der linken unteren Ecke und einer Zoom-Kontrolle in der linken oberen Ecke.

3.2. Implementiere die Layer-Control mit allen verfügbaren Layern

Zeit: 20 Minuten

Die Layer-Control für die verfügbaren basemap.at Layer erstellst du in zwei Schritten

[!TIP] Verwende für die Attribution sogenannte Javascript Template literals (Template strings) mit Backticks (` `), dann musst du dich nicht um Anführungszeichen bei den Links kümmern und könntest über string interpolation auch Variablen in der Attribution direkt auflösen

3.3. Gruppiere Orthofoto und Overlay zu einem Layer

Zeit: 5 Minuten

Die Layer der basemap.at umfassen auch drei Layer, die keine Beschriftung aufweisen: Orthofoto, Gelände und Oberfläche. Sie können mit dem Overlay für Beschriftungen ganz einfach kombiniert werden. Versuche es am Beispiel des Orthofotos:

Zeit: 5 Minuten

Ganz zum Schluss kannst du noch die Quelle für die Kartendaten der Verwaltungsgrundkarte Raster Österreich im Footer ergänzen

Kartendaten der <a href="https://www.data.gv.at/katalog/de/dataset/basemap-at">Verwaltungsgrundkarte Raster Österreich</a> von <a href="https://basemap.at/#lizenz">basemap.at</a> unter der Lizenz <a href="https://creativecommons.org/licenses/by/4.0/deed.de">CC-BY 4.0</a>.
</footer>

Damit ist die Karte fertig. Das Ergebnis kannst du dir auch auf der Kurshomepage unter https://webmapping-oer.github.io/wmts/solution ansehen.

CC-BY Icon

Visualisierung WMTS Hintergrundkarten (basemap.at) von Klaus Förster unter der Lizenz CC-BY-4.0. Kartendaten von basemap.at unter der Lizenz CC-BY-4.0 via data.gv.at. Kartenbibliothek Leaflet zur Visualisierung von Volodymyr Agafonkin unter der BSD 2-Clause Lizenz via cdnjs.com

4. Übe das Gelernte am Beispiel von zwei weiteren WMTS-Diensten

Zeit: 90-120 Minuten

Als Übung für zu Hause sollst du dich mit zwei weiteren WMTS-Diensten Österreichs beschäftigen: der eGrundkarte von Tirol und dem Web Map Tile Service der Stadt Wien.

Die GetCapabilities.xml- Dateien zur Analyse kannst du hier downloaden:

Die Analysetabelle mit allen Einträgen kannst du dir natürlich auch ansehen - am Besten erst nach dem Üben ;-)


5. Materialien

Hier noch die Liste der verwendeten Materialien mit Lizenz-Zitaten.


Webmapping OER Kurs