Mdm-py

Z UMP

Mdm-py czyli wszystko w jednym

Od 2022 roku mdm-py stał się głównym narzędziem edycyjnym (monterem) UMP. Po wzbogaceniu go o funkcję pobierania źródeł uzyskaliśmy kombajn, dzięki któremu całość procesu obróbki danych możemy przeprowadzić z jednego miejsca.

Spis treści

Co będzie nam potrzebne na początek

Mdm-py został napisany w pythonie, dlatego trzeba będzie go ściągnąć z sieci i zainstalować. Minimalne wymagania to wersja 3.0. W Linuksie nie ma problemu, python jest tam od razu (może nie być w wersji 3, tę należy doinstalować). Dla windowsa pythona trzeba ściągnąć osobno. Wchodzimy na stronę https://www.python.org/downloads/, ściągamy najnowszego pythona dla windows, zapisujemy na dysku i instalujemy.

Plik mdm-py dostępny jest tutaj - ostrzeżenie Googla, że plik może uszkodzić komputer oczywiście do zignowowania:)

Zaczynamy pracę z mdm - pobranie źródeł i konfiguracja

Uruchamiamy mdm-py. Monter zaczyna pobieranie narzędzi pomocniczych a po chwili ukazuje nam się grafika z dostępnymi obszarami UMP.

Grafika:Mpm-py download.jpg

Wybieramy okolice nas interesujące i klikamy 'ściągnij'. Proces przebiega dalej bez naszej ingerencji a na koniec pojawia się informacja o tym do jakiego folderu źródła zostały pobrane.

Jeżeli chcemy, możemy je następnie przenieść na dowolny dysk w komputerze i tam na nich później pracować. Zatem źródła czyli bazę danych UMP mamy już u siebie. Pora na konfigurację montera.

Przechodzimy do źródłowego folderu narzędzia, tam wyszukujemy mdm-py, uruchamiamy go (widoczne regiony zależą od tego co pobieraliśmy)

Grafika:Mdm-py mainboard.png

Przechodzimy do zakładki Plik/konfiguracja i otwiera nam się okno konfiguracyjne

Grafika:mdm-config.png

  • Katalog ze źródłami UMP. Myślę, że nie ma tutaj co wyjaśniać. Jest to folder w którym przechowywane są źródła UMP.
  • Katalog roboczy. Jest to folder w którym przechowywane będą zamontowane obszary, pliki łatki, pliki z błędami i inne rzeczy które stworzymy. Trzeba go sobie stworzyć samemu. Ja u siebie stworzyłem go w katalogu ze źródłami ump i nazwałem roboczy. Gdy klikniemy guzik 'Wybierz', otworzy nam się okno dialogowe w którym będziemy musieli wskazać katalog roboczy, a w razie czego możemy w tym samym oknie dialogowym go utworzyć.
  • Ścieżka do programu mapedit, to ścieżka do wykonywalnego pliku mapedit. Musimy wskazać gdzie się znajduje ściągnięty wcześniej program.
  • Ścieżka do programu mapedit (druga wersja), to ścieżka do drugiej wersji programu mapedit. Możemy sobie wskazać mapedit w innej wersji, albo mapedit++. Pierwszy mapedit będzie uruchamiany po kliknięciu lewym klawiszem na odpowiednim guziku, a drugi mapedit po kliknięciu prawym klawiszem myszy.
  • Ścieżka do programu netgen. Netgen to program który pozwala sprawdzić poprawność narysowanej mapy. Program ten znajduje się w narzędziach i po prostu trzeba go wskazać. Należy zwrócić uwagę, aby wskazać poprawny plik. W windows będzie to netgen.exe.
  • Login do CVS. Jeśli nie posiadasz loginu do cvs (posiadają je edytorzy którzy dostali prawo zapisu) do pozostaw w tym polu wartość guest. Pozwoli ci to na ściąganie uaktualnień do mapy, ale nie umożliwi przesyłania zmian na serwer.
  • Tryb pracy mdm. Jeśli jesteś edytorem z prawami do zapisu ustaw Edytor, w przeciwnym razie ustaw wrzucacz. Mdm-py obsługuje dwa tryby pracy. W trybie wrzucacza możesz jednym kliknięciem spakować zmienione pliki, a następnie wysłać je nam na flyspraya. Wysyłka na flyspraya odbywa już się przez przeglądarkę www, natomiast pakowanie plików do archiwum robi za nas mdm-py.

