Autor Téma: Prevod S-JTSK na WGS84?  (Přečteno 2725 krát)

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Prevod S-JTSK na WGS84?
« kdy: 16-10-2023, 01:44:46 »
Už hodiny neviem nájasť kód pre prevod.
ČR súradnice do GPS. (JTSK do WGS84)
Resp. aj som našiel, ale nepoužiteľné.
Chyba vzdušnou čiarou až 750 m. To je ozaj priveľa.
Potrebujem presnosť do 5 m.
Inak to nemá význam. Inak musím použiť Reverse Geocoding z webu.
Ten má však obmedzenia na množstvo dotazov v čase.
Nepoznáte akceptovateľné riešenie pre ten prevod súradníc?

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Prevod S-JTSK na WGS84?
« Odpověď #1 kdy: 16-10-2023, 12:12:30 »
To jsi zkousel neco na bazi https://github.com/josefzamrzla/JTSK_Converter/blob/master/Converter.php ? resp. http://www.geospeleos.com/Mapovani/WGS84toSJTSK/WGS84toSJTSK.htm
Embarcadero MVP - Czech republic

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #2 kdy: 16-10-2023, 12:38:10 »
Skúšal som toto:
.. https://github.com/josefzamrzla/JTSK_Converter/blob/master/Converter.php ? ..
Mimochodom ten druhý odkaz je neplatný, alebo sa nedá otvoriť.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Prevod S-JTSK na WGS84?
« Odpověď #3 kdy: 16-10-2023, 13:48:50 »
Skúšal som toto:
.. https://github.com/josefzamrzla/JTSK_Converter/blob/master/Converter.php ? ..
Mimochodom ten druhý odkaz je neplatný, alebo sa nedá otvoriť.

