Tipps & Tricks: Reihenfolge von Koordinatenachsen bei älteren Projektionen und deren Auswirkungen im WEGA 10 Client

Bei den meisten aktuellen Projektionen ist die Reihenfolge der Koordinatenachsen x,y. Es gibt aber auch einige ältere Projektionen, bei denen die Reihenfolge der Koordinatenachsen y,x ist. Relevant für Daten aus Deutschland sind hier insbesondere die ältere DHDN-GK-Projektion EPSG:31466-EPSG:31469. Hier ist die Reihenfolge der Koordinatenachsen y,x. Bei der neueren DHDN-GK-Projektion EPSG:5676 – EPSG:5680 ist die Reihenfolge der Koordinatenachsen x,y.

Die ArcGIS-JS-API, auf der der WEGA 10 Client aufsetzt, berücksichtigt die in der EPSG-Datenbank hinterlegte Reihenfolge der Koordinatenachsen einer Projektion nicht. Es wird vielmehr davon ausgegangen, dass die Reihenfolge der Koordinatenachsen einer Projektion immer x,y ist. Der M.O.S.S. – SDI-Provider (MSP) und der dort integrierte GeoServer erwarten bei räumlichen Abfragen via BBOX, die in der EPSG-Datenbank hinterlegte Reihenfolge der Koordinatenachsen.

Dies führt dazu, dass räumliche BBOX-Anfragen mit EPSG:31466 – EPSG:31469 im WEGA 10 Client falsch interpretiert werden und deshalb keine Daten in der Karte zu sehen sind.

Um dies zu umgehen, ist es möglich im Datenverzeichnis des MSP im Unterverzeichnis user_projections mit Hilfe der Datei epsg_overrides.properties bestimmte Projektionen via WKT-String zu überschreiben. So kann zum Beispiel folgender WKT-String für EPSG:31468 aus der EPSG-Datenbank:

 

PROJCS[„DHDN / 3-degree Gauss-Kruger zone 4“,
GEOGCS[„DHDN“,
DATUM[„Deutsches Hauptdreiecksnetz“,
SPHEROID[„Bessel 1841“, 6377397.155, 299.1528128,
AUTHORITY[„EPSG“,“7004″]],
TOWGS84[612.4, 77.0, 440.2, -0.054, 0.057, -2.797, 2.55],
AUTHORITY[„EPSG“,“6314″]],
PRIMEM[„Greenwich“, 0.0, AUTHORITY[„EPSG“,“8901″]],
UNIT[„degree“, 0.017453292519943295],
AXIS[„Geodetic latitude“, NORTH],
AXIS[„Geodetic longitude“, EAST],
AUTHORITY[„EPSG“,“4314″]],
PROJECTION[„Transverse_Mercator“, AUTHORITY[„EPSG“,“9807″]],
PARAMETER[„central_meridian“, 12.0],
PARAMETER[„latitude_of_origin“, 0.0],
PARAMETER[„scale_factor“, 1.0],
PARAMETER[„false_easting“, 4500000.0],
PARAMETER[„false_northing“, 0.0],
UNIT[„m“, 1.0],
AXIS[„Northing“, NORTH],
AXIS[„Easting“, EAST],
AUTHORITY[„EPSG“,“31468″]]

 

durch folgenden Eintrag in der epsg_overrides.properties überschrieben werden:

 

31466=PROJCS[„DHDN / 3-degree Gauss-Kruger zone 4“, \
GEOGCS[„DHDN“, \
DATUM[„Deutsches Hauptdreiecksnetz“, \
SPHEROID[„Bessel 1841“, 6377397.155, 299.1528128,
AUTHORITY[„EPSG“,“7004″]], \
TOWGS84[612.4, 77.0, 440.2, -0.054, 0.057, -2.797, 2.55], \
AUTHORITY[„EPSG“,“6314″]], \
PRIMEM[„Greenwich“, 0.0, AUTHORITY[„EPSG“,“8901″]], \
UNIT[„degree“, 0.017453292519943295], \
AXIS[„Geodetic longitude“, EAST], \
AXIS[„Geodetic latitude“, NORTH], \
AUTHORITY[„EPSG“,“4314″]], \
PROJECTION[„Transverse_Mercator“], \
PARAMETER[„central_meridian“, 12.0], \
PARAMETER[„latitude_of_origin“, 0.0], \
PARAMETER[„scale_factor“, 1.0], \
PARAMETER[„false_easting“, 4500000.0], \
PARAMETER[„false_northing“, 0.0], \
UNIT[„m“, 1.0], \
AXIS[„Easting“, EAST], \
AXIS[„Northing“, NORTH], \
AUTHORITY[„EPSG“,“31468″]]

 

In den beiden WKT-Projektionen sind lediglich die Definitionen für AXIS in ihrer Reihenfolge vertauscht.

Die Notation zur Definition einer Projektion ist folgende: <epsg-code>=<wkt-string>

Es wird empfohlen, den WKT-String einzeilig zu definieren. In diesem Beispiel ist der WKT-String zur besseren Lesbarkeit formatiert. Zeilenumbrüche werden durch das Zeichen \ am Ende einer jeden Zeile gekennzeichnet. In der letzten Zeile befindet sich kein Zeilenumbruch. Wer auf die Unterstützung der ältere EPSG-Codes EPSG:31466-31469 mit der Achsenreihenfolge y,x verzichten kann, möge bitte die neueren EPSG-Codes EPSG:5676 – EPSG:5680 mit der Achsenreihenfolge x,y in WEGA verwenden.