Jak przypisać do miejscowości kilka obiektów na raz
Z UMP
Spis treści |
Wstęp
Przypisywanie obiektów (czy to ulic czy punktów poi) to miast to dosyć nużące i niewdzięczne zajęcie. Gdy trzeba to zrobić dla kilku, kilkunastu punktów to nie jest jeszcze dramat, ale gdy mamy to zrobić dla kilkudziesięciu, to zaczyna być to męczące. Na szczęście, dzięki dostępnym w ump narzędziom oraz funkcjom mapedita, można tę czynność znacznie uprościć i przyspieszyć. Oto krótki opis jak to zrobić.
Potrzebne narzędzia
Niestety klikane skrypty do montowania i demontowania w windowsie nie są w stanie nam pomóc, dlatego trzeba będzie się zaopatrzyć w perla i korzystać z perlowego skryptu mont-demont-multi2.pl (użytkownicy linuksa czy innych uniksów mogą pominąć tę część). Aby zainstalować perla na windowsie musimy ściągnąć pakiet instalacyjny. Do wykorzystania mamy dwie tzw. dystrybucje perla: perl truskawkowy ([1]), albo aktywny ([2]). Po pobraniu pakietu instalacyjnego i zainstalowaniu na windowsie, można zabrać się za grupową zmianę przypisań do miast.
Montowanie i przypisanie do miast
Montowanie źródeł przy pomocy mont-demont-multi2.pl różni się odrobinę od standardowej metody stosowanej przez większość widnowsiarzy: klikania. Niestety trzeba będzie odrobinę popisać w konsoli, co w systemie ze stajni MS nie należy niestety do przyjemności. Oto co należy zrobić kolejno (użytkownicy uniksów proszę przejść od razu do punktu 4).
1) Otwieramy konsolę:
menu start->uruchom->cmd
2) Przechodzimy do katalogu w którym znajdują się źródła
cd c:\sciezka\do\zrodel
3) Ustawiamy zmienną wskazującą położenie źródeł:
set cvs=c:\sciezka\do\zrodel
4) Montujemy źródła z opcją --citydx, która tworząc odpowiedni indeks dla mapedita, umożliwy grupową zmianą przypisania do miast:
perl ..\narzedzia\mont-demont-multi2.pl --mont --cities --extratypes --cityidx UMP-Obszar
Po zamontowaniu źródeł otwieramy utworzony plik 'wynik.mp' w mapedicie, powiększamy interesujący nas obszar, po czym włączamy tryb podświetlania adresu:
View->Highlight Addresses
oraz wyłączamy podświetlanie klas dróg:
View->Highlight Road Classes
W tym momencie naszym oczom powinny się ukazać drogi i punkty poi podświetlone różnymi kolorami, przy czym drogi należące do tej samej miejscowości powinny mieć ten sam kolor. Dla punktów kolory mogą być różne, bo w ich przypadku brany jest pod uwagę cały adres. Domyślnie zarówno punkty, jak i drogi które nie są przypisane do żadnej miejscowości są koloru czerwonego i bardzo łatwo je wyłapać w gąszczu innych kolorów.
Aby zmienić przypisanie do miejscowości dla kilku obiektów na raz, należy przejść do trybu wyboru obiektów (Tools->Select objects, albo skrót s na klawiaturze), trzymając wciśnięty klawisz ctrl zaznaczyć więcej niż jeden obiekt na raz, po czym kliknąć prawym klawiszem na jednym z zaznaczonych obiektów i wybrać Modify->Postal address->city. Po kliknięciu na city naszym oczom ukaże się lista wszystkich dostępnych miejscowości. Wybieramy interesującą nas mieścinę, klikamy OK i gotowe. Drogi i punkty na ekranie powinny zmienić teraz swój kolor, co oznacza że zostały przypisane do nowego miejsca. Dla punktów poi możemy w ten sam sposób zmienić nie tylko miasto ale i ulicę.
W przypadku gdy szukanej przez na miejscowości nie ma na liście, trzeba ją do niej dodać. W mapedicie klikamy tools->edit postal address items, a następnie gdy otworzy nam się okno dialogowe klikamy Add, wpisujemy nazwę miejscowości i klikamy OK.
Po zakończeniu edycji i zapisaniu zmian należy odmontować źródła poleceniem :
perl ..\narzedzia\mont-demont-multi2.pl --demont --cities --extratypes --cityidx UMP-Obszar
Uwaga! Przy odmontowaniu opcja --cityidx jest niezbędna, inaczej dostaniemy ogromną ilość plików.
Po odmontowaniu źródeł sprawdzamy czy w plikach diff wszystko jest zgodnie z naszą intencją, nakładamy łatki i wysyłamy zmiany na serwer.
Zakończenie
Na zakończenie warto wspomnieć o tym, że opcja --cityidx ma w skrypcie mont-demont-multi2.pl priorytet nad wpisem Miasto=. W przypadku gdy zamontujemy źródła z tym parametrem, należy nowe ulice przypisywać do miast tylko i wyłącznie poprzez mechanizm opisany powyżej. Gdybyśmy gdzieś użyli Miasto=cośtam, to zostanie to zignorowane podczas odmontowania źródeł.
I jeszcze druga rzecz. Zamiast mozolnie montować źródła w konsoli można kliknąć na mont-demont.perl.bat (dostępny w każdym UMP-cośtam) który montuje źródła domyślnie z opcją --cityidx. Po zamknięciu mapedita rozmontowanie następuje również z tą opcją i tak jak w przypadku ręcznej roboty, dostajemy pliki diff. Ja tej opcji montowania nie zalecam bo po pierwsze u mnie nie działa to klikanie, a po drugie konsola jest zamykana natychmiast po odmontowaniu i nie mam możliwości zobaczenia co się zmieniło. Ale jeśli u kogoś to działa i inne rzeczy mu nie przeszkadzają, może sobie klikać do woli.