[Mapbender-users] Dynamisches skalieren von Beschriftung

Uli Rothstein uli.rothstein at ccgis.de
Fri Jun 30 05:07:58 EDT 2006


Hallo Daniel,

nimm doch mal bitte in den gui-wms Eistellungen die Maßstabsbegrenzungen bei den 
entsprechenden Layern raus.

Gruss
Uli

Daniel Goetz schrieb:
> Liebe Mapbender-Gemeinde,
> 
> ich habe ein Problem mit der dynamischen Skalierung von Beschriftungen bei meinem WMS-Dienst. Bitte helft mir doch ein bißchen dabei.
> 
> Ich verwende eine lokale Mapserver-Installation (ms4w-Packet Vers. 1.5.3) und habe Mapbender Version 2.2.1 auf meinem Rechner installiert. Der Mapbender funktioniert auch im großen und ganzen (Shapedatein, Rasterdatein, Oracle-Spatial) recht gut bzw. bediene ich ihn richtig. Nur wenn es um die Skalierung von Beschriftungen geht funktioniert das eben nicht.
> 
> Mein .map-file für den WMS-Dienst mit skalierbarer Beschriftung sieht folgendermaßen aus:
> 
> MAP
>     NAME "Beschr_Test"
>     EXTENT 426666.49 466058.21 448321.44 490754.58
>     SIZE 700 900
>     SHAPEPATH "/ms4w/Apache/htdocs/Oracle/daten"
>     FONTSET ../fonts/fonts.list
>     IMAGETYPE PNG
>     IMAGECOLOR 255 255 255
>     UNITS METERS
>     STATUS ON
>     RESOLUTION 72
> 
>     PROJECTION
>         "init=epsg:4326"
>     END
> 
>     WEB
>         IMAGEPATH "/ms4w/apache/htdocs/tmp/"
>         IMAGEURL "/tmp/"
>         TEMPLATE "template_daniel2.html"
>         METADATA
>             WMS_Title "Beschr_Test"
> 
>                    ...    
> 
>         END
>     END
>     
> LAYER
>     NAME "VIEW_RWG_TBS"
>     CONNECTIONTYPE OracleSpatial
>     CONNECTION "user/PW at service"
>     DATA "GEOM FROM view_RWG_TBS USING UNIQUE FID SRID 82032 VERSION 9i"
>     TYPE POLYGON
>     STATUS ON
>     MINSCALE 1000
>     MAXSCALE 10000
>     PROJECTION
>         "init=epsg:4326"
>     END
>     TRANSPARENCY 50
>     CLASSITEM  'TM_NR'
>     METADATA
>         WMS_TITLE "RWG_TM_NR"
>     END
> 
>     CLASS
>         NAME "11_13_15"
>         EXPRESSION ('[TM_NR]' IN "11,13,15")
>            STYLE
>                COLOR 0 0 205
>            END
>            STYLE
>                OUTLINECOLOR 255 0 0
>                WIDTH 1
>                ANTIALIAS TRUE
>            END
>     END
> 
> # Hier folgen noch einige CLASS-Definitionen, die aber alle einwandfrei funktionieren
> 
> END
> 
> # Hier folgen die beiden Layer die zur Beschriftung dienen; es handelt sich hierbei ebenfall um Oracle-Spatial-Daten (Punktgeometrien)
> 
> LAYER
>     NAME "LABEL_RW"
>     CONNECTIONTYPE OracleSpatial
>     CONNECTION "user/PW at service"
>     DATA "GEOM FROM view_LABEL_RW USING UNIQUE FID SRID 82032 VERSION 9i"
>     TYPE ANNOTATION
>     STATUS ON
>     MINSCALE 1000
>     MAXSCALE 10000
>     PROJECTION
>         "init=epsg:4326"
>     END
>     LABELITEM "LABEL_TEXT"
>     SYMBOLSCALE 3100
>     METADATA
>         WMS_TITLE "VIEW_LABEL_RW"
>     END
>     CLASS
>       LABEL
>     TYPE truetype
>            FONT arial-bold
>         SIZE 30
>            ANTIALIAS TRUE
>            COLOR 0 0 0
>     OUTLINECOLOR 255 255 255
>     POSITION uc
>     FORCE TRUE
>       END
>     END
>     LABELANGLEITEM "(100-ORIENTATION)*0.9"
> END
> 
> LAYER
>     NAME "LABEL_GFZ"
>     CONNECTIONTYPE OracleSpatial
>     CONNECTION "gds_brwk2004_umn/umn at gds1prod.stadt.nuernberg.de"
>     DATA "GEOM FROM VIEW_LABEL_GFZ USING UNIQUE FID SRID 82032 VERSION 9i"
>     TYPE ANNOTATION
>     STATUS ON
>     MINSCALE 1000
>     MAXSCALE 10000
>     PROJECTION
>         "init=epsg:4326"
>     END
>     LABELITEM "LABEL_TEXT"
>     SYMBOLSCALE 3100
>     METADATA
>         WMS_TITLE "VIEW_LABEL_GFZ"
>     END
>     CLASS
>       LABEL
>     TYPE truetype
>            FONT arial-bold
>         SIZE 11
>            ANTIALIAS TRUE
>            COLOR 0 0 0
>     OUTLINECOLOR 255 255 255
>     POSITION lc
>     FORCE TRUE
>       END
>     END
>     LABELANGLEITEM "(100-ORIENTATION)*0.9"
> END
> 
> END
> 
> 
> Der GetCapabilities Request liefert ein XML-Dokument, an dem nicht zu beanstanden ist. Kein <-- Waring --> wird abgedruckt und auch für die beiden LABEL-Layers ist eine saubere BBOX definiert.
> 
> Wenn ich nun aber die Capabilities in Mapbender hochlade und die zugehörige GUI aufrufe geht es mit den Problemen los. Mapbender lädt die Bedienelemente und Rahmen, allerdings erscheint keine Karte (auch nicht wenn ich in dem Bereich zwischen MINSCALE und MAXSCALE hineinzoome). Erst wenn ich in der .map-Datei MINSCALE und MAXSCALE in den LAYER-Objekten rauskommentiere, dann zeigt Mapbender eine Karte.
> 
> Allerdings bleibt die Beschriftung in der Karte immer gleich groß, egal wie ich den Wert unter SYMBOLSCALE ändere. Auch eine Veränderung der Schriftgröße (SIZE in den LABEL-Objekten) zeigt keinerlei Auswirkung. Erst wenn ich auch SYMBOLSCALE auskommentiere machen sich Veränderungen der Schriftgröße-Werte bemerkbar. Dann habe ich allerdings das Problem, dass die Schriftgröße sich nicht mit dem gewählten Maßstab verändert, sondern immer gelich groß bleibt; und das möchte ich ja nicht.
> 
> Daraufhin habe ich die Ausgangs-.map-Datei (siehe oben) wieder hergestellt und habe einen WMS-GetMap-Request über meinen browser gestartet; und zwar habe ich dazu verschieden große BBOXes verwendet um zu sehen ob die Größe der Beschriftung sich dynamisch mit dem Maßstab verändert.
> 
> Folgendes hab ich den Browser eingegeben:
> 
> http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apache/htdocs/brwk/test.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&STYLE=default&BBOX=435896.35,478059.61,436390.06,478423.15&LAYERS=VIEW_RWG_TBS,LABEL_RW,LABEL_GFZ&FORMAT=image/png&BGCOLOR=0xFFFFFF&WIDTH=625&HEIGHT=463&EXCEPTIONS=application/vnd.ogc.se_inimage&
> 
> http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apache/htdocs/brwk/test.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&STYLE=default&BBOX=435287.81,477935.39,436606.49,478911.17&LAYERS=VIEW_RWG_TBS,LABEL_RW,LABEL_GFZ&FORMAT=image/png&BGCOLOR=0xFFFFFF&WIDTH=625&HEIGHT=463&EXCEPTIONS=application/vnd.ogc.se_inimage&
> 
> 
> Das Ergebniss war sehr schön; wie gewünscht veränderte sich die Schriftgröße mit dem Maßstab. Auch die MAXSCALE und MINSCALE Parameter stellten kein Problem mehr dar.
> 
> Leider habe ich keine Erklärung warum ich den WMS-Dienst zwar "manuell" aufrufen kann und sich die gewünschten Ergebnisse einstellen, wenn ich aber den gleichen Dienst in Mapbender einbinden will ergeben sich die oben beschriebenen Probleme.
> 
> Hat jemand von Euch dafür ein Erklärung? Irgendwelche Ideen bzw. alternative Lösungswege, wie ich skalierbare mit dem Mapbender Beschriftungen hinbekommen könnte? Könnte evtl. meine Mapbender-Installation korrupt sein?
> 
> Für Eure Hilfe und Eure investierte Zeit bin Euch schon jetzt sehr dankbar.
> 
> 
> Grüße
> 
> Daniel


-- 
--------------------------------
        Ulrich Rothstein
          CCGIS GbR
        Siemensstraße 8
         53121 Bonn
           GERMANY
--------------------------------

   uli.rothstein at ccgis.de
        www.ccgis.de
    www.mapbender.org
--------------------------------
Zentrale:  ++49 (0) 228 90826  0
Durchwahl: ++49 (0) 228 90826 17
Fax:       ++49 (0) 228 90826 11
--------------------------------




More information about the Mapbender_users mailing list