S-JTSK-Grid

Z GRASSwikiCZ

Obsah

Transformace S-JTSK - WGS84 (ETRS) pomocí gridu

Verze gridu je určena pro testování! Pokud se neobjeví žádné problémy, zkusíme přidat grid do oficiálního vydání Proj popřípadě do databáze EPSG.

Metoda založená na gridu řeší danou transformaci s přesností v řádu centimetrů (cca 3cm)!

Pro nastavení transformace pomocí gridu máte dvě možnosti:

Využití již vytvořených binárních podob gridu

  • K dispozici jsou dvě verze:
    • czech-vista - testováno na Windows Vista s verzí proj 4.7.1
  • Binární soubor "czech-XXX" přejmenujte na "czech" a nakopírujte do adresáře /usr/share/proj/ (pro Linux) případně tam, kde jsou jiné binární soubory s gridy (např. soubor "conus"). Pokud chcete umístit soubor do jiného než standardního ('zakompilovaného') adresáře, je nutné na něj ukázat pomocí systémové proměnné PROJ_LIB.

Vytvoření binárního souboru gridu

  • Pomocí příkazu "nad2bin" převeďte .lla soubor na binární podobu a uložte do adresáře s binárními soubory
  • Ukázka zápisu příkazu nad2bin na linuxu:
nad2bin < czech.lla /usr/share/proj/czech

Práce s gridem

  • Vlastní transformaci pomocí PROJ.4 (cs2cs, proj, invproj) lze nastavit pomocí definice S-JTSK:
"+proj=krovak +ellps=bessel +nadgrids=czech"

Tedy např. transformace z S-JTSK do WGS84 (ETRS) lze definovat pomocí příkaz. řádky takto:

$ cs2cs -f "%.10f" +proj=krovak +ellps=bessel +nadgrids=czech +to +proj=longlat +datum=WGS84

obdobně pro obrácený převod z WGS84 (ETRS) do S-JTSK:

$ cs2cs -f "%.2f" +proj=longlat +datum=WGS84 +to +proj=krovak +ellps=bessel +nadgrids=czech

Transformace lze obdobně nastavit i třeba v PostGIS pomocí editace tabulky spatial_ref_sys, sloupce proj4text, řádku srid=2065 - do položky stačí zadat "+proj=krovak +ellps=bessel +nadgrids=czech". Na databázovém serveru je nutné mít nahraný soubor s gridem. Pro test lze zkusit: SELECT astext(transform(geomfromtext('POINT(14.580876167 50.95233150)',4326),2065)). Výsledek by měl být: "POINT(-718583.327608058 -949224.458359279)"


Test:

Pro otestování můžete vyzkoušet:

$  cs2cs -f "%.10f" +proj=krovak +ellps=bessel +nadgrids=czech +to +proj=longlat +datum=WGS84

Zadat bod (bod vybrané údržby 901100080):

-718583.33 -949224.46

Vypočtený výsledek by měl být: 14.5808761364 50.9523314825

Správná hodnota (dle DATAZ) je:

14.580876167 50.95233150

V případě chybného výsledku prosím pošlete mail na h.jezek @ centrum.cz. Přiložte prosím také informace o verzi Proj, případně celý výpis při nastavení sys. proměnné PROJ_DEBUG=true.

Pro převod pomocí knihovny ogr2ogr lze obdobně nastavit (při použití na windows je nutné změnít uvozovky):

ogr2ogr -s_srs '+proj=krovak +ellps=bessel +nadgrids=czech +wktext' -t_srs 'EPSG:4326' ./transformed.shp ./2065body.shp

Poznámky

  • Výše popsaná definice lze použít i pro GDAL/OGR, GRASS a ostatní systémy založené na PROJ.4.
  • Problém se znaménky a případným přehozením os je věc samotného zobrazení (+proj=krovak) a tedy stále zůstává. Pro souřadnice vztažené k osám ve směru 'sever východ' (záporné hodnoty) lze přidat parametr +czech a používat Proj.4 ve verzi větší než 4.5.0.
  • Debuging je možné zapnout pomocí nastavení systémové proměnné PROJ_DEBUG=true. Poté se vypisují informace o použitých gridech apod.


Časem bude publikován celý článek popisující vlastnosti a přesnost gridu. V případě zájmu je zatím k dispozici alespoň prezentace z Geoinformatics FCE CTU 2008 zde.

Zdroje:

Jan Ježek: Disertační práce, prezentace z Geoinformatics FCE CTU 2008.

Klokan Petr Přidal: Konverze do formátu vhodného pro PROJ.4.

Osobní nástroje
Jmenné prostory

Varianty
Akce
Navigace
Dokumentace
Geodata
stránky
Nástroje