Algorytm prośba o małą pomoc

O narzędziach do tworzenia własnych map, takich jak MapEdit czy cGPSmapper, a także o serwisach udostępniania, wymiany i przetwarzania danych geograficznych takich jak MapCenter, OpenStreetMap czy SDD (SRTM). Ogólnie, o wszystkim co związane z radością UMPowania.

Moderatorzy: Artur, Alf/red/, Spider

Algorytm prośba o małą pomoc

Postprzez arek_wroc » Wt, 03 sty 2012 19:49

Potrzebuje pomocy napisania na papierze algorytmu tzw pseudokod, opisowo.
Mam wymyśłeć algorytm do autoamtycznej generalizacji map wektorowych,
tak aby nasze mapy w gpsach były dokładniejsze, chodzi o drogi i rzeki,
jakie propozycje mozna przedstawić?
Na podstawie mapy polski w mapedit.
Prosze o jakies rady wskazówki podpowiedzi.
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prosba o mala pomoc

Postprzez sdsyc » Wt, 03 sty 2012 20:06

arek_wroc napisał(a):Mam wymyśłeć algorytm do autoamtycznej generalizacji map wektorowych,
tak aby nasze mapy w gpsach były dokładniejsze, chodzi o drogi i rzeki,

Czy zapoznałeś się z pojęciem generalizacji? Np. wpisując hasło w Google?
Czy nie jesteś w błędzie, że dzięki niej mapy w gpsach będą dokładniejsze?
Auto: Android Auto + OsmAnd+ + UMP, mapy.cz + OSM, Google Maps
Nagarstek: Fenix 5 Plus Sapphire + TopoActive Europe + OSM Freizeikarte + UMP
W telefonach: Locus / Brouter, OsmAnd+ + OSM + UMP, mapy.cz
sdsyc
Radny
 
Posty: 3363
Dołączył(a): Śr, 27 lut 2008 9:03

Re: Algorytm prosba o mala pomoc

Postprzez popej » Wt, 03 sty 2012 20:30

Nie będzie dokładniejsza: http://pl.wikipedia.org/wiki/Generalizacja_mapy

W najprostszym wydaniu generalizacja mapy dla Garmina polega na określeniu dla różnych obiektów do jakiej skali (level mapy) obiekt ma być widoczny.
popej
Montana 700, 3540T, PL Topo, OSM, CNE; PocoX3Pro, OsmAnd+
Avatar użytkownika
popej
Garniak
 
Posty: 6878
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Re: Algorytm prosba o mala pomoc

Postprzez asandrzej » Wt, 03 sty 2012 20:59

Może Kolega pomylił szczegółowość mapy z dokładnością, to często się zdarza.
" Jak to nie zachwyca Galkiewicza, jeśli tysiąc razy tłumaczyłem Galkiewiczowi, że go zachwyca,"
z mapami i GPS-em jest podobnie.
cytat: Witold Gombrowicz
Palmtop-aplikacja Garmin Que
asandrzej
Garniak
 
Posty: 6094
Dołączył(a): Śr, 13 lut 2008 20:24

Re: Algorytm prośba o małą pomoc

Postprzez arek_wroc » Śr, 04 sty 2012 21:09

Tak patrzyłem co to generalizacja, macie racje nie bedzie dokładniejsza, troche źle napisałem, chodzi o szczegółowość, w temacie pracy mam napisane Opracowanie algorytmu (lub algorytmów) wspomagających proces generalizacji map wektorowych.
Informacją dodatkową jest to co mi Pan ostatnio podpowiedział że w efekcie pracy powinien powstać program automatycznie generalizujący sieć dróg na mapie wektorowej. Sieć dróg w projekcie UMP-pcPL (www.ump.waw.pl) umieszczona jest na 4 poziomach widoczności odpowiadających powiększeniu w urządzeniu GPS.Rysowana jest ona jednak tylko na pierwszym z nich, a wygląd w oddaleniu jest uzyskiwany automatycznie podczas kompilacji.
Obecnie efekty jednak nie są zadowalające - sieć dróg jest poszarpana, nieciągła, składająca się z wielkiej
liczby krótkich odcinków co ma niekorzystny wpływ na szybkość wyświetlania. Taką podpowiedz mi dał moj nauczuciel, ale ja mam problemy co z tym zrobić, jesli mozecie cos podpowiedziec to bardzo prosze.
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prośba o małą pomoc