Ted druhy je originalni algoritmus v Delphi, ze ktereho vznikl ten druhy v PHP a ze ktereho jsou vsechny dal (https://github.com/simi/jtsk), ted je to https://www.geospeleos.com/Mapovani/Transformace/Transformace.htm , drive tam bylo https://web.archive.org/web/20120306220235/http://www.geospeleos.com/Mapovani/WGS84toSJTSK/WGS84toSJTSK.htm
Embarcadero MVP - Czech republic

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #4 kdy: 16-10-2023, 14:14:16 »
Zdrojový pas, resp zip (Wgs84.zip) sa tam už nedá dohľadať. Ani v jednom z dvoch odkazov.
Dá sa stiahnuť skompilovaný Wgs84.exe. Ale zdrojáky pas nie.
Ted druhy je originalni algoritmus v Delphi, ze ktereho vznikl ten druhy v PHP a ze ktereho jsou vsechny dal (https://github.com/simi/jtsk), ted je to https://www.geospeleos.com/Mapovani/Transformace/Transformace.htm , drive tam bylo https://web.archive.org/web/20120306220235/http://www.geospeleos.com/Mapovani/WGS84toSJTSK/WGS84toSJTSK.htm

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 7426
  • Karma: 44
    • Verze Delphi: W11 + D11.3.1
Re:Prevod S-JTSK na WGS84?
« Odpověď #5 kdy: 16-10-2023, 16:32:51 »
Dal som do vyhľadávača "Download wgs84.zip". Je tam toho veľa. Ja sa v tom nevyznám, ale i tak pochybujem, že tam je to čo hľadáš.
Skús to.
Win11 64b, Delphi 12.2, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:Prevod S-JTSK na WGS84?
« Odpověď #6 kdy: 16-10-2023, 18:05:05 »
A funguje Ti ten kus kódu, co jsem Ti poslal v soukromé zprávě?

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #7 kdy: 16-10-2023, 19:02:14 »
A funguje Ti ten kus kódu, co jsem Ti poslal v soukromé zprávě?
V tom kóde je iteratívna verzia funkcie JTSKtoWGS84.
Včera som téme WGS84toJTSK venoval 12+ hodín času. (stratený deň stratený čas)
Žiadny uspokojivý výsledok.
Medzi iným som pracoval aj s tou iteratívnou funkciou JTSKtoWGS84.
Iteruje na báze opačnej funckie WGS84toJTSK.
Nakoľko aj tento "základný" prevod je pravdepodobne zaťažený značnou chybou, pre iteráciu na jeho báze to je katastrofa.
Okrem toho aj princíp samotného návrhu danej iterácie sa mi zdá školácky.
Preto si myslím, že tade cesta nevedie.
Možno príležitostne bleskove vyskúšam. Malá šanca, ak by zabralo dám vedieť.
Pre info: skúšal som kód najmenej z 5 rôznych zdrojov. V skutočnosti sú od seba +-poopisované.
Najlepší výsledok dáva roziel min 250 metrov.
Ak sa jedná o adresy, tak sme pri 250m už na inej ulici, alebo v inej štvrti.
Iteračné kódy sa netrafili ani omylom.
Hodiny som trápil aj ChatGPT. V tomto prípade nezabral a nakoniec začal neskutočne zavádzať.
Jediné riešenie je Reverzná geolokácia. (prehľad: https://www.tmssoftware.com/site/blog.asp?post=1135, pridal by som aj Nominatim)
Ktovie ako prevádzajú českú projekciu z RUIAN ( https://www.cuzk.cz/ruian/RUIAN.aspx) do OSM (OpenStreetMaps) ?
« Poslední změna: 16-10-2023, 19:04:02 od miroB »

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:Prevod S-JTSK na WGS84?
« Odpověď #8 kdy: 16-10-2023, 19:23:20 »
Nakoľko aj tento "základný" prevod je pravdepodobne zaťažený značnou chybou, pre iteráciu na jeho báze to je katastrofa.

A našel jsi nějaké vstupní hodnoty, pro které je u toho zaslaného postupu chyba větší než 0,5 m? Protože já to používám např. v souvislosti s WMS podklady a přijde mi, že to sedí docela dobře.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #9 kdy: 16-10-2023, 19:28:04 »
OK, keď máš s tým kódom skúsenosť, zajtra to preverím (dúfam, že stihnem)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3544
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Prevod S-JTSK na WGS84?
« Odpověď #10 kdy: 16-10-2023, 23:01:29 »
A funguje Ti ten kus kódu, co jsem Ti poslal v soukromé zprávě?

To asi nelze publikovat, ze?
Embarcadero MVP - Czech republic

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:Prevod S-JTSK na WGS84?
« Odpověď #11 kdy: 17-10-2023, 09:18:43 »
To asi nelze publikovat, ze?

Já to kdysi dávno našel někde na webu i s povídáním; chtěl jsem poslat odkaz, ale už jsem to nenašel, tak nevím, nakolik by bylo zveřejnění košér...

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3531
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:Prevod S-JTSK na WGS84?
« Odpověď #12 kdy: 17-10-2023, 16:07:33 »
Pre info: skúšal som kód najmenej z 5 rôznych zdrojov. V skutočnosti sú od seba +-poopisované.
Najlepší výsledok dáva roziel min 250 metrov.
Ne, ze bych ti dokazal poradit, ale predpokladam, ze kdyz jsi stravil tolik hodin hledanim, ze tohle BAKALÁŘSKÁ PRÁCE jsi videl -> me tedy udivuje ta disproporce mezi tvymi zkusenostmi a stredni chybou v radu mm, kterou autorka u testovanych aplikaci uvadi v tab. 4.2 :-O

Citace
Hodiny som trápil aj ChatGPT. V tomto prípade nezabral a nakoniec začal neskutočne zavádzať.
Podle mych zkusenosti po vyvolane hysterii kolem moznosti AI a kritice jeho vybajenych vysledku ho nejak "zarizli": pred tim mel snahu generovat ozdrojovany text, i kdyz si casto reference vymyslel (priklad i kdyz z non-IT oblasti jsem sem posilal), takze by se dala vygenerovat bakalarska/diplomova prace, ktera by u lajdaku mohla formalne projit. Ale kdyz jsem ho zkousel v posledni dobe, tak citace neposkytuje, do vetsi hloubky se nepousti, jeho odpovedi opovidaji tak gymnazialni urovni a na pokus ho ponorit hloubeji odpovida, ze obsahuje jen vseobecne znalosti, takze z memo pohledu je ted skoro k nicemu  :(

Citace
Jediné riešenie je Reverzná geolokácia.
Nekdy v roce 2016 jsme to pouzili pro automaticke pred-generovani mapy bankomatu z adres pro jejich dohled a optimalizaci a to fungovalo velmi dobre, ale poplatky, kdyz Google zjistil, ze jde o bankovnictvi, byly nestydate, takze se to v produkcni verzi skrylo a pouzilo by se to jedine, kdyby si to zakaznik zaplatil a mam dojem, ze se to nikdy nepouzilo :-)
« Poslední změna: 17-10-2023, 16:24:17 od pf1957 »

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #13 kdy: 17-10-2023, 18:24:21 »
Pre info: skúšal som kód najmenej z 5 rôznych zdrojov. V skutočnosti sú od seba +-poopisované.
Najlepší výsledok dáva roziel min 250 metrov.
Ne, ze bych ti dokazal poradit, ale predpokladam, ze kdyz jsi stravil tolik hodin hledanim, ze tohle BAKALÁŘSKÁ PRÁCE jsi videl -> me tedy udivuje ta disproporce mezi tvymi zkusenostmi a stredni chybou v radu mm, kterou autorka u testovanych aplikaci uvadi v tab. 4.2 :-O
Podarilo sa mi stiahnuť program "Wgs84.exe".
Zdroj nie ale exe na webe ešte trčí dodnes.
Ten program je uvádzaný v spomenutej bakalárke. Matiku (vzorce) som preskočil, na to nemám vzdelanie a ani čas.
Ak by som to ozaj musel, tak si kód zosmolím podľa tých rovníc. Lenže nijak nie je isté, či sa tomu vôbec dá veriť.
Mám skúsenosti, že výpočty podľa vzorcov nikto nerobil, pretože vo vzorcoch boli chyby, ale tabuľky boli OK.
V norme ČSN o vodovodoch bol 20 rokov chybný vzorec. Skúšal som niekedy okolo r. 1989 programovať, tak som prišeil na to, že hlavný vzorec normy dáva 10x vyššie čísla, ako tabuľky v prílohe. Iba tie sa reálne používali.
Keď neboli počítače, všetky zložité vzorce boli pre bežných užívateľov iba na ozdobu. Tá bakalárka je možno ešte taká stará škola..
« Poslední změna: 17-10-2023, 18:31:09 od miroB »

Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #14 kdy: 17-10-2023, 19:41:42 »
Nakoľko aj tento "základný" prevod je pravdepodobne zaťažený značnou chybou, pre iteráciu na jeho báze to je katastrofa.

A našel jsi nějaké vstupní hodnoty, pro které je u toho zaslaného postupu chyba větší než 0,5 m? Protože já to používám např. v souvislosti s WMS podklady a přijde mi, že to sedí docela dobře.
Zdroják sa odkazuje na unitu "GpsCoord". Tá nebola priložená.
Niekde z webu mám takmer identický zdroj (dosť starý) z roku 2003 (teda rok starší). Doplnil som čo som vedel. Pochybujem, že by chýbajúca unita viedla k lepším výsledkom.
Prípadne tú "referenčnú" adresu vyskúšaj sám. A daj vedieť.
Prikladám hodnoty "výskumu":
Vzorové dáta - PRAHA - ( Len jedna adresa, ak by bola chyba prijateľná, skúsil by som toho viac)
  • zdroj: RÚIAN - adresy
  •       adresa                   (č.p a č.domu)   PSČ          JTSK.X, JTSK.Y
  • Zlatá ulička u Daliborky    22/20        11900       743971.87, 1042344.19
  • GOOGLE MAPS  Lat/Lon (WGS84 alias GPS) - aka reverse geocoding (nejde o prevod z JTSK na WGS84)
  • 50.09201666532517, 14.403979936322918
  • Nominatim  Lat/Lon   (WGS84 alias GPS) - reverse geocoding. Nechytá sa GoogleMaps, ale stále dobré (nejde o prevod z JTSK na WGS84)
  • 50.0919939, 14.4039023
  • test Delphi Program od Vandrovník, bez unity "GpsCoord"
  • 54.5555554652721, 19.5555554652721  (pre JTSK.X,JTSK.Y záporné)   Gdansk, PL
  • 51.3791603861023, 11.6208396138977  9 pre JTSK.X,JTSK.Y kladné)   Querfurt, DE
  • Mám z webu aj ďalší Delphi kód, priamy výpočet JTSKtoWGS, nepoužíva iteráciu a chyba je "len" 300-750 m vzdušnou čiarou
  • 50.0894811233046,14.4072091146631  ("iba" 550 m, prakticky nepoužiteľné)
  • príklad prevodu z webu: https://www.estudanky.eu/prevody/jtsk.php  Ide o pomerne "presný" prevod JTSKtoWGS, ale to zďaleka nestačí
  • 50.09201666532517,14.403979936322918  (iba 7m ! Použiteľné s rezervou.. )
Chlapci z OpenStreetMaps, čo prevádzajú české data do OSM z RÚIAN majú nejaké lepšie prevodníky!!!
Pre kontrolu GPS som použil:
  • Google maps a Nominatim - reverse geocoding
Google API KEY nemám, takže tam to je priamo z G. maps (nezabudnite na pravé tlačidlo pri G. maps!)

« Poslední změna: 17-10-2023, 19:47:44 od miroB »

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:Prevod S-JTSK na WGS84?
« Odpověď #15 kdy: 17-10-2023, 20:09:02 »
Ahoj, tu unitu jsem doposlal, to jsem si neuvědomil, pardon.

Test:
Kód: [Vybrat]
program Test102;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  GpsWgs84 in 'GpsWgs84.pas',
  GpsCoord in 'GpsCoord.pas';

procedure Test;
 var Sirka, Delka: double;
     JtskX, JtskY: double;
     Jtsk: tMapCoord;
 begin
 Sirka:=50.09201666532517;
 Delka:=14.403979936322918;
 WGS84toJTSK(Sirka, Delka, Jtsk);
 writeln('Sirka = ', Sirka:14:11, ', delka = ', Delka:14:11, ', JTSK Y = ', Jtsk.Y:14:6, ', JTSK X = ', Jtsk.X:14:6);
 JTSKtoWGS84(Jtsk, Sirka, Delka);
 writeln('Sirka = ', Sirka:14:11, ', delka = ', Delka:14:11, ', JTSK Y = ', Jtsk.Y:14:6, ', JTSK X = ', Jtsk.X:14:6);
 WGS84toJTSK(Sirka, Delka, Jtsk);
 writeln('Sirka = ', Sirka:14:11, ', delka = ', Delka:14:11, ', JTSK Y = ', Jtsk.Y:14:6, ', JTSK X = ', Jtsk.X:14:6);
end;

begin
Test;
readln;
end.

Na výstupu:
Sirka = 50.09201666533, delka = 14.40397993632, JTSK Y =  743965.133957, JTSK X = 1042342.849943
Sirka = 50.09201660261, delka = 14.40397991119, JTSK Y =  743965.133957, JTSK X = 1042342.849943
Sirka = 50.09201660261, delka = 14.40397991119, JTSK Y =  743965.136691, JTSK X = 1042342.856607



Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #16 kdy: 17-10-2023, 20:48:03 »
Ahoj, tu unitu jsem doposlal..
Tak som unitu zapojil a výpočet ma príjemne prekvapil, teraz vychádza rozdiel 7 m. (voči Google maps)
Takto mi vyšiel aktualizovaný výsledok: 50.0919964399405,14.403889203004

ReverseGeocode via Nominatim (viď môj predošlý príspevok), ten ukazuje rozdiel 6 metrov voči G. maps. To sú už veľmi dobre porovnateľné hodnoty!
Možno som sa mýlil aj u tej bakalárky (bola spracovaná v roku 2007, delphi zdrojáky sú z rokov 2001-2004), lenže tam aj ten "Wgs84.exe". dával ozaj iný (slabý) výsledok..
Poznámky :
  • Celý tento prevodný problém sa týka len ČR (Křovákova projekcia - špecialita ČR, na dané miesto ideálna, používala sa v celej ČSR). Slovenské podklady (gov.sk) sú priamo GPS kompatibilné, aj keď to je ETRS89 a nie GTS84
  • K SK adresám (ETRS89 - európa):
    GIS tools usually do not make any difference between WGS84 and ETRS89. Difference is important in geodetic research. Odkaz:https://gis.stackexchange.com/questions/209986/transformation-parameters-from-etrs89-2004-to-wgs84
  • V spomínanej bakalárke zdrojáky nehľadajte! Aktuálne sú už nedostupné. Len ten exe sa snáď tou cesto nájde (ale je veľmi archaický a aj nepresný)

« Poslední změna: 17-10-2023, 21:13:21 od miroB »

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1587
  • Karma: 52
    • Verze Delphi: 11.3
Re:Prevod S-JTSK na WGS84?
« Odpověď #17 kdy: 18-10-2023, 09:26:05 »
7 m je stejně nějak podezřele moc.

Pro ČR se dá na https://nahlizenidokn.cuzk.cz/VyberKatastrMapa.aspx zobrazit mapa, zkus tam najít nějaké místo blízko slovenských hranic. Dole je pak ikonka Lokalizace WGS-84. V okně, co vyběhne, se po kliknutí do mapy dá zjistit, jaké souřadnice to místo má v WGS-84 i v JTSK. Věřím, že rozdíl oproti hodnotám, co vypočítá ta zaslaná unita, bude o dost menší než 7 metrů. Jinak i ten katastr tam varuje, že převod není jednoznačný a že to není úplně přesné.


Offline miroB

  • Guru
  • *****
  • Příspěvků: 655
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005 .. D Tokyo 10.2.3 Pro C/S, D12.2
Re:Prevod S-JTSK na WGS84?
« Odpověď #18 kdy: 19-10-2023, 15:15:50 »
Príležitostne sa môžno k téme vrátim.
Pre moje použitie má prednosť zobrazenie WGS84 ( Využívané pre GPS ).
Nemu zodpovedajú rôzne web aplikácie Geocoding a ReverseGeocoding. Nakoľko tie sú dátovo limitované, chcel som ísť dostupnou cestou z Adries ČR a SK.
Tie dve karajiny sú v oblasti môjho záujmu. Ale nie výlučne.
Slovensko našťastie uvádza adresy v dobre kompatibilnom ETRS89. Problém nastal s ČR ( lokácia v Křovák-ových súradniciac).
Dúfal som, že to bude bezbolestný, mechanický a primerane presný prevod. Nie je a ani to tak nie je prezentované v dostupných materiáloch.
Preto v tejto fáze ČR vynechám a šetrne použijem geocoding API.
Nepolemizujem o presnosti. Je zrejmé, že Křovák/S-JTSK je pre ČR ideálna projekcia.
Lenže u mňa primárne nejde o geodéziu, ale o zobrazenie v Google, alebo OSM mapách a najmä o štatistiky, ktoré sa k nim vzťahujú.
Problém JTSKtoWGS momentálne pre tieto účely vidím ako slepú cestu (menej vhodnú ako GEO API).
Možno sa raz vrátim, ale teraz musím ísť za hlavným cieľom. Ak by bola ČR dominanta môjho snaženia, bolo rozhodoval by som sa zrejme inak..

Offline Jiří Bílý

  • Nováček
  • *
  • Příspěvků: 2
  • Karma: 0
    • Verze Delphi: 11.3
Re:Prevod S-JTSK na WGS84?
« Odpověď #19 kdy: 22-10-2023, 18:37:52 »
Pokud potřebuješ pracovat se seznamem českých adres, tak existují dva zdroje dat. Jeden je RÚIAN, ten pravděpodobně používáš, protože ten je jen v S-JTSK. Druhý zdroj je tady: https://services.cuzk.cz/gml/inspire/ad/epsg-4258/. Ten má souřadnice v ETRS89.