140 likes | 356 Views
Open Source GIS: Transformace mezi jednotlivými souřadnými systémy užitými na našem území pomocí freeware PROJ. Milan Bořík borikm @ mat.fsv.cvut.cz Katedra matematiky. Vojtěch Honzík v.honzik @ sh.cvut.cz Katedra mapování a kartografie. ČVUT v Praze, Fakulta stavební. GIS Ostrava 2005.
E N D
Open Source GIS: Transformace mezi jednotlivými souřadnými systémy užitými na našem území pomocí freeware PROJ Milan Bořík borikm@mat.fsv.cvut.cz Katedra matematiky Vojtěch Honzík v.honzik@sh.cvut.cz Katedra mapování a kartografie ČVUT v Praze, Fakulta stavební GIS Ostrava 2005
O čem chceme hovořit... Knihovna PROJ Možnosti PostGISu Referenční elipsoid ETRF-89 a Helmertova transformace mezi ním a elipsoidy Besselovým a Krasovského Výsledky transformací a posouzení přesnosti knihovny PROJ pomocí bodů kampaně DOPNUL Srovnání s dostupným SW MATKART GIS Ostrava 2005
PROJ od začátku • 80. léta 20. století- G. Evenden (USA) – výpočty z oblasti • matematické kartografie- jednoúčelová utilita • dnes je PROJ.4 public domain • programový balík – Frank Warmerdam – knihovna, která umožňuje • transparentní užití v různých programech pracujících s prostorovými • daty (Map Server, PostGIS) • je možné užít současně data z různých souřadných systémů • jednotlivé programy balíčku: • 1) proj • 2) invproj • 3) cs2cs • jeden referenční elipsoid je vybrán jako přechodový (ETRF-89) -> • -> všechny transformace rozloženy do dvou kroků GIS Ostrava 2005
Možnosti PostGISu PostGIS definuje: 1) standardní typ objektů 2) funkce pro manipulaci s objekty 3) tabulky pro metadata: * GEOMETRY_COLUMNS (geometrie, dimenze, souřadný systém) * SPATIAL_REF_SYS (souřadný systém, jednotlivá zobrazení, manipulace se souřadným systémem pomocí PROJ knihovny) Zachována konzistence geodat s jejich metadaty. Knihovna PROJ řeší přechod mezi jednotlivými referenčními plochami sedmiprvkovou Helmertovou transformací. GIS Ostrava 2005
Definice systému JTSK nebyla v knihovně PROJ zcela správná. Byla nutná úprava definice zobrazení tak, aby systém dával korektní výsledky. DOPNUL: Na základě 178 identických bodů (176 bodů v ČR identických s body české trigonometrické sítě a dva body na Slovensku), jejichž souřadnice jsou známé v systémech S-42, S-JTSK i v ETRF-89, bylo možno převést všechny body trigonometrické sítě do geocentrického systému Byla testována identičnost 178 bodů => pro určení transformačního klíče GIS Ostrava 2005
Helmertova transformace (použito 174 bodů kampaně DOPNUL) GIS Ostrava 2005
PROJ a srovnání s MATKARTem [Y,X] S-JTSK -> [j,l] Bessel -> [j,l] ETRF-89 (WGS-84) Hodnoty zeměpisné šířky a délky na Besselově elipsoidu pomocí PROJ a MATKARTu GIS Ostrava 2005
Hodnoty zeměpisné šířky a délky v systému ETRF-89 určené pomocí PROJ a MATKARTu GIS Ostrava 2005
PROJ a srovnání s MATKARTem [j,l] ETRF-89-> [j,l] Krasovský Hodnoty zeměpisné šířky a délky na Krasovského elipsoidu pomocí PROJ a MATKARTu GIS Ostrava 2005
PROJ a srovnání s MATKARTem [j,l] Krasovský -> [X,Y] S-42 Hodnoty pravoúhlých souřadnic v systému S-42 pomocí PROJ a MATKARTu GIS Ostrava 2005
Transformace v PostGISu definice vlastních zobrazení: INSERT INTO "spatial_ref_sys" (srid, auth_name, auth_srid, srtext, proj4text) ... +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +towgs84=570.83789,85.682641,462.84673,4.9984501,1.5867074,5.2611106,3.5610256 ... +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +units=m +towgs84=28.0,-121.0,-77.0,0,0,0,0 ... GIS Ostrava 2005
s42 <> wgs84 select transform(wgs84.the_geom,200002) as transformovane, s42.the_geom as puvodni , distance(transform(wgs84.the_geom,200002),s42.the_geom) from wgs84, s42 where s42.id_bodu = wgs84.id_bodu; sjtsk <> wgs84 select transform(wgs84.the_geom,200001) as transformovane, sjtsk.the_geom as puvodni , distance(transform(wgs84.the_geom,200001),sjtsk.the_geom) from sjtsk, wgs84 where wgs84.id_bodu = sjtsk.id_bodu; GIS Ostrava 2005
Výsledky dotazu s transformací: s-42 <> wgs84 transformovane | puvodni | rozdil ------------------------------------------------------+------------------------------------------+---------- SRID=200002;POINT(3429943.17928823 5520170.99974255) | SRID=200002;POINT(3429943.74 5520171.6) | 0.821 m SRID=200002;POINT(3448013.82440628 5436369.95078175) | SRID=200002;POINT(3448013.92 5436370.54) | 0.597 m SRID=200002;POINT(3399990.02104215 5525189.00970429) | SRID=200002;POINT(3399990.73 5525189.81) | 1.069 m SRID=200002;POINT(3498358.27738157 5556267.44000008) | SRID=200002;POINT(3498358.76 5556267.55) | 0.495 m SRID=200002;POINT(3557753.25682207 5538825.84139046) | SRID=200002;POINT(3557753.64 5538825.73) | 0.399 m (5 řádek) sjtsk <> wgs84 transformovane | puvodni | rozdil ------------------------------------------------------+-----------------------------------------+---------- SRID=200001;POINT(775279.250982898 1069759.48235749) | SRID=200001;POINT(775279.26 1069759.49) | 0.012 m SRID=200001;POINT(768146.937348371 1155180.25806803) | SRID=200001;POINT(768146.94 1155180.27) | 0.012 m SRID=200001;POINT(804332.207634597 1060930.07787953) | SRID=200001;POINT(804332.2 1060930.08) | 0.008 m SRID=200001;POINT(702797.080132595 1042769.04417904) | SRID=200001;POINT(702797.09 1042769.05) | 0.011 m SRID=200001;POINT(646145.863237357 1067707.21487662) | SRID=200001;POINT(646145.87 1067707.23) | 0.017 m (5 řádek) GIS Ostrava 2005
Závěr • úpravou původních definic souřadnicových systémů lze zlepšit • výsledky transformací • transformace lze provádět se stejnými výsledky přímo v datovém • skladu i v software, který příslušný datový sklad využívá GIS Ostrava 2005