Postprzez popej » Śr, 04 sty 2012 22:38

Trzeba wziąć dane z UMP, w tym wypadku wszystkie drogi. Zbudować z nich graf a następnie przeprowadzać na tym grafie optymalizacje, zależnie od docelowej skali mapy. To co możesz zrobić to:
- usunąć drogi najniższej kategorii,
- usunąć ronda i połączyć drogi prowadzące do ronda,
- usunąć rampy,
- usunąć krótkie odcinki dróg i połączyć węzły tych odcinków,
- pogrupować drogi o podobnych typach i nadać im jeden wspólny typ
- połączyć odcinki ze wspólnym węzłem i identycznym typem drogi.

I co tam jeszcze wymyślisz ;)
popej
Montana 700, 3540T, PL Topo, OSM, CNE; PocoX3Pro, OsmAnd+
Avatar użytkownika
popej
Garniak
 
Posty: 6878
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Re: Algorytm prośba o małą pomoc

Postprzez Alf/red/ » Cz, 05 sty 2012 14:05

arek_wroc napisał(a):Sieć dróg w projekcie UMP-pcPL (www.ump.waw.pl) umieszczona jest na 4 poziomach widoczności odpowiadających powiększeniu w urządzeniu GPS.Rysowana jest ona jednak tylko na pierwszym z nich, a wygląd w oddaleniu jest uzyskiwany automatycznie podczas kompilacji.
Obecnie efekty jednak nie są zadowalające - sieć dróg jest poszarpana, nieciągła, składająca się z wielkiej
liczby krótkich odcinków

Tak, racja. Ale po pierwsze nie przejmuj się w ogóle warstwami, patrz tylko na tą najdokładniejszą (wyższe są wyłącznie do przyspieszenia wyświetlania), a po drugie nie pracuj na plikach img, które są ... no powiedzmy popsute z punktu widzenia tego, co chcesz zrobić, ale pracuj na źródłach.
Alf/red/ + jutrzejsze UMP-pcPL + nüvi 360/CNE2008 + nüvi 765/CNE2010 + Vista HCx.
Obrazek
Avatar użytkownika
Alf/red/
Radny
 
Posty: 1096
Dołączył(a): Pt, 16 mar 2007 10:27
Lokalizacja: Szczęśliwice

Re: Algorytm prośba o małą pomoc

Postprzez arek_wroc » Pt, 06 sty 2012 23:43

Dzieki koledze za podpowiedzi, spróbuje coś wymyslec, a jak co to znow poprosze o rade.
Pozdro.
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prośba o małą pomoc

Postprzez arek_wroc » Cz, 12 sty 2012 0:22

