[Mapbender-users] changeEPSG

Arnulf Christl arnulf.christl at wheregroup.com
Mon Nov 26 03:21:10 EST 2007


Jäger, Frank (KRZ) wrote:
> Hallo, in unserem kommunalen GIS arbeiten wir bisher ausschließlich
> mit dem Gauss-Krüger-Koordinatensystem. Das wird sowohl vom
> Katasteramt als auch von den Städten und Gemeinden benutzt.
> 
> Im Kataster steht demnächst der Wechsel nach ETRS89/UTM an (bis
> 1.1.2009). Die Gemeinden werden dem wohl folgen ... ?

Hallo Herr Jäger,
diese Anfrage liegt schon etwas länger rum, gab es dazu eine Lösung (ich habe nichts gefunden)? 

Die Problematik der Umschaltung auf die neuen Koordinatensysteme ist mit ziemlich viel Aufwand verbunden, da sich auch das Datum verändert hat. Eine einfache Um*projektion* reicht nicht, da kommt es zu großen Verschiebungen zwischen 50 und 500 Metern. Dieses Problem wird durch das Modul "changeEPSG" lediglich visualisiert aber ganz sicher nicht behoben. Um dieses tiefergehend Problem geht es hier jedoch noch nicht einmal. (Ich spreche es hier nur an, weil ich hoffe, dass sich die Problematik langsam weiter herumspricht und wir irgendwann mal konkrete Lösungsvorschläge von den Landesvermessungsämtern kommen). 

> Ich habe darum begonnen, in die GUIs das "changeEPSG" einzubauen. Ich
> habe es konfiguriert mit:
> 
> mod_changeEPSG.php . . . <select class='epsg' name='epsg'
> onchange='mod_changeEPSG()'> <option value="">undefined</option> 
> <option value="EPSG:4326">Geogr. Koord.(4326)</option> <option
> value="EPSG:31467">Gauß-Krüger 3 (31467)</option> <option
> value="EPSG:25832">ETRS89/UTM (25832)</option> </select>
> 
> Leider kann man das nur zentral im Quellcode machen und nicht
> individuell je GUI über Variablen.

Es gibt eine Möglichkeit, dynamisch alle EPSG aufzulisten,die von den Diensten angeboten werden (im Modul AddWMSdynamic o.ä. enthalten, gab es auch bereits einen Post zu). Aber ich fürchte das ist noch nicht wirklich im Tagesbetrieb eingesetzt worden. Hierfür sollte ein Ticket angelegt werden.

> Die Umschaltung auf UTM klappt gut. Bei Verwendung der geografischen
> Koordinaten (EPSG:4326) bricht allerdings das Chaos aus. Alles hängt
> offensichtlich daran, dass die Längen- und Breitengrade "wie Meter"
> zur Berechnung des Maßstabs verwendet werden.

Jetzt kommen wir näher an das eigentlich Problem. Bei geographischen Koordinaten lässt sich der Maßstab leider nicht über einfache Berechnungen mit JavaScript ermitteln so wie es Mapbender bisher macht. Deshalb werden hier die Maßstabsgrenzen nicht richtig berücksichtigt. 

Das Problem wird ausserdem dadurch kompliziert, dass der Maßstab bei geogr. Koordianten in unseren Breiten in der Vertikalen anders ist als in der Horizontalen. Deshalb ist die Angabe eines Maßstabs hier immer fehlerhaft. Das OGC hat deshalb festgelegt, dass der diagonale Durchmesser des zentralen Pixels den ScaleHint definiert, also eine Art Mittelwert aller Maßtäbe der Karte. 

> Das "setScaleHint" der GUIs habe ich schon ausgeschaltet. Der falsch
> berechnete Maßstab führt aber dazu, dass sich die Dienste wegen
> minScale/maxScale (?) nicht einschalten lassen. Layer werden "grau",
> Overview ist leer.

Mapbender müsste für eine saubere Berechnung die Projektionsbibliothek mit in den Browser laden, um dort per JavaScript die Berechnung durchzuführen. Das gleiche muss passieren, wenn die Ebenen ausgegraut werden, die ausserhalb des aktuellen Maßstabsbereich fallen. 

> Man muss wohl die Maßstabsbereiche jedes WMS ausschalten? Das möchte
> ich nicht tun, denn da steckt eine Menge "Feintuning" drin.
> Kartenwerke lösen sich beim hinein-Zommen ab, ohne dass der Benutzer
> sie manuell ein und ausschalten muss.

Als Workaround sollten wir es ermöglichen, dass die Ebenen nicht ausgegraut werden (ich weiss aber auch hier nicht den aktuellen Stand).

> Frage: Ist das wirklich eine Schwäche von changeEPSG oder habe ich
> nur etwas noch nicht verstanden.

Es ist ein Problem des Moduls changeEPSG, das ist noch wesentlich zu "dumm". Es wäre möglich serverseitige PostGIS Funktionen zu nutzen, um das Problem zu lösen. Das würde aber bedeuten, dass bei jeder Kartenanfrage, die den Maßstab verändert ein serversitiges Skript aufgerufen werden muss. Das wiederspricht der Grundphilosophie von 

> Die mit Mapbender ausgelieferten Muster-GUIs arbeiten im EPSG 4326
> und haben trotzdem für einige Layer einen minScale / MaxScale. Wieso
> stört es dort nicht?

Ja, das frage ich die Entwickler auch dauernd... :-)

> Den EPSG:4326 möchte ich in den GUIs verwenden um auch "weltweite"
> WMS dynamisch einzubinden. Die Anzeige von Lat/Lon wäre auch
> nützlich, weil einige Kommunen beginnen, mit GPS ihr Straßeninventar
> zu georeferenzieren. Diese Geräte liefern zunächst geografische
> Koordinaten.
> 
> 
> Mit freundlichen Grüßen Frank Jäger

Das Thema ist so, dass wir dem ein eigenes Trac Ticket widmen sollten, vielleicht können Sie das anlegen?

Hmpf. Das übersetz ich jetzt nicht alles in englische... :-)

Gruß, 
Arnulf Christl. 


More information about the Mapbender_users mailing list