Ich habe eine Map-Datei für UMN, die eine Schicht von Vektoren anzeigt, jede Geometrie mit verschiedenen Farben, abhängig von ihren Attributen. Das funktioniert gut. Ich möchte auch Grenzen um jede Geometrie hinzufügen. Das ist kein Problem, aber in der Ansicht, die das gesamte Gebiet zeigt, dominieren die Grenzen das Bild, da jede Geometrie nur ein paar Pixel hat. Daher möchte ich die Rahmen nur in einer bestimmten Zoomstufe anzeigen. Ich kann die ganze Schicht abhängig vom Zoom deaktivieren oder aktivieren, aber ich weiß nicht, wie ich das nur für die Grenzen realisieren soll.Wie kann ich Rahmen für Geometrien mit UMN-Mapserver nur anzeigen, wenn ich viel gezoomt habe?
Antwort
Sie können das auf mindestens zwei Arten tun.
Zuerst können Sie zwei Ebenen definieren, eine mit den Rahmen und eine ohne Rahmen. Dann können Sie mit MINSCALEDENOM und MAXSCALEDENOM je nach Zoomstufe entweder die erste oder die zweite anzeigen.
Oder Sie können eine Ebene mit den farbigen Geometrien ohne Rahmen definieren, die in allen Zoomstufen angezeigt werden. Dann sollten Sie eine Ebene definieren, die nur aus den Rahmen besteht, die über der ersten, aber nur in der angegebenen Zoomstufe angezeigt werden (wiederum mit MINSCALE und MAXSCALE). Diese Ebene verwendet dieselben Daten wie die reguläre Ebene, muss jedoch vom Typ POLYGON sein, jedoch ohne das Schlüsselwort COLOR (nur OUTLINECOLOR sollte angegeben werden). Auf diese Weise wird nur der Rand des Polygons angezeigt, und wenn Sie diesen über dem anderen anzeigen, können Sie den Effekt von Rahmen erstellen.
Für eine detaillierte Beschreibung der Schlüsselwörter, http://www.mapserver.org/mapfile/layer.html