[Mapserver-DE] WMS Mapserver und SLD
Till Adams
adams at terrestris.de
Fre Jul 29 08:37:52 CEST 2005
Markus,
du brauchst keine Angaben zu machen beim kompilieren, außer das der UMN
WMS können muß.
Das Problem ist, daß der UMN sich manchmal einfach hartnäckig sträubt,
ein SLD zu akzeptieren. Das liegt aber meiner Meinung nach weniger am
UMN selber, sondern eher am Browser, der die Anfrage nicht umlenkt,
sondern denkt, es ist dieselbe GetMap-Request wie vorher.
Der zweite denkbare Fall ist, daß das SLD nicht unbedingt auf die Daten
passt, d.h. dein "PropertyName" ist kein Item aus deinen Daten. Der UMN
macht nämlich einfach mal garnix, wenn ihm das SLD nicht passt, d.h. er
guckt aufs Mapfile und erzeugt sein Bild daraus. Das kann man einfach
umgehen, indem man mit dem Request "GetStyles" den UMN ein SLD auf Basis
eines bestehenden Mapfiles erzeugen läßt:
http://212.79.172.184/cgi-bin/mapserv46?map=/var/data/sld/world.map&&VERSION=1.1.1&REQUEST=GetStyles&SERVICE=WMS&LAYERS=country,cities,rivers&STYLES=,,&SRS=EPSG:4326&BBOX=-180,-180,180,180&WIDTH=150&HEIGHT=150&FORMAT=IMAGE/PNG&BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=APPLICATION/VND.OGC.SE_INIMAGE&SLD=http://212.79.172.184/sld/world/country.xml
Dieses kann man dann editieren. Ich habe ein paar Demos auf einem
unserer Server:
Wenn du diesen Request anschaust:
http://212.79.172.184/cgi-bin/mapserv46?map=/var/data/sld/world.map&&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&LAYERS=country,cities,rivers&STYLES=,,&SRS=EPSG:4326&BBOX=-180,-180,180,180&WIDTH=150&HEIGHT=150&FORMAT=IMAGE/PNG&BGCOLOR=0xffffff&TRANSPARENT=TRUE&EXCEPTIONS=APPLICATION/VND.OGC.SE_INIMAGE
und dann noch wahlweise dieses:
&SLD=http://212.79.172.184/sld/world/country.xml
oder dieses
&SLD=http://212.79.172.184/sld/world/all.xml
anhängst, siehst du das Prinzip. Auf der UMN Anwenderkonferenz werde ich
zusammen mit Jörg Thomsen (schönen Urlaub!) einen SLD Editor für UMN als
Prototyp vorstellen - vielleicht ist das ja auch für dich spannend? -->
8./9. September 2005 in Hannover. Das Ganze wird übs. ein OS Projekt,
das nur noch Sponsoren und Mitwirkende sucht ;-)
So long & ein schönes Wochenende!"
Till
Markus Reinhardt wrote:
> Hallo,
>
> ich habe im Netzt das Howto über SLD
> (http://mapserver.gis.umn.edu/doc46/sld-howto.html) gelesen und war der
> Meinung es soweit verstanden zu haben. Allerdings macht meine Linux
> Mapserver installation keine Anstalten die Angaben im SLD Dokument
> anzunehmen.
>
> Muss man beim kompilieren/configurieren besondere Parameter angeben,
> damit SLD unterstützt wird? Folgende Ausgabe kommt bei /mapserv -v/
>
> MapServer version 4.6.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP
> OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE
> SUPPORTS=WMS_SERVER SUPPORTS=GEOS INPUT=TIFF INPUT=EPPL7 INPUT=JPEG
> INPUT=POSTGIS INPUT=SHAPEFILE
>
> Folgende Anfrage schicke ich an den Mapserver:
>
> http://localhost/cgi-bin/ms4?map=/ms4/sld.map&SERVICE=wms&VERSION=1.1.1&REQUEST=getmap&LAYERS=borders&STYLES=&SLD=http://localhost/ms4/mystyle.xml&FORMAT=jpeg
>
> Die Färbung in der Map-Datei ist allerdings nicht so, wie im SLD
> anggegeben. Es wird die Färbung aus dem CLASS Bereich der Layer
> verwendet. Die Layer /borders /sieht so aus:
>
> LAYER #borders
> NAME borders
> DEBUG ON
> METADATA
> "wms_name" "borders"
> "wms_title" "Country borders"
> END
> CONNECTIONTYPE postgis
> CONNECTION "user=* password=* dbname=* host=localhost"
> DATA "the_geom FROM countries"
> STATUS ON
> TYPE POLYGON
> PROJECTION
> "init=epsg:4326"
> END
>
> CLASS
> COLOR 0 255 0
> OUTLINECOLOR 0 0 0
> END
> END #Layer borders
>
> Die SLD XML ist von meinem Server aus über http erreichbar. Und sieht
> folgendermaßen aus:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <StyledLayerDescriptor version="1.0.0"
> xmlns="http://www.opengis.net/sld"
> xmlns:gml="http://www.opengis.net/gml"
> xmlns:ogc="http://www.opengis.net/ogc"
> xmlns:xlink="http://www.w3.org/1999/xlink"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.opengis.net/sld
> http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
> <NamedLayer>
> <Name>borders</Name>
> <UserStyle>
> <FeatureTypeStyle>
> <Rule>
> <PolygonSymbolizer>
> <Geometry>
> <ogc:PropertyName>the_geom</ogc:PropertyName>
> </Geometry>
> <Fill>
> <CssParameter name="fill">#ff0000</CssParameter>
> </Fill>
> <Stroke>
> <CssParameter name="stroke">#00aa00</CssParameter>
> </Stroke>
> </PolygonSymbolizer>
> </Rule>
> </FeatureTypeStyle>
> </UserStyle>
> </NamedLayer>
> </StyledLayerDescriptor>
>
> Wenn ich den Request /getCapabilities /an den WMS schicke ist die Zeile
> <UserDefinedSymbolization SupportSLD="1" UserLayer="0" UserStyle="1"
> RemoteWFS="0"/>
> enthalten. Heißt das nicht, dass SLDs eigentlich funktionieren müssten.
>
> Wenn ich den Request /getStyles /an den WMS schicke, dann kommt ein
> leeres Dokument zurück. Gibt es irgend eine Möglichkeit den Server zu
> debuggen? Bzw. am besten ausführliche Logdateien zu schreiben?
>
> Wenn irgend jemand eine Idee hat, wäre ich sehr dankbar.
>
> Mit freundlichen Grüßen,
>
> Markus Reinhardt
>
>
>
>
> --
> My GnuPG <http://www.gnupg.org> public key:
> http://pgpkeys.pca.dfn.de:11371/pks/lookup?op=get&search=0x4CFAB28FFB576443
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Mapserver-DE mailing list
> Mapserver-DE at freegis.org
> https://freegis.org/mailman/listinfo/mapserver-de
--
Mit freundlichen Grüssen aus Bonn,
Till Adams
******************************************
* released: AmeiN! ArcMap-Export-2-UMN *
* LiveLinux 'WebGIS on CD' *
* http://www.terrestris.de *
******************************************
------------------------------------------
Dipl. Geogr. Till Adams
terrestris, H. Paulsen& T. Adams GbR
Siemensstr. 8 * 53121 Bonn
Tel.: 0228 962 899 52 * Fax.: 0228 962 899 57
info at terrestris.de * http://www.terrestris.de
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)