Drucken über mapfish mit Legende berücksichtigt nicht alle WFS Style Angaben

Issue #888 resolved
Michael Cronen created an issue

Hallo zusammen,

sofern Polygone, welche als WFS bereitgestellt werden über das Printmodul an einen Mapfishserver übergeben werden und hier ausgewählt wird, dass die Legende mit ausgegeben werden soll, so wird ein fehlerhafter Style in der Legende im Ausdruck angezeigt.
Hier werden die polygonStroke-Paramter (Color, Width, Dash) und die Transparenz aus der Styledatei nicht berücksichtigt, sondern nur die Flächenfüllung aus dem Parameter polygonFillColor angezeigt. Die Umrandung ergibt sich aus der gewählten Farbe im Mapfishformular und ist somit bei allen Polygonen einheitlich. Bei Polygonen ohne Flächenfüllung entsteht hierdurch eine komplett falsche Darstellung, da keine Flächenfüllung und die Umrandung aus dem Mapfishformular gewählt wird.
Ein Beispielportal mit dem Fehler ist leider bisher nicht im Internet verfügbar.
Hier allerdings die Definition des WFS, des Styles und ein Druckdienst mit dem Layout zur besseren Nachbildung:
Auszug aus der services-internet.json
{
"id": "586wfs",
"name": "Bebauungspläne Meerbusch WFS",
"url": "https://geodata.o-sp.de/service/meerbusch.cgi",
"typ": "WFS",
"featureType": "bebauungsplaene",
"featureNS": "https://geodata.o-sp.de/service/meerbusch.cgi",
"format": "image/png",
"version": "1.1.0",
"gfiAttributes": {
"planid":"planid",
"levelplan":"levelplan",
"name":"name",
"stadt":"stadt",
"gkz":"gkz",
"gruppeplanart":"gruppeplanart",
"kommune":"kommune",
"plannr":"plannr",
"plantyp":"plantyp",
"ueberarbeitungsdatum":"ueberarbeitungsdatum",
"aufstellung_datum":"aufstellung_datum",
"rechtskraft_datum":"rechtskraft_datum",
"aufhebung_datum":"aufhebung_datum",
"vschrittaktuell":"vschrittaktuell",
"digitalisierungsgrundlage":"digitalisierungsgrundlage",
"datenurl":"datenurl",
"url":"url",
"person":"person",
"stand":"stand",
"codeplanart":"codeplanart"
},
"gfiTheme": "default",
"layerAttribution": "nicht vorhanden",
"datasets": [
{
"md_id": "648e0958-2e49-4daa-be12-c1a8a3c6a3cf",
"rs_id": "https://registry.gdi-de.org/id/de.nw/MEERBUSCHB01",
"csw_url": "https://apps.geoportal.nrw.de/soapServices/CSWStartup",
"show_doc_url": "https://apps.geoportal.nrw.de/soapServices/CSWStartup?service=CSW&version=2.0.2&request=GetRecordById&typeNames=csw:Record&outputSchema=http://www.isotc211.org/2005/gmd&elementsetname=full&id=",
"md_name": "Bauleitpläne der Stadt Meerbusch",
"bbox": "5.72,9.53,50.15,52.60",
"kategorie_opendata": ["Bauen, Wohnen, Infrastruktur"],
"kategorie_inspire": ["Bodennutzung"],
"kategorie_organisation": ["Stadt Meerbusch"]
}
]
}

