Pnt2poi.txt
Z UMP
Spis treści |
Format użyty w narzedzia/pnt2poi.txt
Istnieje w UMPie kilka narzędzi montujących (bat/perl/sh), każde z nich zawiera własną tablice konwersji typ słowny na wartość numeryczna (hex) np APTEKA => 0x2e05. Każdą zmianę tych tablic trzeba wykonać w 3 miejscach, co jest proszeniem się o problemy. Plik pnt2poi.txt ma połączyć te osobne tablice w jednym miejscu.
Specyfikacja
plik składa się z sekcji [COS] ... [END] rozpoznawane przez programy montujące są następujące sekcje
[DEF-POI] [DEF-LINE] [DEF-REVPOI]
proszę jednak nie zakładać tylko tych, a nieznane ignorować.
DEF-POI
[DEF-POI] _plik= _poziom= _dopisz= NAZWA=Wartość_hex [END]
- NAZWA to podanie typu słownego i odpowiadającej im wartości hex. Wielkość liter nie ma znaczenia, jednak dla czytelności sugerowana jest UPPERCASE.
- # dopuszczalny jest komentarz "#" wszystko po tym znaku jest ignorowane
- możliwe jest definiowanie dodatkowych parametrów dla danej sekcji w postaci "_nazwa_małą" (dla czytelności) jednak w chwili obecnej nikt tego nie wykorzystuje, wstępnie sugerowane parametry:
- _plik podaje domyślną nazwę do jakiej ma trafić dany poi
- _poziom podaje domyślny endlevel
- _dopisz dodaje do nazwy poi-a (na końcu) w trakcie kompilacji tekst zdefiniowany w tej zmiennej.
DEF-LINE
[DEF-LINE] NAZWA-Wartość-hex [END]
przydatne dla nazwania tekstowego naszych 3bajtowych linii, a które w paskudny sposób są zmieniane na 0x0 w przypadku przełączenia się na typ_set navitel/uniwersal.
DEF-REVPOI
[DEF-REVPOI] RegExp=NAZWA [END]
Sekcja DEF-REVPOI służy do rozpoznawania typu poi po jego nazwie (dla nowych poi bez typ), często się to przydaje przy pkp pks gdzie typ numeryczny jest ten sam a jednak chcieli byśmy rozróżniać takie poi (np: dla mapy www)
Przykłady
[DEF-POI] _plik=POI-Obszar.debug.pnt #_plik=POI-Obszar.routing.pnt SLEPY=0x1708 WATPLIWY=0x170d REMONT=0x1712 [END]
[DEF-POI] REJON=0x1f00 ZJAZD=0x2000 OPLATA=0x2500 [END]
[DEF-REVPOI] ORLEN=BENZYNA ^PKP=PKP [END]
Ograniczenia
Występują pewne ograniczenia i uproszczenia:
- parametry _plik _dopisz _poziom powinny być na początku sekcji.
- regexp powinien być najprostszy z możliwych bez "\" i innych udziwnień.
Pomysły
- zamiana pozycji w DEF-POI np 0x2f06=BANKATM:24h - odrzucone powód brak niepowtarzalności pierwszej pozycji w sekcji (brak możliwości korzystania z bibliotek ini w przyszłości)
- dodanie wyróżnika dla parametrów - dodany w postaci "_"