[PostNAS Suite] Fwd: Umstellung der Mapdatei (Mapserver 7) für NorGIS ALKIS

Schepers, Benjamin schepers at rvr-online.de
Mo Mai 23 04:53:28 PDT 2016


Hallo alle,

	Zunächst mal müsste es heißen "* !GetLegendGraphic" (mit Sternchen davor).
-> Natürlich, Sorry! :-/


	"Wenn für einen WMS-Layer kein GetLegendGraphic erlaubt ist, dann sollte zu diesem Layer in den Capabilities auch keine Legend-URL ausgegeben werden."
-> Kann ich noch ergänzen (Mapserver 7.0.1): selbst wenn kein CLASS/NAME vorhanden ist und "!GetLegendGraphic" gesetzt ist, kommt auf der Layer-Ebene noch eine Legenden-URL, wenn INSPIRE-Kompatibilität eingeschaltet ist [WEB/METADATA/"wms_inspire_capabilities" "embed"]; es wäre zu klären, ob GetLegendGraphic INSPIRE-verpflichtend ist...


	Liegt das an "SIZEUNITS METERS" (statt default PIXEL)? Wird da was falsch umgerechnet?
-> aus http://lists.osgeo.org/pipermail//mapserver-users/2012-December/073840.html :
"The SIZEUNITS are applied based on a computed cellsize for a map request- there is a conversion from meters to pixels based on an extent/image size. Without that same context I don't see how the legend can possibly match the map. Can you pass extent and image size as part of a getLegendGraphic request?"

Meine Senf dazu - passend zum o.g. Post von Astrid/Steve: alle SIZEUNITS-Werte außer PIXEL legen absolute Größen für die Signaturen fest. Die Größe der Signatur in der Legende kann dann mit einem GetLegendGraphic-Request zzgl. weiterer Parameter (&BBOX=337500,5698500,338000,5699000&CRS=EPSG:25832&WIDTH=1000&HEIGHT=1000) erreicht werden. Da Clients die Legende i.d.R. nur beim Start anfragen, dürfte das dann im genannten Kontext meistens eine eher unlesbare Legende in kleinem Maßsstab ergeben. Kann ja vielleicht nochmal jemand verifizieren...
Bei mir gab es "erste ansehnliche Ergebnisse" mit 1000px x 1000px auf 500m x 500m [siehe QUERYSTRING-Erweiterung oben], wobei Schriftgröße Signaturgröße nicht zueinander passen, wie ich finde...

Passend dazu vielleicht: wir denken über eine "dynamische Legende" im Mapbender3 nach, also mit jedem Getmap-Request auch ein GetLegend-Request mit obigen zusätzlichen Parametern (BBOX, CRS, WIDTH, HEIGHT). Das hat bei Mapserver und GeoServer (in der jeweils aktuellen Version) zusätzlich den Effekt, dass nur die Objekte des aktuellen Kartenausschnitts in der Legende angezeigt werden. Gibt es Inetressenten?

Wer macht die Fehlermeldung bzgl. MapServer und "!GetLegendGraphic" auf?


Gruß
Benjamin


Luftbild und Geoinformationssysteme
Kronprinzenstraße 35
45128 Essen
Fon: +49 201 2069-232
Fax: +49 201 2069-500
schepers at rvr-online.de



Die Regionaldirektorin
Kronprinzenstraße 35
45128 Essen
Zentrale: +49 (0) 201 2069-0
Fax: +49 (0) 201 2069-500
www.metropoleruhr.de

Postfach 10 32 64
45032 Essen

Steuernummer: RVR 112/5797/0116
USt.-ldNr.: DE 173867500

Diese E-Mail koennte vertrauliche und/oder rechtlich geschuetzte Informationen enthalten.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail sind nicht gestattet.
This e-mail may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail.
Any unauthorised copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
-----Ursprüngliche Nachricht-----
Von: NAS [mailto:nas-bounces at lists.osgeo.org] Im Auftrag von Jäger, Frank (KRZ)
Gesendet: Freitag, 20. Mai 2016 14:01
An: 'PostNAS Suite - ALKIS, ATKIS, ABK - NAS Schnittstelle via ogr2ogr'
Betreff: Re: [PostNAS Suite] Fwd: Umstellung der Mapdatei (Mapserver 7) für NorGIS ALKIS

