Verbesserte towgs84-Parameter für epsg und spatial ref sys

Aus kvwmap
Wechseln zu: Navigation, Suche

--Markus Hentschel 13:11, 12. Dez 2011 (CET)

Für die Transforamtion von Koordinatenwerten sind die Datei epsg (standardmäßig in /usr/local/share/proj/, bei FGS in $FGS_HOME/share/proj) bzw. die Tabelle spatial_ref_sys (im Schema public) verantwortlich. Bei einigen Transformationen geht leider in unterschiedlichen Versionen was schief.


ETRS89 (EPSG 25832/25833)

TEST: Folgender Aufruf

select astext(transform(geomfromtext('POINT(3398206.866 5581314.975)',31463),25832))

muss folgende Koordinate liefern:

POINT(398175,557 5979519.471)

Wenn die Abfrage eine andere Koordinate liefert (z.B. POINT(398235.173 5579654.391)), dann müssen die entsprechenden Einträge in epsg und spatial_ref_sys geändert werden.
In der Datei epsg muss

# ETRS89 / UTM zone 33N
<25833> +proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs <>

durch

# ETRS89 / UTM zone 33N
<25833> +proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs towgs84=0,0,0 <>

geändert werden.

In der Tabelle spatial_ref_sys muss für srid=25833 das Attribut proj4text von

+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs 

auf

+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs towgs84=0,0,0

geändert werden.

Für EPSG:25832 gilt dasselbe.


S42/83 3°-Streifen (EPSG 2397/2398/2399)

TEST: Folgender Aufruf

select astext(transform(geomfromtext('POINT(4557434 5984777)',2398),25833))

muss folgende Koordinate liefern:

POINT(360576.363 5983974.639)

Wenn die Abfrage eine andere Koordinate liefert (z.B. POINT(360704.261 5984012.628)), dann müssen die entsprechenden Einträge in epsg und spatial_ref_sys geändert werden.
In der Datei epsg muss stehen

# Pulkovo 1942(83) / Gauss-Kruger zone 4
<2398> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs  <>

In der Tabelle spatial_ref_sys muss für srid=2398 das Attribut proj4text lauten

+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs  

Für EPSG:2397 und EPSG:2398 gilt dasselbe.

S42/83 6°-Streifen (EPSG 28402/28403)

Der EPSG:28403 (Krassowski(S42/83),G-K(6-Grad-Streifensystem), 3. Streifen) passt für unsere Region nur unzureichend, es ergeben sich falsche Punktlagen von über 140 Meter. Mit Hilfe von http://svn.osgeo.org/grass/grass/trunk/lib/gis/datumtransform.table kann man den Parametersatz anpassen. Der entsprechende Parametersatz steht in der Zeile

S-42    "towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01" "Germany (Mecklenburg-Vorpommern & Sachsen-Anhalt)" "Accuracy <1m"


In der Datei epsg muss

# Pulkovo 1942 / Gauss-Kruger zone 3
<28403> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs  <>

durch

# Pulkovo 1942 / Gauss-Kruger zone 3
<28403> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,-1.01 +units=m +no_defs  <>

geändert werden.

In der Tabelle spatial_ref_sys muss für srid=28403 das Attribut proj4text von

+proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs

auf

+proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 +units=m +no_defs

geändert werden. Für EPSG:28402 oder EPSG:28404 gilt dasselbe.