Globale Konfiguration

services.json

Dies ist die zentrale Konfiguration für sämtliche Layer (WMS, WFS, WMTS, SensorThings-API, GeoJSON and weitere) die in den Portal dargestellt werden sollen. Sie wird in den jeweiligen Portalkonfigurationen (config.js) referenziert. Es kann auch auf einen API-Endpunkt verwiesen werden, der die services.json Datei generiert - etwa über einen Dienstemanager.

Jeder Layertyp benötigt unterschiedliche Parameter, wobei einige stets obligatorisch und andere optional sind.

WMS

Ein Beispiel für einen WMS-Layer:

{
    "id" : "8",
    "name" : "Aerial View DOP 10",
    "url" : "https://geodienste.hamburg.de/HH_WMS_DOP10",
    "typ" : "WMS",
    "layers" : "1",
    "format" : "image/jpeg",
    "version" : "1.3.0",
    "singleTile" : false,
    "transparent" : true,
    "tilesize" : "512",
    "gutter" : "0",
    "minScale" : "0",
    "maxScale" : "1000000",
    "gfiAttributes" : "ignore",
    "layerAttribution" : "nicht vorhanden",
    "legend" : false,
    "layerSequence": 1,
    "datasets" : [
        {
        "md_id" : "25DB0242-D6A3-48E2-BAE4-359FB28491BA",
        "rs_id" : "HMDK/25DB0242-D6A3-48E2-BAE4-359FB28491BA",
        "md_name" : "Digitale Orthophotos 10cm - FHHNET",
        "bbox" : "461468.97,5916367.23,587010.91,5980347.76",
        "kategorie_opendata" : [
            "Sonstiges"
        ],
        "kategorie_inspire" : [
            "nicht INSPIRE-identifiziert"
        ],
        "kategorie_organisation" : "Landesbetrieb Geoinformation und Vermessung"
        }
    ]
}

Hier sind zahlreiche Parameter angegeben, die den Layer optimal definieren. Beispielsweise bewirkt der gfiAttributes: false Parametereinstellung, dass keine Sachdatenabfrage (GetFeatureInfo) ausgeführt wird.
tilesize" : "512" sorgt dafür, dass die Kacheln des WMS in einer Größe von 512x512 Pixeln abgefragt werden (default 256px).

Hinweis

Die Parameter bedingen sich teilweise gegenseitig bzw. sind voneinander abhängig. Bei ungewünschten Verhalten der Layer sollte die vollständige Dokumentation ausführlich studiert werden.
Ein Beispiel: singleTile: true hat zur Folge, dass der Ausschnitt als einzelne Kachel vom WMS abgefragt wird. tileSize hat dann natürlich keinen Effekt mehr.

WMTS

Ein Beispiel, das nur wenige Konfigurationsparameter bedarf ist ein WMTS, wenn der Parameter optionsFromCapabilities gesetzt ist:

{
    "id": "2020",
    "name": "EOC Basemap",
    "capabilitiesUrl": "https://tiles.geoservice.dlr.de/service/wmts?SERVICE=WMTS&REQUEST=GetCapabilities",
    "typ": "WMTS",
    "layers": "eoc:basemap",
    "optionsFromCapabilities": true
}

Hier muss bedacht werden, dass die Kacheln in der Projektion des ersten TileGrid angefragt werden, dass im Capabilities auftaucht (zumeist EPSG:3857). OpenLayers übernimmt im Client die Reprojektion der Kacheln in die aktuelle Kartenprojektion.

Link zur vollständigen Dokumentation

rest-services.json

Hier werden alle Services definiert, die nicht direkt für die visuelle Darstellung von Daten benötigt werden:

  • Print services (MapFish)
  • Metadata sources (CSW HMDK)
  • BKG geocoding service
  • Gazetteer URL
  • WPS
  • Email Services
[
  {
    "id": "1",
    "name": "CSW HMDK Summary",
    "url": "http://metaver.de/csw?service=CSW&version=2.0.2&request=GetRecordById&typeNames=csw:Record&elementsetname=summary",
    "typ": "CSW"
  },
  {
    "id": "mapfish-terrestris",
    "name": "Testserver Print",
    "url": "https://10.133.7.xx/print/",
    "typ": "Print"
  },
  {
    "id" : "11",
    "name" : "Komoot Photon Suche",
    "url" : "https://photon.komoot.io/api/?",
    "typ" : "WFS"
  },
  {
    "id" : "80002",
    "name" : "Email Service by PHP",
    "url" : "https://geoportal-hamburg.de/smtp/sendmail.php",
    "typ" : "EmailService"
  }
]

style.json

Vektordaten wie WFS und GeoJSON werden clientseitig gestyled (gegenüber WMS und WMTS, die serverseitig gestyled werden).
Das Masterportal liest hierzu die style.json aus, in der x-beliebige Style im OpenLayers eigenen Stil-Format definiert werden. Bei der Konfiguration von Vektorlayern kann einem Layer ein bestimmter Stil zugewiesen werden, zudem können diese Stile für dynamisch hinzugefügte Layer (während der Laufzeit) verwendet werden oder Standard-Layer wie beispielsweise MapMarker.

Jeder Style beginnt mit einer styleID und darauffolgend mit der Definition von Stilregeln.

  {
    "styleId": "blue-point",
    "rules": [
      {
        "style":
          {
          "circleRadius" : 6,
          "circleStrokeColor": [51, 102, 255, 1],
          "circleStrokeWidth": 2,
          "circleFillColor": [51, 102, 255, 1]
          }
      }
    ]
  },

Der Stilregel können conditions hinzugefügt werden, die letztendlich attributives Styling ermöglichen:

  {
    "styleId": "blue-point",
    "rules": [
      {
          "conditions": {
                "properties": [
                    {
                        "attrName": "housenumber",
                        "value": [0, 100]
                    }
                ]
        },
        "style":
          {
          "circleRadius" : 6,
          "circleStrokeColor": [51, 102, 255, 1],
          "circleStrokeWidth": 2,
          "circleFillColor": [51, 102, 255, 1]
          }
      }
    ]
  },

Link zur vollständigen Beschreibung der Conditions

Vollständige Konfiguration

FOSSGIS 2024Last modified: 2024-06-25 10:01:04

results matching ""

    No results matching ""