Drodzy koledzy jednak potrzebuj dalszej waszej pomocy, gdyż nie wychodzi mi to :( Chodzi o ten pseudokod do automatycznej generalizacji map wektorowych na podstawie dróg i rzek, pomoże mi ktoś? Proszę. Tak aby pokazać zasadę działania algorytmu i wyciągnąć jakiś wniosek poźniej z tego pseudokodu.
Ja tylko takie coś napisałem

Kod: Zaznacz cały
for każda droga na mapie
{
for każdy punkt drogi
{
         if ...
         then
         else
}
}

Pozdrawiam i z góry dzięki Wam.
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prośba o małą pomoc

Postprzez Miszka » Cz, 12 sty 2012 17:46

Pisanie kodu algorytmu nie ma sensu jak się nie wie co i JAK ten algorytm ma robić.

Nie pisz pseudokodu tylko napisz jak chcesz tę mapę generalizować swoimi słowami.

Podpowiedz Twojego nauczyciela jest sensowna a i popej też napisał dobre podpowiedzi.

Tak wiec napisz pół strony A4 swoimi słowami co i jak algorytm ma robić i ci z pseudokodem pomożemy.
Michal
teraz Vista HCx ( UMP pcPL ) + Nuvi 765T Taiwan ( UMP pcPL, za granicą CNE2010.31, awaryjnie GPMapa 2010.3)
kiedyś Nuvi 200v2 ( UMP pcPL, CNE 2009 )
Miszka
Bywalec
 
Posty: 250
Dołączył(a): Pn, 28 kwi 2008 11:55
Lokalizacja: Mazowieckie

Re: Algorytm prośba o małą pomoc

Postprzez arek_wroc » Cz, 12 sty 2012 21:55

Witam!
Ok napisze o co chodzi wdług mnie, a więc celem pracy jest stworzenie algorytmu (lub algorytmów) wspomagających proces generalizacji map wektorowych.
Sieć dróg w tym projekcie UMP-pcPL (www.ump.waw.pl) umieszczona jest na 4 poziomach widoczności odpowiadających powiększeniu w urządzeniu GPS. Rysowana jest ona jednak tylko na pierwszym z nich, a wygląd w oddaleniu jest uzyskiwany automatycznie podczas kompilacji.
Obecne efekty jednak nie są zadowalające - sieć dróg jest poszarpana, nieciągła, składająca się z wielkiej liczby krótkich odcinków co ma niekorzystny wpływ na szybkość wyświetlania.
W efekcie pracy powinny powstać rozważania o złożoności obliczeniowej mające na celu przeanalizowanie algorytmu, którego program automatycznie generalizuje sieć dróg na mapie wektorowej, którego działania będzie efektywniejsze od dotychczasowych wersji. Czyli tn algorytm ma dać nam to aby nasze mapy były lepsze, efektywniejsze, bardziej szczegółowe, aby drogi i rzeki bo to mam pokazać w pracy były tak pokazane aby zwykły użytkownik widział różnice i te różnice żeby robiły na nim dobry wpływ.
Do tego stworzenia algorytmu trzeba wziąć dane z UMP, w tym wypadku wszystkie drogi i rzeki. Zbudować z nich grafy a następnie przeprowadzać na tych grafach optymalizacje, zależnie od docelowej skali mapy. A więc np:
- znaleść te drogi i rzeki,
- Znalezienie jednej rzeki (wszystkie kawałki tej rzeki)
- posklejanie kawałków w jeden lub kilka wielokątów
- dla każdego kawałka znalezienie kawałków przylegających
- połączenie wielokątów (wielokąty zamieniamy na linie)
- usunąć drogi i rzeki najniższej kategorii,
- usunąć ronda i połączyć drogi prowadzące do ronda,
- usunąć rampy,
- usunąć krótkie odcinki dróg i połączyć węzły tych odcinków,
- pogrupować drogi o podobnych typach i nadać im jeden wspólny typ
- połączyć odcinki ze wspólnym węzłem i identycznym typem drogi.
I trzymając sie tych wytycznych stworzyć pseudokod algorytmu muszę.
Mam nadzieje że zrozumieliście i teraz pomożecie mi? Będę bardzo wdzięczny.
Pozdrawiam.
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prośba o małą pomoc

Postprzez Alf/red/ » Pt, 13 sty 2012 13:33

arek_wroc napisał(a):umieszczona jest na 4 poziomach widoczności odpowiadających powiększeniu w urządzeniu GPS. Rysowana jest ona jednak tylko na pierwszym z nich


Bądźmy precyzyjni. Nie rysowana, ale tworzona albo definiowana. Bo rysowana jest przez odbiorniki albo inne cosie wyświetlające mapę - to co jest na pierwszej warstwie, umieszczają (uwaga: po uproszczeniu) na wyższych.

arek_wroc napisał(a):ma dać nam [...] bardziej szczegółowe

Nienie. Przecież usuwasz szczegóły. Po takiej obróbce nie będą bardziej szczegółowe w żadnym sensie.

Temat zaczął się rozbijać na kilka wątków, do których powinieneś podchodzić osobno (przynajmniej częściowo).
arek_wroc napisał(a):- znaleść te drogi i rzeki,
- Znalezienie jednej rzeki (wszystkie kawałki tej rzeki)

Znajdowanie obiektów, hmm - jak usuniesz np. rondo, to go nie znajdziesz, chyba że jakoś zapamiętasz co i skąd usunąłeś.

arek_wroc napisał(a):- posklejanie kawałków w jeden lub kilka wielokątów
- dla każdego kawałka znalezienie kawałków przylegających
- połączenie wielokątów (wielokąty zamieniamy na linie)

Drogi zawsze są liniami. Rzeki czasem są wielokątami, i tylko na większych powiększeniach.

arek_wroc napisał(a):- usunąć drogi i rzeki najniższej kategorii,
- usunąć ronda i połączyć drogi prowadzące do ronda,
- usunąć rampy,
- usunąć krótkie odcinki dróg i połączyć węzły tych odcinków,

Tak, to dobre upraszczanie. Po usunięciu ramp też powinieneś łączyć rozdzielone w ten sposób drogi (w miejscu, gdzie się krzyżują?)

arek_wroc napisał(a):- pogrupować drogi o podobnych typach i nadać im jeden wspólny typ
- połączyć odcinki ze wspólnym węzłem i identycznym typem drogi.

Typów nie ma dużo, więc dużo tu nie ugrasz. Ale owszem, można.
Łącząc odcinki pamiętaj też o nazwach dróg (ulic) - jeśli masz robić także wyszukiwanie...

Ogólnie całość jest w dobrym kierunku. Teraz poszczególne kroki próbuj w tym samym stylu rozbijać na drobniejsze kroczki tak, jak Ci się wydaje (tak powstają algorytmy). I samo wyjdzie, co zależy od czego. No i nikt nie będzie mógł zarzucić, że to nasza praca ;-)

