Esri stellt seit einiger Zeit Grundkarten bereit, die den Export von Kacheln ermöglichen. Diese Möglichkeit ist jetzt auch für die Vector Basemaps verfügbar.

ArcGIS REST-API bietet einen unkomplizierten Weg zum Exportieren von Vektor-Kachelpaketen.

Einführung

Die Vektorkachel-Technologie von Esri ermöglicht die Trennung von Daten und Darstellung der Grundkarte. Für einen Basemap-Template bieten sich viele Visualisierungsmöglichkeiten, die extra in einer JSON Style Datei gespeichert werden können. Die hier verlinkten Export-geeigneten Vektorgrundkarten basieren alle auf denselben „World Basemap“-Datenbank, nur der Style variiert.

Falls mehrere dieser Grundkarten offline genutzt werden sollen, muss nur von einem der Services die URL als Standard benutzt und jeweils nach Präferenz die entsprechende Style Datei exportiert werden.

Um die ArcGIS-REST-API zu verwenden, müssen Sie eine URL erstellen um die Antwort von ArcGIS Server im JSON-Format interpretieren zu können. Das heißt in diesem Fall, dass die “World Basemap Export” Service URL angepasst werden muss, um mit dem Vektorkachel-Server für die Export Tiles Operation kommunizieren zu können. Esri ermöglicht damit das Exportieren von bis zu 10.000 Kacheln und stellt ein Vektorkachelpaket (.vtpk) zum Download bereit.

Abbildung 1: Item-Seite und URL einer für den Export geeigneten Vektorgrundkarte

Parameter

Die REST API-Operation, die das Herunterladen von Vektorkacheln zur Offline-Nutzung ermöglicht, heißt exportTiles.

Bevor Sie beginnen müssen Sie festlegen welcher Bereich der Weltkarte in welchen Zoomstufen ausgewählt werden soll. Das muss in den Request Parametern der exportTiles-Operation festgelegt werden.

Folgende Parameter sind für die Formulierung der Request-URL nötig:

  • exportExtent
    • Die Ausdehnung des zu exportierenden Vektorkachelpakets, sollte innerhalb des angegebenen Raumbezugs liegen. Der Standardwert ist die vollständige Ausdehnung des gekachelten Karten-Service.
    • Beispiel: exportExtent={„spatialReference“:{„wkid“:102100,“latestWkid“:3857}, „xmax“:1.936330167439007E7,“xmin“:1.8878385166948937E7, „ymax“:-5133377.883934237,“ymin“:-5466031.831031308}
  • levels
    • Gibt die gekachelten Service-Level an, die exportiert werden sollen. Die Werte sollten Level IDs entsprechen. Die Werte können durch Kommas getrennte Werte oder ein Wertebereich sein.
    • Beispiel: exportBy=levelId&levels=0-6
  • token
    • Ein Token, das beim Exportieren übergeben werden soll (temporärere Zugriffstoken können Sie hier erhalten).

Hier finden Sie einige Beispiel-URL-Anforderungen für den “World Basemap Export” Service  in ArcGIS Online.

Standardausdehnung:

„>https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_Export_v2/VectorTileServer/exportTiles?extent={„spatialReference“:{„wkid“:102100,“latestWkid“:3857},“xmax“:1.936330167439007E7,“xmin“:1.8878385166948937E7, „ymax“:-5133377.883934237,“ymin“:-5466031.831031308}& &levels=0-6&&token=<token>

Job Status & Vektorkachelpaket erhalten

Nachdem Sie Ihre Request-URL richtig formuliert haben erhalten Sie als Antwort, in Ihrem Browser, einige Informationen im JSON-Format. Dies sind Detailinformationen zu dem sogenannten Job der gestartet wurde.

Format:

{„id“:““,“name“:“World_Basemap_Export_v2″,“url“:null,“status“:“success“,“itemId“:”“,“type“:“Vector Tile Service“,“jobId“:““,“message“:“success“}

Sie können den Status eines aktuellen Jobs, anhand der Job-ID überprüfen:

https://lws-job-results-prd0.s3.amazonaws.com/export/<Name>.vtpk?response-content-disposition=Content-Disposition%3A%20attachment%3B%20filename%<Name>.vtpk&X-Amz-Security-Token=<token>]

Wenn Sie diese Ausgabe-URL abrufen, laden Sie das entsprechende Vektorkachelpaket automatisch herunter.

Abbildung 2: Auswahl an verfügbaren Basemaps

Eine ausführliche Dokumentation der REST exportTiles Operation finden Sie hier.

Der Export von Vektorkacheln ist auch in ArcGIS Runtime 100.x möglich. Mehr dazu erfahren Sie hier.