Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
[QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
10-05-2021, 13:23,
#1
[QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Dzień dobry wszystkim
Nie radzę sobie z transformacją Helmerta w QGIS - znając parametry transformacji nie potrafię napisać poprawnej definicji układu odniesienia w PROJ (lub WKT).
Jest to niejako kontynuacja mojego poprzedniego tematu dotyczącego georeferencji map w układzie lokalnym ale kilka lat sprawiło, że mam już więcej wiedzy i tamte sprawy mam ogarnięte, a ten wątek dotyczy już samej transformacji i jej użycia w praktyce.

Ale do brzegu:
Posiadam mapy, ze współrzędnymi w metrach. Sekcje map są w lokalnym układzie odniesienia, obrócone o 77,87st.
Potrafię wyliczyć parametry transformacji Helmerta [LOK -> ukł. 2000] na podstawie punktów ze znanymi współrzędnymi w obu układach.
Potrafię przeliczać współrzędne układu lokalnego na układ 2000 (i odwrotnie) ale robię to w excelu...
Potrafię je poprawnie wyświetlić na warstwie po imporcie CSV do QGIS
ale:
- chciałbym móc pominąć excela, czyli importować pliki CSV ze współrzędnymi w układzie lokalnym bezpośrednio do QGIS

Posiadam współrzędne środków ciężkości dla obydwu układów i jeszcze dwa parametry transformacji u=0,9776 i v=0,21
Stworzyłem w QGIS nowy układ odniesienia użytkownika (na podstawie dokumentacji PROJ), ale nie jestem pewien które wartości dokładnie powinienem wpisać.
Kod:
+proj=helmert +convention=coordinate_frame +x=5586823.219 +y=6577924.687 +s=0.999958259058672 +theta=280338.3

gdzie x i y to współrzędne (w układzie 2000) początku układu lokalnego (0, 0), s to skala a theta to obrót (77,87st * 3600) 

ale...

to nie działa...

Próbowałem też po omacku:

Kod:
+proj=pipeline
+step +proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
+step +proj=helmert +convention=coordinate_frame +x=5586823.219 +y=6577924.687 +s=0.999958259058672 +theta=-280338.3 +units=m

Jak ustawię jeden lub drugi układ współrzędnych dla warstwy, to QGIS wyrzuca błąd że nie posiada parametrów transformacji. Jak wejdę w ustawienia QGISa i w Transformacje, to mogę tam tylko dodać nową transformację MOJ_LOK -> 2000 ale nie mogę w żaden sposób 'edytować' jej parametrów... I ostatecznie nic to nie zmienia...

Szukam tego w internetach od dłuższego czasu, przejrzałem wiele zagranicznych wątków i wiele prób za mną, ale... może ja to w ogóle źle robię?
Cytując "georobot" z 2018 roku:
Cytat:A potem to już "bułka z masłem"

Niestety nie dla mnie... Proszę o pomoc.

Jeśli to co napisałem powyżej jest nie do końca zrozumiałe, to moje pytanie brzmi:
Jak w praktyce wykorzystać posiadane parametry transformacji Helmerta do poprawnego wyświetlania na mapie współrzędnych w układzie lokalnym bez przeliczania ich poza QGISem (w excelu).

Z góry dziękuję za zainteresowanie i pomoc!
10-05-2021, 21:57,
#2
RE: [QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Sprawdź jedną rzecz. Korzystasz z 
Kod:
+convention=coordinate_frame

Za dokumentacją, do której linkujesz, sprawdź, z którą wersją PROJ jest skompilowany QGIS. Bo jeżeli to w nie działa, to może tu coś brakuje. Z dokumentacji musi być min 5.0
10-05-2021, 23:25,
#3
RE: [QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Dzięki za zainteresowanie tematem.

QGISa mam z wersją 7.4 PROJ, więc powinno być ok. Jak to usunę to 'debuger' QGISa wywala błąd składni. Ale nie sprawdziłem czy da się pominąć ten błąd, w sensie zapisać 'z błędem'. Sprawdzę to jutro

W ogóle kierunek mam dobry? Czy nie tędy droga?
11-05-2021, 07:34,
#4
RE: [QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Sprawdziłem, wersję PROJ mam 6.3.2, a bez
Kod:
+convention=coordinate_frame

QGIS nie chce przepuścić...
11-05-2021, 10:55,
#5
RE: [QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Jak to zawsze, zależy. Jak masz import tylko plików CSV i potem i tak działasz już na układzie 2000, to nie wiem czy bym nie poszedł w modeler graficzny i import pliku przez model W modelu możesz dodać wszystkie potrzebne obliczenia jak i potem stworzyć geometrię, dopisać układ i wczytać do projektu. Jak byś mógł podesłać kawałek tego excela, to bym chętnie coś się tym pobawił. Szczególnie o to całą formułę do obliczeń, jak to nie tajemnica Smile
11-05-2021, 11:20,
#6
Wink  RE: [QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Podzielę się z przyjemnością i żadna to tajemnica, bo sam tego nie wymyśliłem. Ale sprawdziłem i działa:
http://www.engineeringsurveyor.com/softw...ations.xls
(jak wpiszesz w google "helmert transformation xls" to pierwszy link)

Na stronie http://www.engineeringsurveyor.com/ już nie ma tego pliku do 'kliknięcia', albo nie umiem go znaleźć ?

Jest nowsza wersja, ale nie używałem jej:
http://www.engineeringsurveyor.com/softw...ion_v3.zip

Tak BTW, gość tam ma trochę różnych rzeczy

Pozdrawiam
21-05-2021, 13:35,
#7
RE: [QGIS][PROJ] Transformacja Helmerta - lokalny układ odniesienia
Ok. Nie wchodziłem w to tak głęboko aby rozkminiać tego excela, ale jak to jest formula to:

1) Pobieramy wtyczkę CSV Tools - dodaje  algorytmy dla CSV do processing (wtyczka eksperymentalna)

2) Tworzymy nowe model w modelerze - Processing -> Modelarz graficzny.

3) Wybieramy wszystkie potrzebne wejścia. - Tutaj robisz wedle uznania. Możesz wprowadzić różne wartości wejść które będą brane potem do poszczególnym algorytmów, albo mieć na stałe wpisane w tych algorytmach.

 - najważniejsze, zainstalowaną wtyczką, importujesz csv (może być bez przypisywania geometrii)
-  kalkulatorem pól /zaawansowanym kalkulatorem pól Python / zmień pola - przeprowadzasz kalkulację na nowe wartości x i y
-  algorytm geometria za pomocą wyrażenia tworzysz geometrię z pól x.y
- dalej wedle uznania.

W ten sposób możesz przeprowadzić wsadowe przetwarzanie wielu plików CSV, dodać jeszcze dodatkowe możliwości sprawdzenia czy przetworzenia danych. Zapis do bazy, do plikó, nadanie stylu itp etc. Ogólnie, powiem szczerze, że ostatnio najwięcej w QGISie właśnie działam w processingu i modelerze, bardzo wygodne narzędzie IMO, możesz sobie nawet zrobić warunkowe przetwarzanie i parę wariantów (mam w planach nauczenie się tych możliwości.)


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Transformacja układu współrzędnych dla punktów Grzegorz_B 1 905 06-07-2023, 13:12
Ostatni post: Grzegorz_B
  WFS a transformacja układu współrzędnych (WGS 84 -> 2000) Arisa64 9 5 536 21-06-2022, 14:47
Ostatni post: [wiki]
  eksport układu odniesienia do shp Kola 0 2 759 24-11-2019, 23:57
Ostatni post: Kola
  Transformacja PUWG 2000 / WGS 84 - VBA Adam_Polanowski 2 11 252 26-02-2019, 22:13
Ostatni post: PowLine
  historyczny uklad wspolrzednych i jego transformacja pitt 3 8 744 18-02-2019, 22:43
Ostatni post: jerresso
  Układ Lokalny - jak ustawić cogito94 5 18 870 16-11-2016, 12:17
Ostatni post: cogito94
  Interpolacja - układ odniesienia megakozak 0 6 282 17-02-2016, 13:29
Ostatni post: megakozak
  Transformacja rastra .hmr seba16_15 1 10 087 25-11-2014, 15:19
Ostatni post: martel
  Transformacja GeoArt 2 13 252 20-10-2014, 15:13
Ostatni post: GeoArt
  układy odniesienia - problem boneyards 3 14 528 16-06-2014, 08:25
Ostatni post: Binko

Skocz do: