Verbesserte towgs84-Parameter für epsg und spatial ref sys: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
--[[Benutzer:Markus Hentschel|Markus Hentschel]] 09:07, 27. Nov 2008 (CET)<br><br> | --[[Benutzer:Markus Hentschel|Markus Hentschel]] 09:07, 27. Nov 2008 (CET)<br><br> | ||
+ | |||
+ | 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. | ||
+ | <br> | ||
+ | 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. | ||
+ | <br> | ||
+ | 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 http://svn.osgeo.org/grass/grass/trunk/lib/gis/datumtransform.table] kann man den Parametersatz anpassen. Der entsprechende Parametersatz steht in der Zeile | 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 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" | S-42 "towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01" "Germany (Mecklenburg-Vorpommern & Sachsen-Anhalt)" "Accuracy <1m" | ||
− | |||
<br> | <br> | ||
In der Datei epsg muss | In der Datei epsg muss |
Version vom 12. Dezember 2011, 14:11 Uhr
--Markus Hentschel 09:07, 27. Nov 2008 (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.