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 Dgfdgfd ČVUT v Praze, Fakulta stavební GIS Ostrava 2005
Referenční elipsoid ETRF-89 a Helmertova transformace mezi 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
80. léta 20. století- G. Evenden (USA) – výpočty z oblasti 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
1) standardní typ objektů 2) funkce pro manipulaci s objekty 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) Číslo bodu Y[m] X[m] Proj/Matkart j Bessel l Bessel 104 775279.26 1069759.49 49 48 34.219 14 01 33.620 119 768146.94 1155180.27 49 03 28.189 14 17 16.865 221 804332.20 1060930.08 49 51 01.361 13 36 31.077 404 702797.09 1042769.05 50 08 17.282 14 58 35.311 510 646145.87 1067707.23 49 58 42.610 15 48 16.950 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é Číslo bodu Proj j ETRF-89 l ETRF-89 Matkart 104 49 48 31.473 49 48 31.476 14 01 29.965 14 01 29.966 49 48 31.6 14 01 30.0 119 49 03 25.790 49 03 25.786 14 17 13.282 14 17 13.284 49 03 25.9 14 17 13.2 221 49 50 58.550 49 50 58.553 13 36 27.623 13 36 27.622 49 50 58.7 13 36 27.7 404 50 08 14.509 50 08 14.508 14 58 31.080 14 58 31.081 50 08 14.5 14 58 31.2 510 49 58 40.005 49 58 40.001 15 48 12.346 15 48 12.343 49 58 40.0 15 48 12.4 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ý Číslo bodu Proj j Krasovský l Krasovský Matkart 104 49 48 32.946 14 01 36.288 49 48 32.87 14 01 36.17 119 49 03 27.279 14 17 19.505 49 03 27.19 14 17 19.48 221 49 51 00.045 13 36 33.955 49 50 59.95 13 36 33.82 404 50 08 15.916 14 58 37.438 50 08 15.91 14 58 37.28 510 49 58 41.372 15 48 18.674 49 58 41.41 15 48 18.55 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 Číslo bodu Proj X [m] Y [m] Matkart 104 5520171.11 3429945.43 5520171.60 3429943.74 119 5436370.21 3448016.00 5436370.54 3448013.92 221 5525189.14 3399992.23 5525189.81 3399990.73 404 5556267.46 3498360.41 5556267.55 3498358.76 510 5538825.85 3557755.29 5538825.73 3557753.64 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
transform(wgs84.the_geom,200002) as transformovane, 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 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 GIS Ostrava 2005
úpravou původních definic souřadnicových systémů lze zlepšit 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