Na koniec zapisujemy konfigurację i restartujemy mdm-py. Po ponownym uruchomieniu możemy już rozpocząć pracę z programem.

Praca z mdm-py w trybie wrzucacz krok po kroku

Opiszę tutaj w jaki sposób pracować z mdm-py w trybie wrzucacza. Tryb pracy edytora różni się tylko kilkoma szczegółami, więc każdy kto opanuje tryb wrzucacza i uzyska prawo do zapisu w naszym cvs, bez najmniejszego problemu przestawi się na tryb edytora. Oto jak wygląda okno główne mdm-py: Grafika:Mdm-py-wrzucacz2.png

Jak widać na powyższym obrazku, okno mdm-py składa się z 4 podstawowych części. Idąc od góry najpierw mamy ramkę z obszarami, poniżej jest panel wykorzystywany do montowania, edycji, sprawdzania i demontowania, wraz z możliwymi opcjami do wykorzystania. Dalej mamy ramkę ze zmienionymi plikami - to tutaj będą się pojawiać pliki które zmieniliśmy, to tutaj będziemy mogli je przejrzeć oraz zaznaczyć że chcemy aby zostały spakowane do pliku zip. Jako ostatnią, na samym dole, mamy ramkę w której umiejscowione są 2 okna. Pierwsze - Błędy - wyświetla informacje o znalezionych błędach, druga Komunikaty, wyświetla informacje o tym co aktualnie robi mdm-py. To tutaj będą wyświetlane informacje co jest montowane, demontowane, pakowane itd. Poniżej przykładowa sesja z mdm-py.

Uaktualnianie źródeł

Pierwszą czynnością którą należy wykonać, zanim jeszcze zaczniemy pracę z mapą, jest aktualizacja źródeł. W tym celu wykorzystujemy guzik: Uaktualnij źródła (cvs update), w pierwszym górnym panelu mdm-py (patrz rysunek poniżej). Mamy tutaj dwie możliwości. Możemy albo kliknąć guzik bez zaznaczania żadnego obszaru, albo kliknąć go po uprzednim zaznaczeniu jednego lub więcej obszarów. W pierwszym przypadku (nie zaznaczamy nic) zostaną zaktualizowane wszystkie dostępne obszary, oraz katalog narzędzia. Ta opcja może potrwać trochę dłużej w zależności od twojego łącza. Drugi przypadek, czyli ten gdy zaznaczymy coś zaznaczymy, uaktualnia tylko wybrany obszar oraz katalog z narzędziami. Ja zalecam uaktualnianie wszystkiego, gdyż może to nam oszczędzić problemów.

Jeśli w katalogu roboczym istniał będzie plik wynik.mp (plik zamontowanej mapy), to przy cvs update zostanie nam wyświetlone ostrzeżenie o potencjalnych konsekwencjach tego działania (np. mapa może nie dać się zdemontować). Jest to zabezpieczenie przed przypadkowym kliknięciem uaktualniania.

Grafika:Mdm-py-uaktualnij2.png

Po kliknięciu uaktualnij pokaże nam się poniższe okienko. Gdy aktualizacja się skończy pasek postępu przestanie się poruszać, pojawi się napis 'Gotowe', a klawisz OK zacznie być aktywny:

Grafika:mdm-py-okno-uaktualnienia.png

Montowanie i edycja źródeł

Gdy już mamy pewność, że źródła naszej mapy zostały zaktualizowane do najnowsze wersji możemy ją zamontować. W tym celu wybieramy interesujący nas obszar i klikamy klawisz 'Montuj' (klawisz 'Montuj' pozostanie niaktywny, jeśli żaden obszar nie zostanie wybrany). Graficzny monter mdm-py ma dodatkowe zabezpieczenie przed zamontowaniem starych, niezaktualizowanych plików źródłowych. Gdy po wciśnięciu przycisku montuj zobaczysz poniższy komunikat, to dla swojego własnego dobra zaktualizuj źródła i zamontuj mapę jeszcze raz.

