Konfiguration des Masterportals mit Layern aus Geoserver | Configuring the master portal with layers from Geoserver

Ich poste hier eine Beispielkonfiguration, die zeigt, wie man in Civitas Core 1 einen vom Geoserver bereitgestellten Layer in das Masterportal einbindet.

Dazu muss man den Layer in die Datei services.json in der Masterportal-Config einfügen sowie in die config.json aufnehmen.

Config-File: services.json
Im folgenden Beispiel wird ein Layer eingebunden welcher öffentlich (ohne Login) abrufbar sein soll. Dafür muss der Layer im Geoserver unter Sicherheit für „ROLE_ANONYMOUS“ → „Lesend“ freigeben sein.

Der Arbeitsbereich im Geoserver hießt in diesem Beispiel: „ds_open_data“ und der Layer „glascontainer“. Außerdem muss auch die Domain der Civitas Instanz unter „url“ und „legendURL“ angepasst werden.

  {
    "id": "glascontainer",
    "name": "Glascontainer",
    "url": "https://geoportal.example-civitas-core.de/geoserver/ds_open_data/ows",
    "typ": "WMS",
    "layers": "ds_open_data:glascontainer",
    "format": "image/png",
    "version": "1.3.0",
    "singleTile": true,
    "transparent": true,
    "transparency": 0,
    "tilesize": 512,
    "gutter": 0,
    "minScale": "0",
    "maxScale": "1000000",
    "gfiAttributes": "showAll",
    "gfiTheme": "default",
    "gfiComplex": "false",
    "layerAttribution": "nicht vorhanden",
    "legendURL": "https://geoportal.example-civitas-core.de/geoserver/ds_open_data/ows?service=WMS&version=1.3.0&request=GetLegendGraphic&format=image/png&layer=ds_open_data:glascontainer",
    "cache": false,
    "featureCount": 1000,
    "crs": "EPSG:3857",
    "datasets": false
  }

Auszug Config-File: config.json

    "subjectlayer": {
      "elements": [
        {
          "name": "Information",
          "type": "folder",
          "elements": [
            {
              "id": "glascontainer",
              "name": "Glascontainer"
            }]}]}

Nach der Änderung kann über diesen Link geprüft werden, ob die geänderte Konfigurationsdatei ins Masterportal übernommen wurde → https://geoportal.example-civitas-core.de/portal/resources/services-internet.json

Tipp: Wenn man manuelle Änderungen an den JSON-Config-Dateien vornimmt, sollte man die Datei anschließend durch einen JSON-Validator laufen lassen, um Fehlerquellen zu reduzieren.

Weitere Infos zu dem Thema gibt es auch in der Masterportal Doku.

3 „Gefällt mir“

Tolles Beispiel :+1:. Ergänzend dazu noch ein kleiner Hinweis zur Vereinfachung der Konfiguration:

In CIVITAS/CORE V1 ist die variable GEOSERVER_URL definiert, welche man anstelle von der URL verwenden kann. So passt sich die Konfiguration automatisch der jeweiligen Umgebung an, ohne dass die services.json für Test-, Staging- oder Produktivsystem separat angepasst werden muss.

"url": "https://geoportal.example-civitas-core.de/geoserver/ds_open_data/ows",
"legendURL": "https://geoportal.example-civitas-core.de/geoserver/ds_open_data/ows?service=WMS&version=1.3.0&request=GetLegendGraphic&format=image/png&layer=ds_open_data:glascontainer",

kann daher durch GEOSERVER_URL ersetzt werden:

"url": "GEOSERVER_URL/ds_open_data/ows",
"legendURL": "GEOSERVER_URL/ds_open_data/ows?service=WMS&version=1.3.0&request=GetLegendGraphic&format=image/png&layer=ds_open_data:glascontainer",
4 „Gefällt mir“

Danke für die Ergänzung!
Es ergibt Sinn, die URL direkt über eine Variable zu setzen.

2 „Gefällt mir“