Acha, i przy końcu tworzenia pracy zadbaj o dobrą korektę językową (widzę zagrożenia: niespójność terminologii, skomplikowane zdania, błędy językowe aż do ortograficznych - celowo nie poprawiam w oryginalnej treści).
Alf/red/ + jutrzejsze UMP-pcPL + nüvi 360/CNE2008 + nüvi 765/CNE2010 + Vista HCx.
Obrazek
Avatar użytkownika
Alf/red/
Radny
 
Posty: 1096
Dołączył(a): Pt, 16 mar 2007 10:27
Lokalizacja: Szczęśliwice

Re: Algorytm prośba o małą pomoc

Postprzez arek_wroc » Pt, 13 sty 2012 19:30

Witam!
No dobra dzieki za sprostowania małe, ale mieliście mi pomóc napisać.... pomóżcie jak możecie? Sam sobie nie poradze akurat w tym. Miszka pomóc mi jak możesz tak jak pisałeś i inni też.
Pozdrawiam.
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prośba o małą pomoc

Postprzez arek_wroc » Pn, 16 sty 2012 11:49

Koledzy pomóżcie chociaż trochę, zróbcie dobry uczynek? Nic mi się nie układa, nawet komp mi się psuje:( i mam kłopot z tym.
Pozdrawiam Was!
arek_wroc
Początkujący
 
Posty: 21
Dołączył(a): Wt, 03 sty 2012 19:42

Re: Algorytm prośba o małą pomoc

Postprzez popej » Pn, 16 sty 2012 11:59

Zadałeś ogólne pytanie i dostałeś ogólną odpowiedź. Jak zadasz konkretne pytanie, to możesz się spodziewać szczegółowej odpowiedzi.

Całej pracy za Ciebie nie zrobimy.
popej
Montana 700, 3540T, PL Topo, OSM, CNE; PocoX3Pro, OsmAnd+
Avatar użytkownika
popej
Garniak
 
Posty: 6878
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Następna strona

Powrót do Tworzenie map

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości