Ticket #13 (closed enhancement: fixed)

Opened 9 years ago

Last modified 9 years ago

Berücksichtigung von CRS

Reported by: astrid.emde Owned by: warmerdam
Priority: major Milestone:
Component: Info Version:
Keywords: Cc: M.Zehner@…

Description

Sinnvoll und wichtig wäre noch die Unterstützung von CRS. In BaWü? und bei AFIS wird ja nicht nur ETRS89_UTM32 verwendet. Bei AFIS werden zum Beispiel die Punkte in verschiedensten Systemen in einer Relation angegeben.

Hierzu gibt es im Hauptabschnitt "Koordinatenangaben" "crs" und jeweils zu den gml-Geomtrieobjekten das Attribut "srsName". Beschrieben sind die CRS in der Geoinfodoc und werden entweder mit

urn:adv:crs:

oder mit

http://www.adv-online.de/crs/crs.xml#

eingeführt.

Nun unterstützt ogr selbst die Angabe vom CRS, verwendet aber einen anderen Namensraum und in Postgis sollte man lieber nur ein SRID pro Tabelle zu nutzen. So lassen sich die Angaben sicher nur schwer validieren und übernehmen.

Eine einfache Lösung wäre aber die definierte CRS als weiteres Attribut mit an das Geometrieobjekt (Z.B. ax_punktortau) zu hängen. So kann man im Nachgang die unterschiedlichen Koordinatensysteme filtern und umrechnen.

Beispiel 1:

<koordinatenangaben>

<AA_Koordinatenreferenzsystemangaben>

<crs xlink:href="urn:adv:crs:DE_DHDN_3GK3_BW100"></crs> <anzahlDerNachkommastellen>3</anzahlDerNachkommastellen> <standard>true</standard>

</AA_Koordinatenreferenzsystemangaben>

</koordinatenangaben>

Beispiel 2:

<gml:Point srsName="urn:adv:crs: DE_DHDN_3GK2_NW177">

<gml:coordinates>581996.560,5616134.450</gml:coordinates>

</gml:Point>

Beispiel 3:

<gml:Point srsName=" http://www.adv-online.de/crs/crs.xml#DE_DHDN_3GK2_NW177">

<gml:coordinates>581996.560,5616134.450</gml:coordinates>

</gml:Point>

Grüße Marco L. Zehner

Change History

comment:1 Changed 9 years ago by warmerdam

  • Owner changed from Info to warmerdam

I have added some preliminary support for special NAS oriented SRS urns:

    "DE_DHDN_3GK2_NW177", "EPSG:31466",
    "DE_DHDN_3GK3_BW100", "EPSG:31467", 
    "ETRS89_UTM32", "EPSG:25832",

I can add additional ones in ogrnasdatasource.cpp if they are reported. The ones added are based on a few NAS samples I was able to find with coordinate systems set. Done in GDAL trunk (r 22090).

comment:2 Changed 9 years ago by warmerdam

  • Status changed from new to closed
  • Resolution set to fixed

comment:3 Changed 9 years ago by warmerdam

Note, I have added prefix string support so that all DE_DHDN_3GKn coordinate systems are handled as the same EPSG codes.

static const char *apszURNNames[] = 
{ 
    "DE_DHDN_3GK2_*", "EPSG:31466", 
    "DE_DHDN_3GK3_*", "EPSG:31467", 
    "ETRS89_UTM32", "EPSG:25832", 
    NULL, NULL 
};

Note that the wildcard is only allowed at the end of the string for now. (gdal trunk r 22335).

Note: See TracTickets for help on using tickets.