http://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&feed=atom&action=historyKompilacja mapy - Historia wersji2024-03-28T18:03:25ZHistoria wersji tej strony wikiMediaWiki 1.12.0http://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=3578&oldid=prevLudek: Kategoria:Tworzenie mapy2011-10-23T16:58:57Z<p><a href="/wiki/Kategoria:Tworzenie_mapy" title="Kategoria:Tworzenie mapy">Kategoria:Tworzenie mapy</a></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 16:58, 23 paź 2011</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 37:</td>
<td colspan="2" class="diff-lineno">Linia 37:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img (przed generowaniem indeksów wszystkie POI oraz miejscowości są uzupełniane przez program wojek o dane dotyczące województwa i państwa w którym się znajdują). Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img (przed generowaniem indeksów wszystkie POI oraz miejscowości są uzupełniane przez program wojek o dane dotyczące województwa i państwa w którym się znajdują). Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">[[Kategoria:Tworzenie mapy]]</ins></div></td></tr>
</table>Ludekhttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=2241&oldid=prevTs: /* Etap drugi - tworzenie danych routingowych */2010-05-30T01:12:22Z<p><span class="autocomment">Etap drugi - tworzenie danych routingowych</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 01:12, 30 maj 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 23:</td>
<td colspan="2" class="diff-lineno">Linia 23:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Drugim zadaniem netgena jest wygenerowanie każdej dostępnej drodze unikatowego numeru (RoadID) oraz parametrów routingu (RouteParam). Wydaje mi się, że pierwsze nie wymaga wyjaśniania , natomiast warto powiedzieć kilka słów o drugim. Parametr RouteParam składa się z 12 cyr odzielonych przecinkami. Pierwsze dwie oznaczają szybkość obowiązującą na danej drodze (od 0 do 7) oraz klasę drogi (0-4). Te dwa pamaretry są ustawiane na podstawie klasy drogi (zobacz plik netgen.cfg), albo w przpadku gdy istnieją parametry ForceSpeed i ForceClass są kopiowane z tych zmiennych. Trzecia cyfra oznacza kierunkowość i jest ustawiana gdy w źródłach droga oznaczona jest jako jednokierunkowa. Pozostałe parametry są ustawiane zgodnie z wyznaczymi zawartymi w pliku netgen.cfg, albo zgodnie z tym co jest w źródłach (zakazy ruchu, zakazy wjazdu ciężarówek, drogi płatne itd - zakładka Routing).</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Drugim zadaniem netgena jest wygenerowanie każdej dostępnej drodze unikatowego numeru (RoadID) oraz parametrów routingu (RouteParam). Wydaje mi się, że pierwsze nie wymaga wyjaśniania , natomiast warto powiedzieć kilka słów o drugim. Parametr RouteParam składa się z 12 cyr odzielonych przecinkami. Pierwsze dwie oznaczają szybkość obowiązującą na danej drodze (od 0 do 7) oraz klasę drogi (0-4). Te dwa pamaretry są ustawiane na podstawie klasy drogi (zobacz plik netgen.cfg), albo w przpadku gdy istnieją parametry ForceSpeed i ForceClass są kopiowane z tych zmiennych. Trzecia cyfra oznacza kierunkowość i jest ustawiana gdy w źródłach droga oznaczona jest jako jednokierunkowa. Pozostałe parametry są ustawiane zgodnie z wyznaczymi zawartymi w pliku netgen.cfg, albo zgodnie z tym co jest w źródłach (zakazy ruchu, zakazy wjazdu ciężarówek, drogi płatne itd - zakładka Routing).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>Po wygenerowaniu numerów dróg oraz parametrów routingu dla każdej drogi netgen rozpoczyna generowanie danych o skrzyżowaniach (NodX=A,B,C). Każde skrzyżowanie otrzymuje swój unikatowy numer, a każda droga otrzymuje informacje w którym miejscu pojawia się skrzyżowanie (węzeł nr A, zaczynając od zera), oraz jaki posiada numer (wartość B). Dodatkowo gdy zdarzy się że dane skrzyżowanie jest na linii granicznej (pomiędzy dwoma arkuszami mapy), netgen ustawia parametr C na 1, co umożliwia routing między wieloma plikami img.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Po wygenerowaniu numerów dróg oraz parametrów routingu dla każdej drogi netgen rozpoczyna generowanie danych o skrzyżowaniach (NodX=A,B,C). Każde skrzyżowanie otrzymuje swój unikatowy numer, a każda droga otrzymuje informacje w którym miejscu pojawia się skrzyżowanie (węzeł nr A, zaczynając od zera), oraz jaki posiada numer (wartość B). Dodatkowo<ins style="color: red; font-weight: bold; text-decoration: none;">, </ins>gdy zdarzy się że dane skrzyżowanie jest na linii granicznej (pomiędzy dwoma arkuszami mapy <ins style="color: red; font-weight: bold; text-decoration: none;">&ndash; a wynika to z zastosowania specjalnego pliku z granicami: [[Plik_granice.txt|granice.txt]]</ins>), netgen ustawia parametr C na 1, co umożliwia routing między wieloma plikami img.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Następną rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Następną rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:</div></td></tr>
</table>Tshttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=1690&oldid=prevWopozka: /* Etap trzeci - kompilacja i generowanie indeksów */2010-02-09T23:13:24Z<p><span class="autocomment">Etap trzeci - kompilacja i generowanie indeksów</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 23:13, 9 lut 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 36:</td>
<td colspan="2" class="diff-lineno">Linia 36:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img <ins style="color: red; font-weight: bold; text-decoration: none;">(przed generowaniem indeksów wszystkie POI oraz miejscowości są uzupełniane przez program wojek o dane dotyczące województwa i państwa w którym się znajdują)</ins>. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td></tr>
</table>Wopozkahttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=1525&oldid=prevWopozka: /* Etap drugi - tworzenie danych routingowych */2010-01-01T19:24:59Z<p><span class="autocomment">Etap drugi - tworzenie danych routingowych</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 19:24, 1 sty 2010</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 16:</td>
<td colspan="2" class="diff-lineno">Linia 16:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>netgen -b -j -k -R -<del style="color: red; font-weight: bold; text-decoration: none;">T$narzedzia</del>/netgen.cfg < <del style="color: red; font-weight: bold; text-decoration: none;">$</del>wynik > <del style="color: red; font-weight: bold; text-decoration: none;">$</del>temp 2> <del style="color: red; font-weight: bold; text-decoration: none;">$</del>netgenlog</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>netgen -b -j -k -R -<ins style="color: red; font-weight: bold; text-decoration: none;">Tnarzedzia</ins>/netgen.cfg < wynik > temp 2> netgenlog</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Wopozkahttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=1455&oldid=prevWopozka: /* Wstęp */2009-12-25T22:10:49Z<p><span class="autocomment">Wstęp</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 22:10, 25 gru 2009</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 3:</td>
<td colspan="2" class="diff-lineno">Linia 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>==Wstęp==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>==Wstęp==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Wiele osób rysuje mapę, ale niewiele wie do końca w jaki sposób ze źródeł powstaje gotowy produkt. Ten artykuł ma za zadanie przybliżyć nowym użytkownikom drogę od rozmontowanych źródeł do gotowej mapy która ląduje w odbiorniku. Dodatkowo po jego przeczytaniu być może zaczną być jasne powody dla których generate-routing-graph oraz RouteParam powinny być unikane.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Wiele osób rysuje mapę, ale niewiele wie do końca w jaki sposób ze źródeł powstaje gotowy produkt. Ten artykuł ma za zadanie przybliżyć nowym użytkownikom drogę od rozmontowanych źródeł do gotowej mapy która ląduje w odbiorniku. Dodatkowo po jego przeczytaniu być może zaczną być jasne powody dla których generate-routing-graph oraz RouteParam powinny być unikane.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Ten opis miał być w założeniu uproszczonym wprowadzeniem do kompilacji. Jeśli chcesz się dowiedzieć jak i co się dokładnie dzieje podczas kompilacji, polecam prześledzić artykuł Alfreda na ten temat (prawie że nieczytelny dla nietechnicznych ;) [[Kompilacja_na_serwerze]].</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>==Mapa routowalna==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>==Mapa routowalna==</div></td></tr>
</table>Wopozkahttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=1454&oldid=prevWopozka: /* Etap drugi - tworzenie danych routingowych */2009-12-25T21:54:08Z<p><span class="autocomment">Etap drugi - tworzenie danych routingowych</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 21:54, 25 gru 2009</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 11:</td>
<td colspan="2" class="diff-lineno">Linia 11:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>==Etap drugi - tworzenie danych routingowych==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>==Etap drugi - tworzenie danych routingowych==</div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>W drugim etapie tworzenia mapy do pracy zaprzęgany jest netgen. Jego pierwszym zadaniem jest sprawdzenie źródeł na okoliczność występowania dróg przecinających się same ze sobą. Jeśli taka droga zostanie odnaleziona zostaje ona przecięta w taki sposób aby uniknąć zapętlenia. Z tego powodu w ump możemy rysować ronda w jednym kawałku (netgen je potem dzieli na pół). Z tego samego powodu czasami pojawiają się błędy za bliskich węzłów (bo netgen źle przeciął i dwa węzły routingowe są za blisko). Dodatkowo netgen przecina drogi w miejscach gdzie drogowskazy i zakazy nie zaczynają się lub kończą na węzłach routingowych.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>W drugim etapie tworzenia mapy do pracy zaprzęgany jest netgen. <ins style="color: red; font-weight: bold; text-decoration: none;">Wywołany jest on następująco:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">netgen -b -j -k -R -T$narzedzia/netgen.cfg < $wynik > $temp 2> $netgenlog</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div> </div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Jego pierwszym zadaniem jest sprawdzenie źródeł na okoliczność występowania dróg przecinających się same ze sobą. Jeśli taka droga zostanie odnaleziona zostaje ona przecięta w taki sposób aby uniknąć zapętlenia. Z tego powodu w ump możemy rysować ronda w jednym kawałku (netgen je potem dzieli na pół). Z tego samego powodu czasami pojawiają się błędy za bliskich węzłów (bo netgen źle przeciął i dwa węzły routingowe są za blisko). Dodatkowo netgen przecina drogi w miejscach gdzie drogowskazy i zakazy nie zaczynają się lub kończą na węzłach routingowych.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Drugim zadaniem netgena jest wygenerowanie każdej dostępnej drodze unikatowego numeru (RoadID) oraz parametrów routingu (RouteParam). Wydaje mi się, że pierwsze nie wymaga wyjaśniania , natomiast warto powiedzieć kilka słów o drugim. Parametr RouteParam składa się z 12 cyr odzielonych przecinkami. Pierwsze dwie oznaczają szybkość obowiązującą na danej drodze (od 0 do 7) oraz klasę drogi (0-4). Te dwa pamaretry są ustawiane na podstawie klasy drogi (zobacz plik netgen.cfg), albo w przpadku gdy istnieją parametry ForceSpeed i ForceClass są kopiowane z tych zmiennych. Trzecia cyfra oznacza kierunkowość i jest ustawiana gdy w źródłach droga oznaczona jest jako jednokierunkowa. Pozostałe parametry są ustawiane zgodnie z wyznaczymi zawartymi w pliku netgen.cfg, albo zgodnie z tym co jest w źródłach (zakazy ruchu, zakazy wjazdu ciężarówek, drogi płatne itd - zakładka Routing).</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Drugim zadaniem netgena jest wygenerowanie każdej dostępnej drodze unikatowego numeru (RoadID) oraz parametrów routingu (RouteParam). Wydaje mi się, że pierwsze nie wymaga wyjaśniania , natomiast warto powiedzieć kilka słów o drugim. Parametr RouteParam składa się z 12 cyr odzielonych przecinkami. Pierwsze dwie oznaczają szybkość obowiązującą na danej drodze (od 0 do 7) oraz klasę drogi (0-4). Te dwa pamaretry są ustawiane na podstawie klasy drogi (zobacz plik netgen.cfg), albo w przpadku gdy istnieją parametry ForceSpeed i ForceClass są kopiowane z tych zmiennych. Trzecia cyfra oznacza kierunkowość i jest ustawiana gdy w źródłach droga oznaczona jest jako jednokierunkowa. Pozostałe parametry są ustawiane zgodnie z wyznaczymi zawartymi w pliku netgen.cfg, albo zgodnie z tym co jest w źródłach (zakazy ruchu, zakazy wjazdu ciężarówek, drogi płatne itd - zakładka Routing).</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Linia 17:</td>
<td colspan="2" class="diff-lineno">Linia 23:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po wygenerowaniu numerów dróg oraz parametrów routingu dla każdej drogi netgen rozpoczyna generowanie danych o skrzyżowaniach (NodX=A,B,C). Każde skrzyżowanie otrzymuje swój unikatowy numer, a każda droga otrzymuje informacje w którym miejscu pojawia się skrzyżowanie (węzeł nr A, zaczynając od zera), oraz jaki posiada numer (wartość B). Dodatkowo gdy zdarzy się że dane skrzyżowanie jest na linii granicznej (pomiędzy dwoma arkuszami mapy), netgen ustawia parametr C na 1, co umożliwia routing między wieloma plikami img.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po wygenerowaniu numerów dróg oraz parametrów routingu dla każdej drogi netgen rozpoczyna generowanie danych o skrzyżowaniach (NodX=A,B,C). Każde skrzyżowanie otrzymuje swój unikatowy numer, a każda droga otrzymuje informacje w którym miejscu pojawia się skrzyżowanie (węzeł nr A, zaczynając od zera), oraz jaki posiada numer (wartość B). Dodatkowo gdy zdarzy się że dane skrzyżowanie jest na linii granicznej (pomiędzy dwoma arkuszami mapy), netgen ustawia parametr C na 1, co umożliwia routing między wieloma plikami img.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;">Ostatnią </del>rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Następną </ins>rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre>[RESTRICT]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><pre>[RESTRICT]</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Linia 24:</td>
<td colspan="2" class="diff-lineno">Linia 30:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[END]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[END]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></pre></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">I wreszcie ostatnią rzeczą którą robi netgen jest odpowiednie zbilansowanie klas dróg. Aby routing działał dobrze sieć drogowa musi posiadać ciągłą klasę routingową (nie mogą pojawiać się dziury w klasach). Dlatego netgen przegląda drogi i podwyższa klasę dla ramp, rond, łączników i innych tego typu obiektów (np rampy zjazdowe z autostrad dostają klasę autostrady). Dodatkowo netgen redukuje do dwóch liczbę klas dróg na danym skrzyżowaniu (gdy jest ich więcej klasa najniższych dróg zostaje podwyższona).</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td></tr>
</table>Wopozkahttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=1453&oldid=prevWopozka: /* Etap drugi - tworzenie danych routingowych */2009-12-25T21:46:01Z<p><span class="autocomment">Etap drugi - tworzenie danych routingowych</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">← Poprzednia wersja</td>
<td colspan='2' style="background-color: white; color:black;">Wersja z dnia 21:46, 25 gru 2009</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Linia 1:</td>
<td colspan="2" class="diff-lineno">Linia 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del style="color: red; font-weight: bold; text-decoration: none;"></del></div></td><td colspan="2"> </td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>= Kompilacja mapy =</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>= Kompilacja mapy =</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Linia 20:</td>
<td colspan="2" class="diff-lineno">Linia 19:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Ostatnią rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Ostatnią rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[RESTRICT]</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"><pre></ins>[RESTRICT]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>TRAFFPOINTS=A1,N,B1</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>TRAFFPOINTS=A1,N,B1</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>TRAFFROADS=A,B</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>TRAFFROADS=A,B</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[END]</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>[END]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Etap trzeci - kompilacja i generowanie indeksów ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div></td></tr>
</table>Wopozkahttp://ump.fuw.edu.pl/mediawiki/index.php?title=Kompilacja_mapy&diff=1452&oldid=prevWopozka: kompilacja mapy2009-12-25T21:43:38Z<p>kompilacja mapy</p>
<p><b>Nowa strona</b></p><div><br />
= Kompilacja mapy =<br />
<br />
==Wstęp==<br />
Wiele osób rysuje mapę, ale niewiele wie do końca w jaki sposób ze źródeł powstaje gotowy produkt. Ten artykuł ma za zadanie przybliżyć nowym użytkownikom drogę od rozmontowanych źródeł do gotowej mapy która ląduje w odbiorniku. Dodatkowo po jego przeczytaniu być może zaczną być jasne powody dla których generate-routing-graph oraz RouteParam powinny być unikane.<br />
<br />
==Mapa routowalna==<br />
Na początek kilka informacji na temat map routowalnych. Aby odbiornik mógł wyznaczać trasę na podstawie mapy musi ona zawierać odpowiednie dane. Każda droga i każde skrzyżowanie muszą posiadać swój unikatowy numer (RoadID, NodX), każda droga musi mieć zaznaczoną odpowiednią prędkość oraz klasę. Dodatkowo trzeba ustawić odpowiednie parametry routingu (jednokierunkowość, zakazy wjazdu, zakazy ruchu dla odpowiednich pojazdów , RouteParam), wszelkie zakazy skrętu oraz drogowskazy. Parametry te nie są przechowywane w źródłach, ale są generowane automatycznie przed kompilacją przy pomocy netgena. Powodem tego jest to, że ulegają one zmianie przy najmniejszej nawet modyfikacji mapy i ręczne ich ustawianie byłoby całkowicie bezsensowne.<br />
<br />
==Etap pierwszy - montowanie źródeł==<br />
Pierwszym etapem tworzenia mapy jest zamontowanie źródeł. Montowane są one z opcją --cityidx, która zamienia wpisy Miasto= (dla punktów poi oraz dróg) na wpisy CidyIdx przewidziane w formacie mp. Na ich podstawie w późniejszym etapie tworzone są odpowiednie indeksy miejscowości, ulic, oraz punktów poi. W wyniku tego otrzymujemy gotowy plik mp który można poddać dalszej obróbce.<br />
<br />
==Etap drugi - tworzenie danych routingowych==<br />
W drugim etapie tworzenia mapy do pracy zaprzęgany jest netgen. Jego pierwszym zadaniem jest sprawdzenie źródeł na okoliczność występowania dróg przecinających się same ze sobą. Jeśli taka droga zostanie odnaleziona zostaje ona przecięta w taki sposób aby uniknąć zapętlenia. Z tego powodu w ump możemy rysować ronda w jednym kawałku (netgen je potem dzieli na pół). Z tego samego powodu czasami pojawiają się błędy za bliskich węzłów (bo netgen źle przeciął i dwa węzły routingowe są za blisko). Dodatkowo netgen przecina drogi w miejscach gdzie drogowskazy i zakazy nie zaczynają się lub kończą na węzłach routingowych.<br />
<br />
Drugim zadaniem netgena jest wygenerowanie każdej dostępnej drodze unikatowego numeru (RoadID) oraz parametrów routingu (RouteParam). Wydaje mi się, że pierwsze nie wymaga wyjaśniania , natomiast warto powiedzieć kilka słów o drugim. Parametr RouteParam składa się z 12 cyr odzielonych przecinkami. Pierwsze dwie oznaczają szybkość obowiązującą na danej drodze (od 0 do 7) oraz klasę drogi (0-4). Te dwa pamaretry są ustawiane na podstawie klasy drogi (zobacz plik netgen.cfg), albo w przpadku gdy istnieją parametry ForceSpeed i ForceClass są kopiowane z tych zmiennych. Trzecia cyfra oznacza kierunkowość i jest ustawiana gdy w źródłach droga oznaczona jest jako jednokierunkowa. Pozostałe parametry są ustawiane zgodnie z wyznaczymi zawartymi w pliku netgen.cfg, albo zgodnie z tym co jest w źródłach (zakazy ruchu, zakazy wjazdu ciężarówek, drogi płatne itd - zakładka Routing).<br />
<br />
Po wygenerowaniu numerów dróg oraz parametrów routingu dla każdej drogi netgen rozpoczyna generowanie danych o skrzyżowaniach (NodX=A,B,C). Każde skrzyżowanie otrzymuje swój unikatowy numer, a każda droga otrzymuje informacje w którym miejscu pojawia się skrzyżowanie (węzeł nr A, zaczynając od zera), oraz jaki posiada numer (wartość B). Dodatkowo gdy zdarzy się że dane skrzyżowanie jest na linii granicznej (pomiędzy dwoma arkuszami mapy), netgen ustawia parametr C na 1, co umożliwia routing między wieloma plikami img.<br />
<br />
Ostatnią rzeczą którą robi netgen jest dodanie zakazów i drogowskazów do mapy. Dla ułatwienia rysującym używamy do tych dwóch celów odpowiednio przygotowanych linii (np dla zakazów to linia typu timezone). Kompilator wymaga zupełnie innego opisu, dlatego netgen zamienia te linie na odpowiednie wpisy w plikach mp:<br />
<br />
[RESTRICT]<br />
TRAFFPOINTS=A1,N,B1<br />
TRAFFROADS=A,B<br />
[END]<br />
<br />
== Etap trzeci - kompilacja i generowanie indeksów ==<br />
Po przetworzeniu mapy netgenem jest ona kompilowana przy pomocy cgpsmappera w wyniku czego tworzone są pliki img. Ostatnim etapem jest generowanie indeksów dla miejscowości które również lądują w pliku img. Tak przygotowany obraz mapy można już wgrać do odbiornika i cieszyć się mapą.</div>Wopozka