Auszug aus der style_v3.json
{
"styleId": "Bebauungspläne Meerbusch",
"rules": [
{
"conditions": {
"properties": {
"vschrittaktuell": "Rechtskraft gem. § 10 (3) BauGB"
}
},
"style": {
"polygonStrokeColor": [0, 0, 0, 1],
"polygonStrokeWidth":3,
"polygonStrokeDash": [10,8],
"polygonFillColor": [237, 107, 83, 0.35]
}
},
{
"conditions": {
"properties": {
"vschrittaktuell": "Aufstellungsbeschluss gem. § 2 (1) BauGB"
}
},
"style": {
"polygonStrokeColor": [0, 0, 0, 1],
"polygonStrokeWidth":3,
"polygonStrokeDash": [10,8],
"polygonFillColor": [113, 195, 227, 0.35]
}
},
{
"conditions": {
"properties": {
"vschrittaktuell": "Einleitung des Aufhebungsverfahrens gem. § 2 (1) BauGB"
}
},
"style": {
"polygonStrokeColor": [0, 0, 0, 1],
"polygonStrokeWidth":3,
"polygonStrokeDash": [10,8],
"polygonFillColor": [113, 195, 227, 0.35]
}
},
{
"conditions": {
"properties": {
"vschrittaktuell": "Frühzeitige Beteiligung der Behörden gem. § 4 (1) BauGB"
}
},
"style": {
"polygonStrokeColor": [0, 0, 0, 1],
"polygonStrokeWidth":3,
"polygonStrokeDash": [10,8],
"polygonFillColor": [113, 195, 227, 0.35]
}
},
{
"conditions": {
"properties": {
"vschrittaktuell": "Frühzeitige Beteiligung der Öffentlichkeit gem. § 3 (1) BauGB"
}
},
"style": {
"polygonStrokeColor": [0, 0, 0, 1],
"polygonStrokeWidth":3,
"polygonStrokeDash": [10,8],
"polygonFillColor": [113, 195, 227, 0.35]
}
},
{
"conditions": {
"properties": {
"vschrittaktuell": "Öffentliche Auslegung gem. § 3 (2) und § 4 (2) BauGB"
}
},
"style": {
"polygonStrokeColor": [0, 0, 0, 1],
"polygonStrokeWidth":3,
"polygonStrokeDash": [10,8],
"polygonFillColor": [113, 195, 227, 0.35]
}
}
]
}

Auszug aus der rest-service-internet.json
{
"id": "mapfish",
"name": "Print Service Prod",
"url": "https://maps.rhein-kreis-neuss.de/print3/print/",
"typ": "Print"
},

Auszug aus der config.json

"print": {
"name": "Karte drucken",
"icon": "bi-printer-fill",
"printServiceId": "mapfish",
"printAppId": "master_me",
"filename": "Ausdruck_Geoportal_Meerbusch",
"currentLayoutName": "A4 Hochformat",
"title": "",
"version" : "mapfish_print_3",
"useProxy": false
}

