[Mapserver-DE] default layer & zoom to extent
Silke Reimer
Silke.Reimer at intevation.de
Die Feb 1 10:01:20 CET 2005
On Mon, Jan 31, 2005 at 08:53:09AM +0100, matthias wrote:
> Hallo Liste,
>
> nun muss ich mich nach einiger Zeit der stillen Beobachtung auch mal
> einschalten. Viele Tipps haben mich so schon weitergebracht, doch
> zurzeit stecke ich fest.
>
> Mein Problem ist, erstens: Ich möchte einige Layer immer im
> Kartenfenster angezeigt bekommen, ohne dass diese in der Legende
> erscheinen. Dafür habe ich den entsprechenden Layern den DEFAULT Status
> zugewiesen und den „Group“ Eintrag im Mapfile auskommentiert, worauf
> auch der Layer- oder Classeintrag nicht mehr in der Legende erscheinen.
> Das funktioniert soweit auch! Wenn ich die Karte aufrufe ist die
> auskommentierte Gruppe nicht mehr in der Legende. Das Kartenbild stellt
> dann auch alle Layer dar. Allerdings, sobald ich in die Karte zoome sind
> die default Layer der auskommentierten Gruppe nicht mehr da und ich habe
> ein fast weißes Kartenbild, da es sich um die Hintergrunddarstellung
> handelt.
>
> Hat jemand eine Idee? Oder funktioniert das, was ich möchte gar nicht,
> weil nur Layer die in der Legende existent sind, dargestellt werden
> können!?
Ob ein Layer gerendert wird und ob es dann auch noch in der Legende
erscheint wird eigentlich über zwei verschiedene Mechanismen
gesteutert:
1. Der Status entscheidet, wann ein Layer in die Karte kommt.
STATUS ON: das Layer muss explizit angefordert werden.
STATUS DEFAULT: das Layer wird jedesmal angezeigt
STATUS OFF: das Layer wird nie gezeigt
So gesehen hast Du Dein Layer schon richtig konfiguriert, um es
jedesmal anzuzeigen. Evtl. stimmt Dein MINSCALE oder MAXSCALE nicht,
so dass mein rein- oder rauszoomen die Karte verschwindet. Das
gleiche könnte auch für den Karten-weiten MINSCALE und MAXSCALE
gelten.
2. Ein Eintrag des Schlüsselwortes NAME im CLASS-Objekt entscheidet,
ob ein Layer in der Legende auftaucht, wenn es gezeigt wird. Damit
lassen sich z.B. auch Legenden-Einträge von DEFAULT-Layer erzeugen.
Allerdings habe ich in älteren Versionen des UMN MapServer auch
schon beobachtet, dass das Verhalten nicht ganz so funktioniert, wie
ich es beschrieben habe, sondern dass z.B. ein Hidden-Input-Feld den
Layer jedesmal explizit dazuschalten musste. Das gilt insbesondere
für den UMN MapServer in der Version 3.x. Evtl. könnte also auch ein
Update das UMN MapServer helfen.
>
> Zweites Problem: Wie kann ich auf den Eintrag in einer Attributtabelle
> zoomen lassen? Also z.B. ein Polygon-Shapefile mit verschiedenen
> Landkreisen, wo über eine Abfrage ein Landkreis selektiert wird und dann
> auf dessen Ausdehnung gezoomt werden kann? Geht das überhaupt?
Wenn Du die UMN-eigene CGI-Schnittstelle verwendest, dann geht das
über die Abfrage-Modi item*query (s. [1] für die unterschiedlichen
Abfrage-Modi die es gibt) in Verbindung mit mapext=shapes. Letztes
sorgt dafür, dass auf das Abfrage-Ergebnis gezoomt wird. Als
Abfrage-Template wirst Du dann vermutlich das Haupttemplate
eintragen wollen.
Viele Grüße,
Silke
[1]
http://mapserver.gis.umn.edu/doc44/cgi-reference.html#cgi-variables
--
Intevation GmbH
Georgstrasse 4 49074 Osnabrück, Germany
http://intevation.de http://intevation.de/~silke
FreeGIS.org http://freegis.org/
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: nicht verfügbar
URL : http://www.intevation.de/pipermail/mapserver-de/attachments/20050201/67371c15/attachment.bin
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)