Importer

Importer Tool #

Das Importer Tool bietet einen zentralen Einstieg für das Hinzufügen von Daten und Services in das Portal.
In einem dialoggeführten Wizzard wird zunächst die Art der zu importierenden Daten festgelegt:

  1. Lokale Geodaten
  2. WMS
  3. WFS
  4. WMTS

Upload von Geodaten #

Per Klick oder Drag & Drop lassen sich folgende Formate hochladen:

  • GML
  • KML
  • GPX
  • GeoJSON
  • Geopackage (Vektordaten)
  • Shapefiles

Unmittelbar nach dem Upload erfolgt ein Test auf das Dateiformat sowie die Dateigröße.

Die maximale Uploadgröße lässt sich in der config.json definieren. Standardmäßig ist folgende Konfiguration eingestellt (in Bytes):

    "importer": {
        "name": "importer",
        "glyphicon": "fas fa-upload fa-lg",
        "maxFileSize": 10000
    }

Nach erfolgreicher Überprüfung erscheint ein positives Feedback im Upload-Fenster, entsprechende Info erfolgt auch bei fehlgeschlagener Überprüfung.
Im nächstem Schritt werden die Features des hochgeladenen Datensatzes gelesen. Sofern dies erfolgreich ist, wird automatisch der nächste Schritt angezeigt. Bei Fehlern wird eine entsprechende Info an den User gegegeben.

Anschließend kann eine Auswahl zwischen standard- oder benutzerdefinierten Layereinstellungen getroffen werden. Letzteres ermöglicht die Angabe eines individuellen Layernamens, gültigen Maßstabsbereichen, Transparenzeinstellungen und die Angabe eines Feature-Info Feldes.
In beiden Fällen ist eine einfache Editierung des Stils möglich.

Ein Extra-Fall stellen Layer des Formats KML dar. Hierbei wird der enthaltene KML-Stil standardmäßig übernommen, kann jedoch durch einen neuen Stil ersetzt werden.

Anpassung des Layerstils #

Für hochgeladene Vektordaten sowie WFS-Layer ist eine einfache Anpassung des Stils möglich. Hierbei lassen sich Füllfarbe, Linienfarbe und Liniendicke konfigurieren. Die Auswahl der Farbe erfolgt über einen Color-Picker, die der Liniendicke über einen Schieberegler. Zudem ist eine simple Vorschau implementiert.

Finales Hinzufügen des Layers #

Im letzten Schritt wird der (oder bei WMS die) Layer der Karte hinzugefügt. Dies erfolgt automatisch im letztem Schritt ohne weitere User-Aktion. Bei erfolgreichem Import erscheint der neue Layer im Layertree an oberster Stelle. Anschließend hat der User die Möglichkeit das Importer-Tool zu schließen oder jedoch weitere Layer zu importieren. Je nach initial ausgewähltem Layer-Typus (Lokale Geodaten oder Service) springt der Wizzard an entsprechende Stelle zurück.

Import von Diensten #

Nach Auswahl von WMS, WFS oder WMTS erscheint zunächst eine filterbare Liste der im Portal definierten Diensten jenes Typen. Hierbei wird die services-internet.json der Portalinstanz ausgelesen und entsprechend gefiltert.
Durch einen Klick auf Hinzufügen erfolgt eine Aufruf des GetCapabilities-Dokumentes und eine anschließende Auflistung der Layer des Dienstes.
Alternativ lässt sich durch das Wechsel des “Tabs” auf Extern, eine Dienste-URL angeben, die bislang noch nicht im Portal definiert wurde.

Bei Diensten des Typs WMS und WMTS können direkt mehrere Layer hinzugefügt werden. Es erfolgt keine weitere Konfiguration und alle Layer werden mit Standardeinstellungen hinzugefügt.

Bei WFS-Diensten kann ein Layer ausgewählt werden, der - analog zu den lokalen Geodaten - anschließend konfiguriert werden kann. Ergänzend kann hier der maxFeatures Parameter sowie die Restriktion des BBox Parameters auf den aktuellen Kartenausschnitt definiert werden.

Definieren der möglichen Import-Typen #

Standardmäßig lassen sich lokale Geodaten sowie Dienste des Typs WFS, WMS und WMTS importieren. Sollte einer dieser Typen nicht erwünscht sein, so kann dies durch das Hinzufügen eines activeImportTypes Objektes konfiguriert werden (config.json). Siehe nachfolgendes Beispiel für das Deaktivieren des WFS-Imports (wichtig ist, dass für alle möglichen Import-Typen ein Boolean definiert ist):

"importer": {
    "name": "translate#common:menu.tools.importer",
    "glyphicon": "fas fa-upload fa-lg",
    "maxFileSize": 10000000 ,
    "activeImportTypes": {
        "geodata": true,
        "wfs": false,
        "wms": true,
        "wmts": true
    }
},

Bekannte Probleme #

  1. Vorschaubilder WMS Die Anzeige der Vorschaubilder in der WMS-Liste lädt nicht bei allen Diensten erfolgreich, was auf langsam antwortende Server zurückzuführen ist.
  2. WFS Auswahl des Feature-Info Feldes nicht wirksam in der Kartenviewer API. Dies wird noch analysiert.
  3. Projektion Geodaten Bei einigen Formaten (GML, GeoJSON) führen andere Projektionen als EPSG:4326 und EPSG:3857 zu Fehlern beim Parsen der Features.
    Explizit sind dies:
  • GeoJSON: Nur EPSG:4326
  • GML:

Das Format GPX unterstützt nur Koordinaten in WGS84.

Geopackage #

Folgender Schritte ist notwendig, um GeoPackages zu importieren:

  1. Die WebAssembly (Wasm) Datei von SQL.js muss im Portalordner liegen. Diese wird im Pfad ressources/lib/sql-wasm.wasm erwartet. Im Demo Branch ist diese eingecheckt.

Limitierungen #

  • Es werden generell nur Vektordaten importiert.
  • Es wird nur die erste FeatureTable eines GeoPackages gelesen und importiert.