Hallo,
daran hatte ich noch gar nicht gedacht. Das wäre theoretisch möglich. Nach umfangreichen Tests zeigt sich aber, dass dies in der Praxis nicht funktioniert. 

Zunächst mal müsste es heißen "* !GetLegendGraphic" (mit Sternchen davor).
Denn wenn man nur die Legende verbietet ohne etwas anderes zu erlauben, liefert der WMS auch keine Karten mehr.

Ich habe es noch etwas anders gemacht:

Im Root:  
   wms_enable_request "GetCapabilities GetMap"

In Layern mit Template zusätzlich zum Geerbten:
  wms_enable_request "GetFeatureInfo"
 
In Layern vom Typ Fläche zusätzlich:
  wms_enable_request "GetLegendGraphic"
(Das sind die einzigen Layer, die eine vorzeigbare Legende produzieren.)

Es ist aber egal, ob man "GetLegendGraphic" nicht erlaubt oder mit vorgesetztem "!" sogar explizit verbietet.
In den Capabilities liefert der Mapserver trotzdem eine Legend-URL aus. Dies lässt den Client glauben, er bekäme eine Legende geliefert.
Wenn der Client die Legende dann über die gelieferte URL abruft, dann erinnert sich der Mapserver doch an das Verbot und liefert nicht.
Die Legende wird dann im Client Mapbender als das Browser-Symbol für "Kaputte Grafik" angezeigt.

Erst wenn man (zusätzlich) alle CLASS/NAME auskommentiert, dann verschwindet die Legend-URL aus den Capabilities.
Layer-Title und kaputte-Grafik-Symbol werden dann im Client (bei mir Mapbender 2.7.4) weggelassen.

Bei den "doppelt gruppierten" Layern unter "Flurstück" funktioniert auch das nicht mehr.

Sind wir uns einig, dass das folgende ein Bug im Mapserver 7.0.1 ist?
"Wenn für einen WMS-Layer kein GetLegendGraphic erlaubt ist, dann sollte zu diesem Layer in den Capabilities auch keine Legend-URL ausgegeben werden." 

Des Weiteren frage ich mich, ob nicht die Erzeugung der Legende in einer brauchbaren Größe funktionieren müsste.
Bei SVG mit SIZE aus einem Datenbankfeld wäre das verständlich.

Aber auch die Class "Flurstücksgrenze" wird in der Legende riesig groß. Das ist ein einfacher dünner schwarzer Strich als Outline einer Fläche.

Liegt das an "SIZEUNITS METERS" (statt default PIXEL)? Wird da was falsch umgerechnet?

Ich werde jedenfalls:
 - alle CLASS/NAME vorübergehend auskommentieren, die nicht zu Flächen gehören
 - Die doppelte Gruppierung unter "Flurstücke" entfernen

MfG
F. Jäger



> -----Ursprüngliche Nachricht-----
> Von: NAS [mailto:nas-bounces at lists.osgeo.org] Im Auftrag von Schepers, 
> Benjamin
> Gesendet: Freitag, 20. Mai 2016 07:56
> An: 'PostNAS Suite - ALKIS, ATKIS, ABK - NAS Schnittstelle via ogr2ogr'
> Betreff: Re: [PostNAS Suite] Fwd: Umstellung der Mapdatei (Mapserver 
> 7) für NorGIS ALKIS
> 
> ... im ROOT-Layer sinnvoller:
> 
> WEB
> 	METADATA
> 		"wms_enable_request"			"!GetLegendGraphic "
> 	END
> END
> 
> Das vererbt sich dann auf alle untergeordneten Layer, solange du in 
> diesen nichts Gegenteiliges mehr anweist.
> 
> Gruß
> Benjamin



Mehr Informationen über die Mailingliste NAS