Grafika:mdm-nieaktualne-zrodla.png


Montowanie ma kilka opcji do wyboru (patrz poniżej), ale jeśli jestem początkującym wrzucaczem, to zalecam pozostawionych opcji domyślnych. Mdm-py pamięta zaznaczone opcje i ustawia je po restarcie tak jak były ustawione przy zamykaniu programu. Po kliknięciu guzika Montuj w dolnym prawym okienku (Stdout), obserwujemy postęp montowania. Gdy pojawi się napis Gotowe, oznacza to, że mapa została zamontowana. Od tego momentu aż do końca rysowania, nigdy próbuj uaktualniać źródeł gdyż prawdopodobnie spowoduje to niemożność demontażu mapy i stracisz swoją pracę. Po zakończeniu montażu mapy, klikasz guzik Edytuj co powoduje otwarcie Mapedita w którym będziesz mógł edytować mapę. Jak było wcześniej wspomniane mdm-py można skonfigurować do używania dwóch różnych wersji mapedit. Aby uruchomić pierwszy klikasz na edytuj lewym klawiszem myszy, aby uruchomić drugi klikasz prawym.

Montowanie radarów

Radary można zamontować w dwóch trybach. W pierwszym zaznaczamy interesujący nas obszar i radary. Spowoduje to zamontowanie tegoż obszaru oraz dodatkowo dodane zostaną punkty z radarami, przejazdami kolejowymi, fotoradarami itd. Drugą możliwością jest wybranie do montażu tylko radarów. Wtedy zamontowane zostaną wymienione powyżej punkty, oraz dodatkowo wszystkie drogi z całej Polski oraz linie kolejowe. Nie będzie obszarów zielonych, wód, nie będzie punktów poi, nie będzie miast. Powstałą w ten sposób mapę edytujemy mapeditem++. Zwykły się nie nadaje bo będzie problem z ilością znaków po przecinku.

Opcje montażu i demontażu mapy

Obsługa indeksu miast

Ta opcja powoduje wygenerowanie indeksu miast, co umożliwia na przykład grupową zmianę przypisanego miasta dla wielu ulic i poi jednocześnie (dać odnośnik). Jeśli mapa była z tą opcją zamontowana, to również z tą opcją musi być zdemontowana, bo inaczej będą problemy. W przyszłości skrypt być może nauczy się sam rozpoznawać tę opcję w zamontowanej mapie i sam będzie ustawiał co trzeba. Na razie trzeba o tym pamiętać.

Uwzględnij adresy

Przy montażu uwzględniane są pliki z punktami adresowymy: *.adr.

Uwzględnij szlaki

Do montowanej mapy dołączane są szlaki.

Uwzględnij miasta

Do montowanej mapy dołączane są pliki z miastami: *cities.pnt.

Uwzględnij punkty

Do montowanej mapy dołączane są pliki z punktami poi: *.pnt.

Generuj sumy kontrolne

W celach bezpieczeństwa ta opcja powinna być zawsze włączona. Wyłączenie jej to proszenie się o kłopoty. Bardzo możliwe że zniknie ona w kolejnych wersjach mdm-py. Od technicznej strony oznacza to, że przy montowaniu dla każdego z dodanych plików liczona jest suma kontrolna i zapisywana w pliku mapy. Przy demontażu ta suma kontrolna jest sprawdzana i jeśli się nie zgadza, wtedy demontaż się nie powiedzie. Takie zachowania ma nas zabezpieczyć przed popsuciem pracy innych. Gdy zamontujemy mapę na starych plikach, następnie zrobimy cvs up i zdemontujemy mapę, wtedy powstałe diffy usuną to co ktoś wprowadził w nowszej wersji plików. Generowanie i sprawdzanie sumy kontrolnej zabezpieczy nas przed takim przypadkiem. Należy uważać, gdyż o ile mdm-py uniemożliwi zniszczenie pracy innych, o tyle sami stracimy to co narysowaliśmy - bo demontaż nie będzie możliwy. Tak więc nigdy nie rób cvs up po zamontowaniu mapy (patrz komentarz o ostrzeżeniu powyżej).

