[Mapserver-DE] Ein WMS-Layer aus zwei Shapefiles
Kathrin KÖHL
kko at ngi.be
Die Jan 29 11:36:01 CET 2008
Hi!
Ich habe noch etwas gefunden in der US Version der Mailingliste von
Mapserver. Ich weiß nicht ob du da auch bist und das evtl. kennst, aber
vielleicht hilft dir das weiter:
OK, I think there is a simple solution for you, You need to create
tileindexes. tileindexes are a way to group a collection of shapefiles
that have the same content like roads into a single layer. Say you have
a file structure like:
data/city1/roads.shp
data/city2/roads.shp
data/city3/roads.shp
etc
And if you have a layer for each city/roads.shp you can combine all
these into a single layer like this:
find data -name roads.shp -print > roads-idx.in
tile4ms roads-idx.in roads-idx.shp
shptree roads-idx.shp
And in your mapfile create a layer like:
LAYER
...
TILEINDEX "roads-idx.shp"
# instead of a DATA statement
...
END
Now all these shapefiles in the tileindex will be considered in a very
efficient manner.
Ich habe es selber nicht ausprobiert also kann ich nichts weiter dazu sagen.
Viele Grüße
Kathrin
Roland Krueger wrote:
> Danke an Kathrin, Marco und Jörg.
>
> Ich habe nun Gruppen verwendet und bin den Kompromiss eingegangen, dass
> die UnterLayer innerhalb der GROUP noch zu sehen sind und einzeln genutzt
> werden können. Das ist für mich aber nicht so tragisch.
> Schade, dass es keine "saubere" Lösung gibt.
>
> Viele Grüsse
> Roland
>
>
>
> Am Mo, 28.01.2008, 15:45, schrieb Jörg Thomsen:
>
>> Hallo Roland,
>>
>> Du könntest eine Gruppe bilden
>>
>> LAYER
>> NAME ...
>> GROUP gebaeude
>> METADATA
>> WMS_NAME ...
>> WMS_GROUP "Gebaeude"
>>
>> dann sind alle Layer der Gruppe Gebaeude unter diesem Namen abrufbar,
>> die Layer bleiben aber auch einzeln verfügbar.
>>
>> Ansonsten könntest Du mit 'requires' arbeiten, Gebäude benötigt
>> Hausnummern, dann würden die Nr. mit ausgeliefert, wenn nur die Gebäude
>> angefragt werden. Aber der HausNr.-Layer existziert weiterhin
>>
>> sonst fällt mir nur ein: Daten vorher zusammen führen oder kaskadieren,
>> aber das bedeutet unnötige Performanceverlsute.
>>
>> Gruß, Jörg
>>
>>
>>
>> Roland Krueger wrote:
>>
>>> Hallo Liste,
>>>
>>> ich möchte mit dem UMN-Mapserver einen OGC-WMS bereitstellen. Der WMS
>>> soll
>>> einen Layer anbieten, deren Datenquelle jedoch zwei Shapefiles sind.
>>>
>>> Ein Beispiel:
>>> Die Gebäudegeometrien liegen im Shapefile "gebaeudegeo.shp".
>>> Die Hausnummern liegen in einem anderen Shapefile "gebaeudenr.shp".
>>> Der UMN soll nun EINEN WMS-Layer "Gebaeude" anbieten, der die
>>> Gebaeudegeometrien und die Hausnummern darstellt.
>>>
>>> Mein Mapfile sind so aus:
>>>
>>> ---------------Anfang
>>> Mapfile-----------------------------------------------
>>> MAP
>>> NAME "Stadtkarte"
>>> STATUS ON
>>> IMAGETYPE PNG
>>> IMAGECOLOR 255 255 255
>>> EXTENT 3305000 5838000 3370000 5915000
>>> MAXSIZE 8192
>>> UNITS METERS
>>> SIZE 600 600
>>> SHAPEPATH '/var/www/kreisopr/alk/'
>>> FONTSET '/var/www/kreisopr/fonts/fonts.fnt'
>>> SYMBOLSET 'symbols/symbols01.sym'
>>>
>>> WEB
>>> IMAGEPATH '/tmp/ms_tmp/'
>>> IMAGEURL '/ms_tmp/'
>>> METADATA
>>> "WMS_TITLE" "Stadtkarte"
>>> "WMS_ABSTRACT" "Gebaeude der Stadtkarte, erstmal nur
>>> zum
>>> testen."
>>> "WMS_FEATURE_INFO_MIME_TYPE" "text/html"
>>> "WMS_ONLINERESOURCE"
>>> "http://geoservice.kv.o-p-r.de/ows/wmstmp?"
>>> "WMS_SRS" "EPSG:25833 EPSG:4326"
>>> END #Metadata
>>> END #Web
>>>
>>> PROJECTION
>>> "init=epsg:25833"
>>> END #PROJECTION
>>>
>>> # -------------------- Gebaeude --------------------
>>>
>>> LAYER
>>> # GebäudeGeometrie
>>> NAME "Gebaeude"
>>> DATA 'gebaeudegeo'
>>> TYPE polygon
>>> STATUS ON
>>> METADATA
>>> WMS_TITLE 'Gebaeude'
>>> WMS_SRS 'EPSG:25833 EPSG:4326'
>>> WMS_INCLUDE_ITEMS 'all'
>>> END #Metadata
>>> CLASS
>>> NAME "Gebäude"
>>> COLOR 220 170 170
>>> OUTLINECOLOR 0 0 0
>>> END #Class
>>> END #Layer
>>>
>>> LAYER
>>> # Hausnummer
>>> NAME "Gebaeude"
>>> TYPE annotation
>>> STATUS on
>>> DATA 'gebaeudenr'
>>> LABELITEM 'INFOTEXT'
>>> SIZEUNITS meters
>>> METADATA
>>> WMS_TITLE 'Gebaeude'
>>> WMS_SRS 'EPSG:25833 EPSG:4326'
>>> WMS_INCLUDE_ITEMS 'all'
>>> END #Metadata
>>> CLASS
>>> LABEL
>>> TYPE TRUETYPE
>>> FONT 'arial'
>>> POSITION uc
>>> COLOR 0 0 0
>>> SIZE 1
>>> ANGLE AUTO
>>> FORCE TRUE
>>> END #Label
>>> END #Class
>>> END #Layer
>>>
>>> END #Map
>>> ---------------Ende
>>> Mapfile-------------------------------------------------
>>>
>>>
>>>
>>> Mit diesem Mapfile bietet der UMN jedoch die Layer Gebaeude_01 und
>>> Gebaeude_02 an. Hier ein Ausschnitt aus dem GetCapabilities-Dokument.
>>>
>>> -----schnipp---Anfang Ausschnitt
>>> GetCapabilities----------------------------
>>> <Layer>
>>> <Name>Stadtkarte</Name>
>>> <Title>Stadtkarte</Title>
>>> <SRS>EPSG:25833</SRS>
>>> <SRS>EPSG:4326</SRS>
>>> <LatLonBoundingBox minx="51.654" miny="46.1692" maxx="52.714"
>>> maxy="46.9763" />
>>> <BoundingBox SRS="EPSG:25833"
>>> minx="3.305e+06" miny="5.838e+06" maxx="3.37e+06"
>>> maxy="5.915e+06" />
>>> <Layer queryable="0" opaque="0" cascaded="0">
>>> <Name>Gebaeude_01</Name>
>>> <Title>Gebaeude</Title>
>>> <SRS>EPSG:25833</SRS>
>>> <SRS>EPSG:4326</SRS>
>>> <LatLonBoundingBox minx="51.6836" miny="46.1835" maxx="52.6737"
>>> maxy="46.9294" />
>>> <BoundingBox SRS="EPSG:25833"
>>> minx="3.30721e+06" miny="5.83938e+06"
>>> maxx="3.36884e+06" maxy="5.90969e+06" />
>>> <Style>
>>> <Name>default</Name>
>>> <Title>default</Title>
>>> <LegendURL width="20" height="10">
>>> <Format>image/png</Format>
>>> <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink"
>>> xlink:type="simple"
>>> xlink:href="http://geoservice.kv.o-p-r.de/ows/wmstmp?version=1.1.1&service=WMS&request=GetLegendGraphic&layer=Gebaeude_01&format=image/png"/>
>>> </LegendURL>
>>> </Style>
>>> </Layer>
>>> <Layer queryable="0" opaque="0" cascaded="0">
>>> <Name>Gebaeude_02</Name>
>>> <Title>Gebaeude</Title>
>>> <SRS>EPSG:25833</SRS>
>>> <SRS>EPSG:4326</SRS>
>>> <LatLonBoundingBox minx="51.6834" miny="46.1833" maxx="52.6736"
>>> maxy="46.9293" />
>>> <BoundingBox SRS="EPSG:25833"
>>> minx="3.30722e+06" miny="5.83934e+06"
>>> maxx="3.36884e+06" maxy="5.90968e+06" />
>>> </Layer>
>>> </Layer>
>>> -----schnapp---Ende Ausschnitt
>>> GetCapabilities------------------------------
>>>
>>>
>>> Wie muss ich das Mapfile formulieren, damit nicht zwei Layer
>>> "Gebaeude_01"
>>> und "Gebaeude_02" sondern nur ein Layer "Gebaeude" bereitgestellt wird?
>>> An
>>> der Sruktur der Shapefiles möchte ich nichts ändern.
>>>
>>> Ich setze Mapserver 4.10.2 ein. Hier die Info von "mapserv -v":
>>>
>>> MapServer version 4.10.2 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP
>>> OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER
>>> SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT
>>> SUPPORTS=WCS_SERVER SUPPORTS=THREADS SUPPORTS=GEOS INPUT=TIFF
>>> INPUT=EPPL7
>>> INPUT=SDE INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
>>>
>>>
>>>
>>> Danke für eure Antworten
>>>
>>>
>>> Viele Grüsse
>>> Roland
>>>
>>>
>>>
>>> Mail wurde vom Landkreis-Ostprignitz-Ruppin versandt
>>> ----------------------------------------------------
>>>
>>> _______________________________________________
>>> Mapserver-DE mailing list
>>> Mapserver-DE at freegis.org
>>> https://freegis.org/mailman/listinfo/mapserver-de
>>>
>> --
>>
>> _________________________________________________
>>
>> MapMedia
>> Kartographie und raumbezogene Informationssysteme
>>
>> Heilbronner Straße 10
>> D-10711 Berlin
>>
>> fon: +49.(0)30.89 06 82 70
>> fax: +49.(0)30.89 06 82 73
>> mail: jt at mapmedia.de
>> net: www.mapmedia.de
>> pgp: on demand
>> _________________________________________________
>>
>> _______________________________________________
>> Mapserver-DE mailing list
>> Mapserver-DE at freegis.org
>> https://freegis.org/mailman/listinfo/mapserver-de
>>
>>
>>
>
>
>
> Mail wurde vom Landkreis-Ostprignitz-Ruppin versandt
> ----------------------------------------------------
>
> _______________________________________________
> Mapserver-DE mailing list
> Mapserver-DE at freegis.org
> https://freegis.org/mailman/listinfo/mapserver-de
>