ARUP-CAS / aiscr-webamcr

Archeologická mapa České republiky
https://amcr-info.aiscr.cz/
GNU General Public License v3.0
5 stars 0 forks source link

Přesná PostGIS transformace S-JTSK (5514) <-> WGS-84 (4326) #594

Closed motyc closed 4 months ago

motyc commented 2 years ago

Cílem je najít řešení nezávislé na službě ČÚZK a její dostupnosti.

Např. zde lze najít transformace s centimetrovou přesností: http://freegis.fsv.cvut.cz/gwiki/S-JTSK_/_Grid (podle autorů to lze implementovat v PostGIS, je tam i návod).

Nejdříve je třeba provést analýzu, zda je tato nebo jiná obdobná implementace realistická a na základě toho navrhnout update stávajícího řešení.

Problém mimo jiné je, že nyní se nám souřadnice transformují s odchylkou. Testoval jsem to na http://192.168.254.30:8080/pas/zapsat a srovnával s https://geoportal.cuzk.cz/(S(go2kkco2unz1m1ccb0vssijc))/Default.aspx?mode=TextMeta&text=wcts&menu=191. Přitom údajně tuto službu využíváme (což tím pádem asi není pravda).

image

13.8098558 -> -785478.58 (CUZK) 13,8098558 -> -785477.88 (AMCR)

50.1278954 -> -1032422.39 (CUZK) 50,1278954 -> -1032422.01 (AMCR)

image

-785478.58 -> 13.8098558 (CUZK) -785478.58 -> 13,8098553 (AMCR)

-1032422.38 -> 50.1278955 (CUZK) -1032422.38 -> 50,1278952 (AMCR)

Pokud to nejde na naší straně v PostGIS, alespoň správně napojit službu ČÚZK.

SELECT ident_cely, geom_system, ST_asText(geom) as wgs, ST_asText(geom_sjtsk) as sjtsk FROM public.samostatny_nalez
ORDER BY id DESC LIMIT 30;
SELECT ident_cely, geom_system, ST_asText(geom) as wgs, ST_asText(geom_sjtsk) as sjtsk FROM pian ORDER BY id DESC LIMIT 30;
motyc commented 6 months ago

Test v0.4.36

Transformace probíhá perfektně, je třeba pouze dořešit související úpravy:

jhavrlant commented 4 months ago

@motyc Pro migraci jsem upravil funkce pian_to_sjtsk() a nalez_to_sjtsk() v task.py. Po migraci by se spustily v Djangu shell. Stačí to tak? Nechce se mi to integrovat do copy_data.py, neznám jeho parametry spuštění a taky bych to těžko testoval.

motyc commented 4 months ago

@jhavrlant Zítra bych se s Tebou spojil a nějak se domluvíme.

jhavrlant commented 4 months ago

@motyc Migrace transformace souřadnic s spustí: sudo docker exec -it $(sudo docker ps -q -f name=swarm_webamcr_web) python3 manage.py shell --settings=webclient.settings.production

import cron.tasks; cron.tasks.nalez_to_sjtsk() cron.tasks.pian_to_sjtsk() Pokud jsi jako administrátor můžeš smazat sudo

motyc commented 4 months ago

@jhavrlant Tak na pokus na .30 skončil chybou: image

EDIT: Teď koukám, že tam je ještě jeden související pull, tak to asi bude oprava a testoval jsem příliš brzy...