Thread View: pl.rec.gps
16 messages
16 total messages
Started by Jan Drawski
Wed, 17 Apr 2013 09:18
Obliczanie odległości między dwoma punktami
Author: Jan Drawski
Date: Wed, 17 Apr 2013 09:18
Date: Wed, 17 Apr 2013 09:18
29 lines
2076 bytes
2076 bytes
Właśnie piszę program, którego jednym z elementów jest obliczanie odległości. Moja wiedza z tego zakresu jest mała - brak wykształcenia w tym kierunku. Ze względu na to muszę korzystać z "gotowych" algorytmów. Niestety okazuje się, że nie ma jakiegoś uznanego za ten najlepszy, przynajmniej ja na takie informacje nie trafiłem. Zacząłem testować dla punktów (mniej więcej przekątna "lądowa" polski - WGS84): 1. Lat: 49.004547, Lon: 22.889641 2. Lat: 53.920561, Lon: 14.176810 Wyniki: 1. http://www.nhc.noaa.gov/gccalc.shtml 813 km. 2. http://www.gwardak.com/distance.htm 814.07 km. 3. Zaimplementowany prze zemnie Vincenty 814.907 km. 4. Obca implementacja Vincent'a 814,908 km. 5. "Ellipsoid" 814,909 km. 6. "Sphere" 813,248 km. Dla mnie niby ta dokładność nie jest bardzo ważna ale chciałbym to zrobić jak najlepiej. Zacząłem już nawet czytać o quasigeoidach, np tu: http://www.igik.edu.pl/index.php/pl/geodezja/grawimetria/geoida/313 Tylko niestety nie wiem jak to ugryźć a nawet czy to ma duży związek z moimi obliczeniami. Czy ktoś wie jak to najlepiej obliczyć, jakieś delikatne naprowadzenie? Jaka to by była odległość, gdyby ją obliczył geodeta, może mi ktoś napisze jaki powinien być najdokładniejszy wynik? -- Pozdrawiam Janek
Re: Obliczanie odległości między dwoma punktami
Author: Wojciech Ścigała
Date: Wed, 17 Apr 2013 13:33
Date: Wed, 17 Apr 2013 13:33
27 lines
2384 bytes
2384 bytes
Użytkownik Jan Drawski napisał: > Wyniki: > 1. http://www.nhc.noaa.gov/gccalc.shtml 813 km. > 2. http://www.gwardak.com/distance.htm 814.07 km. > 3. Zaimplementowany prze zemnie Vincenty 814.907 km. > 4. Obca implementacja Vincent'a 814,908 km. > 5. "Ellipsoid" 814,909 km. > 6. "Sphere" 813,248 km. > > Dla mnie niby ta dokładność nie jest bardzo ważna ale chciałbym to > zrobić jak najlepiej. Wszystkie te wzory mają jedną zaletę - dokładność rośnie ze skracaniem się dystansu (a na bardzo krótkich odcinkach to nawet Pitagoras daje radę!). Mało które zastosowanie wymaga większej precyzji, niż oferują pokazane przez Ciebie wzory. Jak sam widzisz, trzy z nich (jak mniemam elipsoidalne) dają wyniki z zakresie 2 metrów. Zacznij się raczej zastanawiać, jaki błąd mają współrzędne wyjściowe. > Czy ktoś wie jak to najlepiej obliczyć, jakieś delikatne naprowadzenie? > Jaka to by była odległość, gdyby ją obliczył geodeta, może mi ktoś > napisze jaki powinien być najdokładniejszy wynik? Geodeci się nie znają na dużych dystansach. Dzwoń do geografów albo astronomów. -- Wojtuś
Re: Obliczanie odległości między dwoma punktami
Author: Robert Tomasik
Date: Wed, 17 Apr 2013 16:50
Date: Wed, 17 Apr 2013 16:50
21 lines
2483 bytes
2483 bytes
Użytkownik "Jan Drawski" <dfghdfg@o2.pl> napisał w wiadomości news:kklpca$f3u$1@speranza.aioe.org... > Czy ktoś wie jak to najlepiej obliczyć, jakieś delikatne naprowadzenie? > Jaka to by była odległość, gdyby ją obliczył geodeta, może mi ktoś > napisze jaki powinien być najdokładniejszy wynik? Rozbieżności w wynikach wynikają z faktu, że żaden z tych wyników nie jest rzeczywistą odległością, a każdy wzór daje jakieś tam przyliżenie oparte na takich, czy innych założeniach. Ziemia nie jest kulą. Gdyby była, to dałoby się w miarę ściśle te odległości wyznaczyć. Różni geografowie (bo Wojtek celnie podniósł, że geodeci, to raczej mniejsze odległości mierzą) w różny sposób przybliżali ziemię. Przeważnie jakimiś elipsoidami. Zwróć uwagę, że dokładność rzędu jednej milionowej stopnia na równiku daje około 40 metrów wzdłuż równika. Im bliżej bieguna, to oczywiście błąd ten się zmniejsza, ale i tak bedzie to kilka metrów. Kilka metrów na jednym punkcie, kilka na drugim i już masz spory błąd pochodzącym od danych, zatem nie ma głębszego sensu liczyć tego z dokładnością do milimetra - zwłaszcza, że i tak jest to poniekąd jakaś wirtualna odległość, bo przecież nie da się nią przemieścić.
Re: Obliczanie odległości między dwoma punktami
Author: Jan Drawski
Date: Wed, 17 Apr 2013 19:51
Date: Wed, 17 Apr 2013 19:51
23 lines
1887 bytes
1887 bytes
Wielkie dzięki za odpowiedzi, którymi trochę mnie zaskoczyliście :) Spodziewałem się bardziej naprowadzania na jakieś skomplikowane wzory, dane potrzebne do wyliczeń. Sam nawet miałem już zamiar szukania punktów wysokościowych, warstwic aby używać ich do obliczeń. Wyobrażałem sobie to tak: 1. Stworzenie bazy warstwic. 2. Obliczenie punktów przecięć tych warstwic z linią łączącą punkty mnie interesujące. 3. Obliczenie długości wszystkich powstałych odcinków biorąc pod uwagę oś Z (wysokość). 4. Zsumowanie długości odcinków. Ciekawie to by mogło wyglądać w górach, użytkownik na mapie mierzył by odległość, która teoretycznie miała by kilka metrów a wynik mógłby być wielokrotnie większy. Ze względu na to, wydaje mi się, że to by był zły pomysł, wynik mógłby być nieporównywalnie większy, niż ten który w tej chwili otrzymuję. Reasumując, zostaje przy tym co mam. Dzięki waszym podpowiedziom nie szukam więcej dziury w całym. -- Pozdrawiam Janek
Re: Obliczanie odległości między dwoma punktami
Author: Wojciech Ścigała
Date: Wed, 17 Apr 2013 20:42
Date: Wed, 17 Apr 2013 20:42
16 lines
1864 bytes
1864 bytes
Użytkownik Jan Drawski napisał: > Ciekawie to by mogło wyglądać w górach, użytkownik na mapie mierzył by > odległość, która teoretycznie miała by kilka metrów a wynik mógłby być > wielokrotnie większy. Ze względu na to, wydaje mi się, że to by był zły > pomysł, wynik mógłby być nieporównywalnie większy, niż ten który w tej > chwili otrzymuję. To by była powiedzmy "odległość profilowa". Z pewnością takie coś ma ciekawe zastosowania, ale z odległością geograficzną nie ma nic wspólnego. > Reasumując, zostaje przy tym co mam. Dzięki waszym podpowiedziom nie > szukam więcej dziury w całym. Bierz elipsoidę i powodzenia! :) -- Wojtuś
Re: Obliczanie odległości między dwoma punktami
Author: Jan Drawski
Date: Thu, 18 Apr 2013 04:20
Date: Thu, 18 Apr 2013 04:20
12 lines
1250 bytes
1250 bytes
> To by była powiedzmy "odległość profilowa". Z pewnością takie coś ma > ciekawe zastosowania, ale z odległością geograficzną nie ma nic wspólnego. Myślałem, że jest inaczej, szukałem zależności :) > Bierz elipsoidę i powodzenia! :) I tak zrobiłem, dzięki :) -- Pozdrawiam Janek
Re: Obliczanie odległości między dwoma punktami
Author: J.F
Date: Thu, 18 Apr 2013 18:39
Date: Thu, 18 Apr 2013 18:39
29 lines
2055 bytes
2055 bytes
Użytkownik "Jan Drawski" napisał w wiadomości grup dyskusyjnych:kklpca$f3u$1@speranza.aioe.org... A jak to sie liczy na elipsoidzie ? bo zaczalem obliczac odleglosc miedzy 0N 0E i 5N 0E a potem 50N 0E i 55N 0E >1. http://www.nhc.noaa.gov/gccalc.shtml 813 km. ten daje 300nm, czyli sferyczny ? Zreszta "great circle" o tym swiadczy. >2. http://www.gwardak.com/distance.htm 814.07 km. a ten dwa razy 556.51km ... czyli tez sferyczny ? tylko obliczenia z lepsza precyzja. Ale czemu u Ciebie ciut inaczej ? >Czy ktoś wie jak to najlepiej obliczyć, jakieś delikatne >naprowadzenie? Jaka to by była odległość, gdyby ją obliczył geodeta, >może mi ktoś napisze jaki powinien być najdokładniejszy wynik? Geodeta by wytriangulowal w terenie :-) Oni sie zreszta wspolrzednymi geograficznymi posluguja niechetnie - maja wlasne siatki. J.
Re: Obliczanie odległości między dwoma punktami
Author: Wojciech Ścigała
Date: Thu, 18 Apr 2013 19:56
Date: Thu, 18 Apr 2013 19:56
15 lines
1672 bytes
1672 bytes
Użytkownik J.F napisał: > A jak to sie liczy na elipsoidzie ? Są dość skomplikowane (do liczenia na piechotę) wzory rekurencyjne. Wspomniany tu Vincent to jeden z klasyków. >> 1. http://www.nhc.noaa.gov/gccalc.shtml 813 km. > ten daje 300nm, czyli sferyczny ? Zreszta "great circle" o tym swiadczy. "Great circle distance" należy tłumaczyć jako "ortodroma". Pojęcie stosowane także na elipsoidach. Ale fakt, ten kalkulator zdaje się liczyć na wzorach dla kuli. -- Wojtuś
Re: Obliczanie odległości między dwoma punktami
Author: Jan Drawski
Date: Fri, 19 Apr 2013 01:52
Date: Fri, 19 Apr 2013 01:52
30 lines
2065 bytes
2065 bytes
> A jak to sie liczy na elipsoidzie ? > bo zaczalem obliczac odleglosc miedzy > 0N 0E i 5N 0E a potem > 50N 0E i 55N 0E Algorytm Vincentego znajdziesz wpisując w Google: distVincenty + język programowania w którym piszesz, przykład algorytmu: Javascript: http://stackoverflow.com/questions/10160421/javascript-execution-issue PHP: http://stackoverflow.com/questions/11416767/implementing-vincentys-formula-in-php Wykorzystuje się dane dotyczące elipsoidy, które można znaleźć w tabelce na tej stronie: http://en.wikipedia.org/wiki/Figure_of_the_Earth Czyli w Google także można wpisać radius, flattening dla WGS84 i już coś wyjdzie. Jak nie będzie Ci się chciało szukać to daj przepis na "nospam" (co usunąć) a wyślę Ci prosty kod w Delphi. > Oni sie zreszta wspolrzednymi geograficznymi posluguja niechetnie - maja > wlasne siatki. Chodzi Ci o PUWG? Właśnie mnie pokusiło i zacząłem się temu przyglądać, masakra :) Trochę zespolone dają mi się we znaki ale może jakoś przez to przebrnę, ogólnie bez wiedzy z internetu nie miałbym szans aby sobie z tym poradzić, wiedza szkolna niestety łatwo mi wyparowała. -- Pozdrawiam Janek
Re: Obliczanie odległości między dwoma punktami
Author: J.F.
Date: Sun, 21 Apr 2013 10:02
Date: Sun, 21 Apr 2013 10:02
44 lines
2881 bytes
2881 bytes
Dnia Wed, 17 Apr 2013 21:51:57 +0200, Jan Drawski napisał(a): > Wielkie dzięki za odpowiedzi, którymi trochę mnie zaskoczyliście :) > Spodziewałem się bardziej naprowadzania na jakieś skomplikowane wzory, > dane potrzebne do wyliczeń. > Sam nawet miałem już zamiar szukania punktów wysokościowych, warstwic > aby używać ich do obliczeń. Wyobrażałem sobie to tak: > 1. Stworzenie bazy warstwic. > 2. Obliczenie punktów przecięć tych warstwic z linią łączącą punkty mnie > interesujące. > 3. Obliczenie długości wszystkich powstałych odcinków biorąc pod uwagę > oś Z (wysokość). Ale o osi Z w ogole nie bylo mowy. > 4. Zsumowanie długości odcinków. > Ciekawie to by mogło wyglądać w górach, użytkownik na mapie mierzył by > odległość, która teoretycznie miała by kilka metrów a wynik mógłby być > wielokrotnie większy. Ze względu na to, wydaje mi się, że to by był zły > pomysł, wynik mógłby być nieporównywalnie większy, niż ten który w tej > chwili otrzymuję. W gorach to i tak nieprzydatne. Co z tego ze w linii prostej czy tam po kole wielkim 1km, a po terenie 1200m, skoro to jest 100m pionowo w dol a 100m pionowo w gore ? Drogi w wiekszosci maja ponizej kilku % nachylenia, i tam odchylki tez sa znikowe. Wiecej sie straci na tym ze drogi na wprost nigdy nie ma (p.s. rozporzadzenie zabrania odcinkow prostych dluzszych niz 2 km ... o co tu chodzi ?) > Reasumując, zostaje przy tym co mam. Dzięki waszym podpowiedziom nie > szukam więcej dziury w całym. Czemu, ciekawy temat, tylko pytanie w jakim celu. Dla statkow, dla samolotow, dla geodetow ? Tak czy inaczej - wyjscie ponad sfere to komplikacja duza, korygowany blad niewielki, a dodatkowe bledy znacznie wieksze :-) Tak swoja droga ... roznica promieni na rowniku i biegunie to ~30km. jakies 0.25%. Do celow geodezyjnych ... troche duzo. Ale to 25cm na 100m, dokladnosc dobrego GPS podobnego rzedu :-) J.
Re: Obliczanie odległości między dwoma punktami
Author: Jan Drawski
Date: Sun, 21 Apr 2013 15:10
Date: Sun, 21 Apr 2013 15:10
57 lines
3600 bytes
3600 bytes
> Ale o osi Z w ogole nie bylo mowy. Tylko "trzeba" ją brać pod uwagę, w tym przypadku nie są to pomiary w terenie a geoida. > Drogi w wiekszosci maja ponizej kilku % nachylenia, i tam odchylki tez > sa znikowe. Wiecej sie straci na tym ze drogi na wprost nigdy nie ma Posiadając bazę dróg łatwo wyliczyć długość obliczając i sumując długości odcinków. Problemem jest wyliczenie optymalnej trasy, w tej chwili jeszcze sobie tego nie wyobrażam. > (p.s. rozporzadzenie zabrania odcinkow prostych dluzszych niz 2 km ... > o co tu chodzi ?) Nie wiem o czym piszesz... a na szybko Google nie wypluło nic sensownego. No może to: "W wypadku ograniczeń terenowych dopuszcza się stosowanie poza terenem zabudowy jednojezdniowej drogi czteropasowej klasy GP lub G na odcinku o długości nie większej niż 2 km, jeżeli kierunki ruchu będą rozdzielone barierą ochronną." Źródło: http://www.drogi.com/akty_prawne/du43_430.shtml Jeżeli o to, to kluczowa w tym przypadku może być klasa tej drogi... > ciekawy temat, tylko pytanie w jakim celu. > Dla statkow, dla samolotow, dla geodetow ? Dla "statków" choć czasami jak mnie coś zainteresuje to robię więcej niż powinienem. I tak np. poczytałem trochę o różnych odwzorowaniach, trochę rozporządzeń. W efekcie np. dorobiłem do programu obliczanie powierzchni w PUWG ze źródeł WGS84, mimo że nie było takiej potrzeby. Gdyby nawet była to wymyśliłbym inne prostsze rozwiązanie, prawie równie dokładne. > Tak czy inaczej - wyjscie ponad sfere to komplikacja duza, korygowany > blad niewielki, a dodatkowe bledy znacznie wieksze:-) Mam małą wiedzę na ten temat i nawet nie wiem o jakiej "sferze" piszesz... Tu pole do popisu mają geodeci. Osobiście dopiero teraz delikatnie zahaczyłem o tą problematykę. W sumie ciekawe tematy, np. niedokładności na Suwalszczyźnie przy odwzorowaniu 92, przeliczanie po wprowadzeniu 2000, niezgodności odczytów GPS ze stanem faktycznym. > Tak swoja droga ... roznica promieni na rowniku i biegunie to ~30km. > jakies 0.25%. Do celow geodezyjnych ... troche duzo. > Ale to 25cm na 100m, dokladnosc dobrego GPS podobnego rzedu:-) Nie ma GPSu bez korekcji z zewnątrz, który by osiągnął taką dokładność, nie wiem o czym piszesz. Chociaż gdyby zebrać dużo wyników, odrzucić trochę skrajnych, resztę uśrednić to kto wie co by wyszło, choć to by nie był bieżący pomiar. Z dokładnością GPSu nie jest tak różowo jak się wielu wydaje ale Ty na pewno dobrze o tym wiesz :) PS. Mail dotarł? -- Pozdrawiam Janek
Re: Obliczanie odległości między dwoma punktami
Author: J.F.
Date: Sun, 21 Apr 2013 16:53
Date: Sun, 21 Apr 2013 16:53
42 lines
2639 bytes
2639 bytes
Dnia Sun, 21 Apr 2013 17:10:29 +0200, Jan Drawski napisał(a): >> (p.s. rozporzadzenie zabrania odcinkow prostych dluzszych niz 2 km ... >> o co tu chodzi ?) > Nie wiem o czym piszesz... a na szybko Google nie wypluło nic > sensownego. No może to: > "W wypadku ograniczeń terenowych dopuszcza się stosowanie poza terenem > zabudowy jednojezdniowej drogi czteropasowej klasy GP lub G na odcinku o > długości nie większej niż 2 km, jeżeli kierunki ruchu będą rozdzielone > barierą ochronną." > Źródło: http://www.drogi.com/akty_prawne/du43_430.shtml > Jeżeli o to, to kluczowa w tym przypadku może być klasa tej drogi... Par 20. 1. Jeżeli pozwalają na to warunki miejscowe,długość odcinka prostego na drodze poza terenem zabudowy o wypukłych załomach niwelety nie ograniczających widoczności nie powinna przekraczać wartości określonych w tabeli: I par 26. >> Tak czy inaczej - wyjscie ponad sfere to komplikacja duza, korygowany >> blad niewielki, a dodatkowe bledy znacznie wieksze:-) > > Mam małą wiedzę na ten temat i nawet nie wiem o jakiej "sferze" > piszesz... Kuli a nie elipsoidy >> Tak swoja droga ... roznica promieni na rowniku i biegunie to ~30km. >> jakies 0.25%. Do celow geodezyjnych ... troche duzo. >> Ale to 25cm na 100m, dokladnosc dobrego GPS podobnego rzedu:-) > Nie ma GPSu bez korekcji z zewnątrz, który by osiągnął taką dokładność, > nie wiem o czym piszesz. Ponoc sa, jak usredniaja wiele dni. Mierza przesuniecia kontynentow. Ale nawet i te tansze geodyzyjne z drobna korekcja sa jednak przez geodetow uzywane .. > PS. Mail dotarł? Dotarl, dziekuje. J.
Re: Obliczanie odległości między dwoma punktami
Author: Jan Drawski
Date: Sun, 21 Apr 2013 18:07
Date: Sun, 21 Apr 2013 18:07
38 lines
2819 bytes
2819 bytes
> Par 20. 1. Jeżeli pozwalają na to warunki miejscowe,długość odcinka > prostego na drodze poza terenem zabudowy o wypukłych załomach niwelety > nie ograniczających widoczności nie powinna przekraczać wartości > określonych w tabeli: > > I par 26. Co ciekawe, czym większa prędkość tym dłuższy odcinek. Teraz trochę wróżę z fusów: te wypukłe załomy niwelety wpływają negatywnie na bezpieczeństwo, czym większa prędkość projektowa tym bardziej muszą być zniwelowane i dzięki temu odcinek może być dłuższy. Zastanawiam się czy droga nie może być prosta, tylko składa się z takich odcinków, czyli każdy taki odcinek osobno projektowany. Oczywiście dla człowieka, który ma małą wiedzę jest to bzdurą, ale czy tak jest naprawdę to trzeba by się kogoś interesującego się projektowaniem dróg zapytać. Wydaje mi się, że jest szansa znaleźć kogoś, kto może mieć o tym pojęcie tu: http://www.skyscrapercity.com choć dziś pierwszy raz mi się ta strona nie otwiera. > Ponoc sa, jak usredniaja wiele dni. Mierza przesuniecia kontynentow. > Ale nawet i te tansze geodyzyjne z drobna korekcja sa jednak przez > geodetow uzywane .. Tańsze geodezyjne :) Różnica jest duża bo np. między 80 a 30 tysięcy jest aż 50 :) Są ciekawostki, np: http://www.u-blox.com/images/downloads/Product_Docs/NEO-6P_ProductSummary_%28GPS.G6-HW-11046%29.pdf http://www.u-blox.com/de/precise-point-positioning-ppp.html do kupienia sam moduł za około 100 Euro. Ale to cały czas jest koło metra, choć przy wykorzystaniu jedynie L1. Reasumując jeżeli chce się mieć dokładną pozycję to albo dane muszą być korygowane albo trzeba "długo" czekać na wyniki. -- Pozdrawiam Janek
Re: Obliczanie odległości między dwoma punktami
Author: Miroslaw Kwasniak
Date: Mon, 22 Apr 2013 06:21
Date: Mon, 22 Apr 2013 06:21
18 lines
1952 bytes
1952 bytes
Jan Drawski <dfghdfg@o2.pl> wrote: > Są ciekawostki, np: > http://www.u-blox.com/images/downloads/Product_Docs/NEO-6P_ProductSummary_%28GPS.G6-HW-11046%29.pdf > http://www.u-blox.com/de/precise-point-positioning-ppp.html > do kupienia sam moduł za około 100 Euro. > Ale to cały czas jest koło metra, choć przy wykorzystaniu jedynie L1. > Reasumując jeżeli chce się mieć dokładną pozycję to albo dane muszą być > korygowane albo trzeba "długo" czekać na wyniki. Ciekawy chip: SuperSense Indoor GPS All NEO-6 modules come with SuperSense, providing improved acquisition/reacquisition and tracking sensitivity. SuperSense enables high performance tracking and navigation even in difficult signal environments such as urban canyons or indoor locations.
Re: Obliczanie odległości między dwoma punktami
Author: J.F.
Date: Mon, 22 Apr 2013 19:57
Date: Mon, 22 Apr 2013 19:57
18 lines
1609 bytes
1609 bytes
Dnia Thu, 18 Apr 2013 21:56:37 +0200, Wojciech Ścigała napisał(a): > Użytkownik J.F napisał: >> A jak to sie liczy na elipsoidzie ? > Są dość skomplikowane (do liczenia na piechotę) wzory rekurencyjne. > Wspomniany tu Vincent to jeden z klasyków. Ale w sumie to mi chodzilo jak to sie definiuje. Elipsoida jest powierzchnia prawie ekwipotencjalna, pion grawitacyjny jest do niej prostopadly, astronomicznie szerokosc geograficzna w danym miejscu mierzy sie ... wzgledem pionu ? GPS to juz nie wiem jak, rozsadnie byloby tak samo. A moze szerokosc definiowac przez odleglosc po poludniku ? Czy jednak przez kat od plaszczyzny rownika ? J.
Re: Obliczanie odległości między dwoma punktami
Author: 666
Date: Sat, 07 Dec 2013 18:41
Date: Sat, 07 Dec 2013 18:41
5 lines
1214 bytes
1214 bytes
No to nawet nie zapytałeś, czy chodzi o ortodromę, czy o loksodromę? ----- > Dla "statków"
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads