Adresacja

Z UMP

Spis treści

Po co?

Odpowiedź jest dość prosta - adresacja jest po to, aby w urządzeniu można było podać Piłduskiego 13, i dojechać na tę ulicę właśnie pod ten numer.

Konsekwencją tego jest sposób wyboru celu podróżu podczas podawania adresu -- po podaniu nazwy ulicy odbiornik GPS pokaże adresy, jakie zna na tej ulicy (jako alternatywę do numeru, który można i tak wpisać samemu, niżej będzie napisane dlaczego ma prawo go zlokalizować mimo iż nie jest na liście znanych).

Jeśli ulica nie ma numeracji, ale składa się z kilku części (polyline), mamy dość kłopotliwą sytuację gdy odbiornik daje nam możliwość wyboru między Piłsudskiego, Piłsudkiego a Piłsudskiego, tyle że bez żadnej dodatkowej informacji. Użytkownik wybiera więc "w ciemno" miejsce, do którego jedzie.


Podstawy

Niniejszy opis dotyczy wprowadzania numerów za pomocą programu MapEdit++. ME++ zmienia to następnie na format pliku mapy, czyli linie które możemy zobaczyć później obok definicji polyline naszej ulicy.

Do wprowadzania numerów przydatne będzie włączenie opcji Show Numbers along Roads w menu View programu ME++. Samych zmian dokonuje się w trybie edycji węzłów (Edit nodes, czyli M), przez wybranie właściwości węzła (prawy przycisk myszki nad danym węzłem, Node Properties), zakładka Numbers.


Uwaga: numery ulicy to własność odcinka danej ulicy. Nie są definiowane jak POI przez jakiś punkt, ale przez zakres zdefiniowany dla danego odcinka. Zakres ten definiowany jest z kolei w węzłach, z podziałem na prawą i lewą stronę (idąc od początku polyline).


Zaczynamy

Prosta numeracja

Dla przykładu: mamy piękną, prostą ulicę, która jest numerowana idealnie, tzn. z jedej strony są numery od 1 do 31 (wszystkie budynki na równych działkach), a z drugiej od 4 do 14, co prawda mniej numerów bo działki węższe, ale jednak wciąż wszystkie równe. Oznacza to, co dla nas ważne, że zmiana numeru nastepuje co N metrów, i jest to wartość stała dla całej ulicy.

Załóżmy, że ulicę narysowaliśmy chwilkę wcześniej od lewej do prawej, numery nieparzyste są na dole, a patrzyste u góry, i rosną w prawo.

Ponieważ jest to prosta ulica bez skrzyżowań (poza wjazdem i wyjazdem z niej), jest to jeden odcinek prostej, a więc posiada ona jedynie dwa węzły. Aby określić, który z nich jest początkiem ulicy (w sensie mapy, ważna jest bowiem kolejność węzłów tej polyline, którą numerujemy, niezależnie od tego czy geograficznie jest to początek, środek czy koniec ulicy), patrzymy na kolory węzłów - ME++ oznacza pierwszy węzeł zaznaczonej polyline na różowo (w trybie edycji węzłów, oczywiście). Gdyby jakaś wersja ME++ tego nie robiła, można kliknąć prawym przyciskiem na polyline, wybrać "Nodes...", i zobaczyć które współrzędne są pierwsze od góry.

OBRAZEK NUMBERS1

Klikamy więc na pierwszym węźle (zaczynać należy od prawym przyciskiem, wybieramy "Node Properties", a nastepnie zakładkę "Numbers". Wygląda ona tak:

OBRAZEK NUMBERS2

Zaznaczamy This node has associated house numbers info.

Mamy teraz możliwość podania numeracji dla lewej i prawej strony ulicy. Dla stworzonej wcześniej ulicy lewą stroną będzie góra (bo zaczynaliśmy od lewej). W Left side numbers, after point wybieramy więc Even (parzyste), a jako Start wpisujemy 4. Podajemy w ten sposób, że w tym węźle rozpoczyna się odcinek, na którym po lewej stronie mamy parzystą numerację, a pierwszy budynek ma numer 4 (nie ma znaczenia w tej chwili, gdzie i czy w ogole jest numer 2).

W Right side numbers, after point wybieramy Odd (nieparzyste), wpisujemy jako Start 1'.

OBRAZEK NUMBERS3

Jak widać, nie podajemy tu zakresu ani ostatniego numeru. Opisujemy pierwszy węzeł odcinka, i numery, jak opisane jest nad polami, after point, czyli za tym punktem (węzłem). Nie jest to więc cała praca - trzeba jeszcze zdefiniować koniec zakresu. Robi się to na drugim węźle odcinka, w naszym przypadku na ostatnim (na razie) węźle ulicy:

OBRAZEK NUMBERS4

Na tym węźle po zaznaczeniu znów This node has associated house numbers info nie możemy podać jak poprzednio początku zakresu, aktywują się jedynie okienka Left/Right side number, before point. W tym miejscu podajemy więc ostatni numer zakresu. Będzie to w naszym przypadku 4 dla lewej strony i 31 dla prawej.

Wnioski z prostej numeracji

W ME++ ulica powinna w tym momencie wyglądać tak:

OBRAZEM NUMBERS5

Jak widać, ME++ narysował nam numerację ulicy, przy czym na niebiesko zaznaczył punkty zdefiniowane przy danych węzłach, a na czerwono punkty wyliczone.

Jeśli teraz podamy w wyszukiwaniu Piłsudskiego, urządzenie wyświetli nam w "podpowiedzi" Piłsudskiego 1, 4, 14 i 31, wpisanie jednak numeru "17" spowoduje skierowanie nas do punktu w okolicy czerwonej siedemnastki w ME++.

Prosta numeracja cz. 2

A teraz załóżmy, że numery od 16 do 22 są przy jednej ze stron przecznicy z naszej ulicy, idącej "w górę", ale gdzieś ze środka aktualnego odcinka.

Potrzebujemy więc ją dorysować. W tym celu w ciągu ulicy musimy stworzyć nowy węzeł w ciągu ulicy, i pociągnąć od niego nowy odcinek. Ważne jest, aby nazywał się tak samo, z oczywistych względów: adresacja przypisana jest do nazwy ulicy (jak obejść ten problem, będzie nieco dalej).

Jak widać na załączonym obrazku, dodanie nowego węzła nie zburzyło dotychczasowej numeracji:

OBRAZEK NUMBERS6

Dzieje się tak, ponieważ nowy węzeł (starego odcinka) nie ma włączonej informacji o numerach (brak zaznaczenia This node has associated house numbers info). Jest to wygodne ze względu na równą numerację ulicy, tak więc to zostawimy. Trzeba natomiast podać numerację dla nowego odcinka. Ponieważ był rysowany od dołu, a hipotetyczne budynki są po jego prawej stronie, konfiguracja węzłów wyglądała będzie tak:

OBRAZEK NUMBERS7, OBRAZEK NUMBERS8

A uliczka wyglądała będzie tak:

OBRAZEK NUMBERS9