Comments (11)

  1. Sven Junker-Beyel

    Das Problem scheint zu sein, dass in einer condition folgendes angegeben wurde:

    "vschrittaktuell": "Frühzeitige Beteiligung der Öffentlichkeit gem. § 3 (1) BauGB"

    Richtig wäre aber Folgendes, da dies vom Dienst geliefert wird. (Zwei Blanks hinter Öffentlichkeit)

    "vschrittaktuell": "Frühzeitige Beteiligung der Öffentlichkeit  gem. § 3 (1) BauGB"

    Bitte einmal testen, ob das problem damit behoben ist.

  2. Judith Schroth

    Hallo Herr Junker-Beyel,

    Herr Cronen hat die ITK leider inzwischen verlassen um sich neuen Aufgaben zu widmen. Ich betreue zumindest vorübergehend den MapProxy für die ITK Rheinland. Zu dem aufgeführten Problem habe ich mir die Einträge in der Style Datei mit den Conditions angesehen und der genannte Eintrag ist mit dem Rückgabewert des Dienstes identisch

    “Frühzeitige Beteiligung der Öffentlichkeit gem. § 3 (1) BauGB” aus QGIS WFS Abfrage

    {
    "conditions": {
    "properties": {
    "vschrittaktuell": "Frühzeitige Beteiligung der Öffentlichkeit gem. § 3 (1) BauGB"
    }
    },
    "style": {
    "polygonStrokeColor": [0, 0, 0, 1],
    "polygonStrokeWidth":3,
    "polygonStrokeDash": [10,8],
    "polygonFillColor": [113, 195, 227, 0.35]
    }
    }, lt. Style - Datei

    D.h. der Eintrag ist identisch auch wenn in der Fehlermeldung von Herrn Cronen kein doppeltes Blank enthalten war. Der Fehler tritt auch weiterhin auf, wie von Herrn Cronen beschrieben. Bei dem genannten Dienst wird die FillColor als flächenfüllend ohne Transparenz in der Legende im Druck dargestellt. Die Umrandungslinie ist einheitlich schwarz und zwar wie ich inzwischen festgestellt habe auch auf dem Kartenausdruck.

    Im Anhang sende ich noch einen Ausdruck für das genannte Beispiel, außerdem sind dort noch die Stadtgrenze und Stadtteilgrenze zu erkennen, an denen das Problem deutlicher wird. Hier ist die Darstellung der Stadtgrenzen auch auf dem Ausdruck korrekt nur in der Legendendarstellung nicht. Außerdem einen Screenshot aus dem Portal, wo die Ausgetaltung korrekt dargestellt wird.

  3. Sven Junker-Beyel

    Hallo Frau Schroth, könnten Sie mir die Konfigurationen (services.json) der Stadtgrenze und Stadtteilgrenzen zukommen lassen?

  4. Judith Schroth

    Hallo Herrr Junker-Beyel,

    hier der WFS in der services.json

    {
    "id": "546_wfs",
    "name": "Beschriftung Stadtteile",
    "url": "https://maps.rhein-kreis-neuss.de/services/RKN_Verwaltungsgrenzen/wfs",
    "typ": "WFS",
    "featureType": "Stadtteile_Text",
    "featureNS": "https://maps.rhein-kreis-neuss.de/services",
    "format": "image/png",
    "version": "2.0.0",
    "gfiAttributes": "ignore",
    "gfiTheme": "default",
    "layerAttribution": "nicht vorhanden",
    "datasets": [
    {
    "md_id": "a1bf9860-78fa-4660-870f-bc0cd8b1b614",
    "rs_id": "https://registry.gdi-de.org/id/de.nw/RKN_VG",
    "csw_url": "https://apps.geoportal.nrw.de/soapServices/CSWStartup",
    "show_doc_url": "https://apps.geoportal.nrw.de/soapServices/CSWStartup?service=CSW&version=2.0.2&request=GetRecordById&typeNames=csw:Record&outputSchema=http://www.isotc211.org/2005/gmd&elementsetname=full&id=",
    "md_name": "Orts- und Stadtteile",
    "bbox": "6.43,6.89,51.01,51.34",
    "kategorie_opendata": ["Öffentliche Verwaltung, Finanzen"],
    "kategorie_inspire": ["Statistische Einheiten"],
    "kategorie_organisation": "Kataster- und Vermessungsamt"
    }
    ]
    }

    und hier noch der Eintrag in der config.json

                {
                    "Titel":"Öffentliche Verwaltung, Finanzen",
                    "Ordner": [
                        {
                            "Titel":"Verwaltungsgrenzen",
                            "isFolderSelectable": true,
                            "Ordner": [
                                {
                                    "Titel":"Stadtteil",
                                    "Layer": [
                                        {
                                            "id": "545_wfs",
                                            "styleId": "Stadtteil",
                                            "name": "Stadtteilgrenze",
                                            "wfsFilter": "xmlFilter/stadtteile_me.xml",
                                            "gfiAttributes": "ignore",
                                            "visibility": true
                                        }
                                    ]
                                },
                                {
                                    "Titel":"Gemeindegrenze",
                                    "Layer": [
                                        {
                                            "id": "543_wfs",
                                            "styleId": "GemeindeME",
                                            "name": "Stadtgrenze",
                                            "wfsFilter": "xmlFilter/gemeinde_me.xml",
                                            "gfiAttributes": "ignore",
                                            "visibility": true
                                        }
                                    ]
                                }                               
                            ]
                        }
                    ]
                }
    

    und hier noch die wfsFilter Dateien:

    <?xml version="1.0" encoding="UTF-8"?>
    <wfs:GetFeature service="WFS" version="1.1.0" outputFormat="application/gml+xml; version=3.2" xmlns:app="http://www.deegree.org/app" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:RKN_Verwaltungsgrenzen="https://maps.rhein-kreis-neuss.de/services">
    <wfs:Query typeName="RKN_Verwaltungsgrenzen:Stadtteile">
    ogc:Filter
    ogc:PropertyIsEqualTo
    ogc:PropertyNamegemeinde</ogc:PropertyName>
    ogc:LiteralMeerbusch</ogc:Literal>
    </ogc:PropertyIsEqualTo>
    </ogc:Filter>
    </wfs:Query>
    </wfs:GetFeature>

    <?xml version="1.0" encoding="UTF-8"?>
    <wfs:GetFeature service="WFS" version="1.1.0" outputFormat="application/gml+xml; version=3.2" xmlns:app="http://www.deegree.org/app" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:RKN_Verwaltungsgrenzen="https://maps.rhein-kreis-neuss.de/services">
    <wfs:Query typeName="RKN_Verwaltungsgrenzen:Gemeindegrenzen">
    ogc:Filter
    ogc:PropertyIsEqualTo
    ogc:PropertyNamegemeinde</ogc:PropertyName>
    ogc:LiteralMeerbusch</ogc:Literal>
    </ogc:PropertyIsEqualTo>
    </ogc:Filter>
    </wfs:Query>
    </wfs:GetFeature>

  5. Sven Junker-Beyel

    Danke, die Konfiguration für das Styling bräuchte ich noch. Alternativ können Sie auch gerne eine Beispielportal an dieses Issue anhängen.

  6. Judith Schroth

    sorry, noch nicht online, hier die Styleangaben

    {
    "styleId": "Stadtteil",
    "rules": [
    {
    "style": {
    "polygonStrokeColor": [221, 77, 25, 1],
    "polygonStrokeWidth":2,
    "polygonFillColor": [255, 255, 255, 0],
    "labelField": "stadtteil",
    "textFillColor":[221, 77, 25, 1]
    }
    }
    ]
    },

    {
    "styleId": "GemeindeME",
    "rules": [
    {
    "style": {
    "polygonStrokeColor": [0, 93, 170, 1],
    "polygonStrokeWidth":4,
    "polygonFillColor": [255, 255, 255, 0],
    "labelField": "gemeinde",
    "textFillColor":[0, 93, 170, 1],
    "textOffsetY": 40,
    "textOffsetX": 30,
    "textScale":3
    }
    }
    ]
    },

  7. Sven Junker-Beyel

    Danke. Ich glaube der services.json layer 546_wfs ist nicht der Richtige, da in der config.sjon die Layer: 545_wfs" und 543_wfsangegeben sind?

  8. Judith Schroth

    stimmt, hier die richtigen Einträge aus der services.json

    {
    "id": "543_wfs",
    "name": "Gemeindegrenzen",
    "url": "https://maps.rhein-kreis-neuss.de/services/RKN_Verwaltungsgrenzen/ows?",
    "typ": "WFS",
    "featureType": "Gemeindegrenzen",
    "featureNS": "https://maps.rhein-kreis-neuss.de/services",

    "format": "image/png",
    "version": "2.0.0",
    "gfiAttributes": {
        "gemeinde":"Gemeinde",
        "gemeindeschluessel":"Gemeindeschlüssel"},
    "gfiTheme": "default",
    "layerAttribution": "nicht vorhanden",
    "datasets": [
      {
        "md_id": "a1bf9860-78fa-4660-870f-bc0cd8b1b614",
        "rs_id": "<https://registry.gdi-de.org/id/de.nw/RKN_VG",>
        "csw_url": "<https://apps.geoportal.nrw.de/soapServices/CSWStartup",>
        "show_doc_url": "<https://apps.geoportal.nrw.de/soapServices/CSWStartup?service=CSW&version=2.0.2&request=GetRecordById&typeNames=csw:Record&outputSchema=http://www.isotc211.org/2005/gmd&elementsetname=full&id=",>
        "md_name": "Stadt- und Gemeindegrenzen",
        "bbox": "6.43,6.89,51.01,51.34",
        "kategorie_opendata": ["Öffentliche Verwaltung, Finanzen"],
        "kategorie_inspire": ["Statistische Einheiten"],
        "kategorie_organisation": "Kataster- und Vermessungsamt"
      }
    ]
    

    },

    {
    "id": "545_wfs",
    "name": "Stadtteile",
    "url": "https://maps.rhein-kreis-neuss.de/services/RKN_Verwaltungsgrenzen/ows?",
    "typ": "WFS",
    "featureType": "Stadtteile",
    "featureNS": "https://maps.rhein-kreis-neuss.de/services",

    "format": "image/png",
    "version": "2.0.0",
    "gfiAttributes": {
            "stadtteil":"Stadtteil",
            "gemeinde":"Gemeinde"},
    "gfiTheme": "default",
    "layerAttribution": "nicht vorhanden",
    "datasets": [
      {
        "md_id": "a1bf9860-78fa-4660-870f-bc0cd8b1b614",
        "rs_id": "<https://registry.gdi-de.org/id/de.nw/RKN_VG",>
        "csw_url": "<https://apps.geoportal.nrw.de/soapServices/CSWStartup",>
        "show_doc_url": "<https://apps.geoportal.nrw.de/soapServices/CSWStartup?service=CSW&version=2.0.2&request=GetRecordById&typeNames=csw:Record&outputSchema=http://www.isotc211.org/2005/gmd&elementsetname=full&id=",>
        "md_name": "Orts- und Stadtteile",
        "bbox": "6.43,6.89,51.01,51.34",
        "kategorie_opendata": ["Öffentliche Verwaltung, Finanzen"],
        "kategorie_inspire": ["Statistische Einheiten"],
        "kategorie_organisation": "Kataster- und Vermessungsamt"
      }
    ]
    

    },

  9. Log in to comment