Specjalne traktowanie typów

Mapedit w niektórych trybach nie rozumie typów trzybajtowych (wszystkie typy linii 0x10eXX, 0x10fXX np. szlaki piesze i rowerowe, drogi planowane) i zamienia je na typ 0x0. Ta opcja przy demontażu przywraca pierwotny typ dla takiej linii.

Granice częściowe

Montowane są granice tylko wybranych obszarów, a nie wszystkie dostępne. W tym trybie zamontowana mapa ładniej wygląda, ale należy pamiętać, że głębsza ingerencja w granice może uniemożliwić automatyczne naniesienie zmian i konieczna będzie ręczna interwencja. Pisząc głębsza ingerencja mam ma myśli zarówno usuwanie jak i dzielenie granic. Gdy planujemy zrobić coś takiego wtedy zalecam wyłączenie tej opcji. Dodawanie, nawet wielu, punktów do granicy nie spowoduje żadnych problemów i zmiany będą łatwo zintegrowane ze źródłami.

Sprawdzaj sumy kontrolne

Ta opcja powoduje, że opisane powyżej sumy kontrolne są przy demontażu sprawdzane. Powinna ona zawsze być włączona i jest wielce prawdopodobne, że zniknie z gui w jego przyszłych wersjach.

Nie zaokrąglaj, zaokrąglij do 5 cyfr, zaokrąglij do 6 cyfr

Zaokrąglanie plików. Czasami może się zdarzyć, że w wyniku jakiegoś błędu pliki zostaną zapisane ze zbyt dużą dokładnością. Wtedy przy demontażu powstanie ogromna ilość zmienionych plików które będą miały wyższą precyzję. Aby to zlikwidować należy zaznaczyć odpowiednią opcję. Te opcje są przeznaczone dla zaawansowanych maperów, którzy wiedzą co robią. Mdm-py doskonale wie jaka powinna być prezycja w rozmontowywanych plikach i sam w 99% procent przypadków będzie w stanie naprawić błędy związane z dokładnością. W pozostałym 1% przypadków trzeba mu pomóc, ale proszę tej opcji używać tylko wtedy gdy dobrze wiesz co robisz.

Automatyczny rozkład poi

W przypadku gdy wstawimy do mapy nowe punkty poi i nie przypiszemy je do żadnego pliku, przy demontażu powstanie plik _nowosci.pnt. Możemy sami z niego skopiować punkty do odpowiednich plików, ale możemy też zdać się na mdm-py aby to zrobił za nas. Przy włączonej tej opcji, mdm-py przy demontażu postara się odgadnąć gdzie przypisać dany punkt, przy czym dopisuje poi do pliku w którym już one się znajdują. Jeśli więc twój kościół ląduje w pliku ze sklepami, nie oznacza to że jest błąd w mdm-py, ale oznacza to że w pliku ze sklepami jest przynajmniej jeden kościół i mdm-py uważa, że skoro tam jest jeden to i drugi nie zaszkodzi. Jeśli mdm-py nie znajdzie odpowiedniego pliku, wtedy dany punkt zostanie pozostawiony w _nowosci.pnt

Automatyczny rozkład linii i obszarów

Włączenie tej opcji powoduje że obszary (woda, lasy, parkingi, cmentarze itd.) oraz duża część linii zostanie automatycznie przydzielona do odpowiedniego pliku. Kryterium wyboru pliku jest odległość - czyli mdm-py wybiera taki plik do którego należy najbliższy obiekt danego typu. Opcja ta nie działa dla dróg. Ponieważ opcja ta wydłuża czas demontażu, powoduje zwiększenie zużycia pamięci oraz (w połączeniu z nieczytaniem diffów) może potencjalnie (bo pewności nie mam) powodować problemy, nie jest dostępna bezpośrednio z panelu demontażu, ale włącza się ją i wyłącza skrótem klawiaturowym: ctrl+a ctrl+o ctrl+l (trzeba przytrzymać ctrl i wcisnąć po kolei literki aol). Po tym zabiegu w prawym górnym rogu napis: "Automatyczny rozkład obszarów i linii" podświetli nam się na zielono. Ponowne wciśnięcie ww. kombinacji wyłącza opcję (napis podświetlony na czerwono). Proszę używać z głową.

Sprawdzanie mapy i demontaż

Gdy zakończysz edycję w mapedit, zapisz zmiany na mapie i bez zamykania mapedit kliknij przycisk 'Sprawdź błędy' (gdybyś przez przypadek zamknął mapedit możesz pro prostu kliknąć przycisk Edytuj ponownie). Obserwuj tutaj dolne lewe okienko (Errorlog) w którym będą wyświetlane twoje potencjalne błędy: ulice ślepe, przecięcia, ulice jednokierunkowe bez wyjazdy i bez wyjazdu itd. Gdyby pojawiło się coś takiego, możesz skopiować współrzędne takiego miejsca i w mapedit je poprawić, gdy niebardzo rozumiesz o co chodzi zignoruj to (osoba która będzie dodawała twoje poprawki, na pewno sprawdzi co jest nie tak i poprawi co trzeba). Po sprawdzeniu błędów (w prawym ekranie pojawi się napis Gotowe) możesz mapę zdemontować. Aby to zrobić kliknij przycisk Demontuj (podobnie jak w przypadku montażu, mamy tutaj różne opcje do wykorzystania. Będą one pisane dalej, ale jeśli rozpoczynasz zabawę z edycją mapy, lepiej nic tutaj nie zmieniaj). Podczas demontażu obserwuj uważnie lewe okno Errorlog, gdzie mogą być wyświetlane inne błędy. Są to pomyłki wykrywane na etapie demontaż. Gdyby coś się pojawiło, możesz znowu skopiować współrzędne, uruchomić mapedit ponownie (przycisk Edytuj) i poprawić, albo zignorować i wtedy to edytor obrabiający twoją wrzutkę poprawi błędy. Gdy proces demontażu zakończy się, w trzeciej ramce od góry pojawią się pliki które zostały zmienione.

Przeglądanie zmienionych plików i tworzenie archiwum ze zmienionymi plikami

Poniżej przykładowy wygląd programu mdm-py po zakończeniu edycji i demontażu:

Grafika:mdm-py-zmienione-pliki.png

Na powyższym obrazku widać przykładowy obraz po zakończeniu demontażu mapy. W trzeciej ramce od góry (zmienione pliki) wyświetlone są pliki które uległy zmiany podczas edycji. Mogą się tam też pojawić pliki _nowosci.txt i _nowosci.pnt które zawierają obiekty nieprzypisane do żadnego pliku. Można tam znaleźć informację jak plik się nazywa, ile linijek dodano, ile linijek usunięto, klawisz 'Zobacz' pozwala obejrzeć zmiany w pliku, natomiast całkowicie po prawo jest tzw. Checkbox z nazwą 'Skopiuj'. Jeśli chcesz aby dany plik został uwzględniony we wrzutce, musisz zaznaczyć to pole (w większości przypadków będziesz chciał do nas przesłać wszystkie wygenerowane pliki, więc musisz je mozolnie wszystkie zaznaczyć). Gdy już wiesz co chcesz nam wysłać i pozaznaczałeś odpowiednie pliki, klikasz klawisz 'Utwórz plik zip'. Wszystkie zaznaczone pliki zmienią tło na zielone, a w oknie Stdout pojawi się informacja do jakiego archiwum trafiają pliki. To właśnie to archiwum musisz odnaleźć w katalogu roboczym (ten który ustawiałeś na początku) i przesłać do nas przez nasz system zgłoszeniowy flyspray.

Grafika:mdm-archiwum.png

Przesłanie nam plików

Jak już wspomniałem powyżej, utworzone archiwum zip musisz nam podesłać przez nasz system zgłoszeniowy flyspray. Jeśli nie będzie zbyt dużo poprawek, twoje zmiany powinny się pojawić dosyć szybko w źródłach. Jeśli będziesz robił dobre wrzutki możesz poprosić o prawo do zapisu i wtedy będziesz mógł samodzielnie i bez udziału flyspraya usprawniać naszą i twoją mapę.