Format PNT
Z UMP
Spis treści |
Nowe pliki semi-xml (przyszłośćporzucone)
Uwaga
To jest propozycja, w fazie planowania bądź częściowego wdrożenia. |
cała dyskusja i przygotowanie do konwersji jest na http://ump.fuw.edu.pl/flyspray/index.php?do=details&task_id=6499&project=2
W stosunku do tego co poniżej jest kilka różnic :
52.00000,21.00000,PIZZA,Pinacoteca,UL=Bukowińska,NR=12,MIASTO=Warszawa,URL=www.pinacoteca.pl
Jest propozycja zmiany zapisu plików z punktami z formatu pnt na krzyżówkę csv/xml:
52.00000,21.00000,Pinacoteca,PIZZA,ulica=Bukowińska,dom=12,miasto=Warszawa,url=www.pinacoteca.pl 52.00010,21.00010,Euronet,ATM,miasto=Warszawa,telefon=+4822997,kartyID=93275
(cztery pierwsze pola obowiązkowe i stałe, reszta dowolna obecność, kolejność i tak wymuszą ME/skrypty-demont).
Wymagania/zyski:
- trzymamy dowolne "atrybuty" (godziny otwarć itd)
- trzymamy indeksy obcych spisów (nadzieja na karty.pl)
- jednolita (i jedna) tablica tłumaczeń alias<->typhex.
Możliwe nazwy atrybutów, w celu oskryptowania (tłumaczone na atrybuty znane MapEditowi) (małe/Duże nieważne?)
- miasto
- kodpoczt (kod?)
- ulica
- dom
- tel (telefon?)
pozostałe nie są zamieniane przez skrypty, i ME też ich nie rusza.
Do dyskusji:
- automatyczny rozdział POI na poszczególne pliki (sprawdź cvs:narzedzia/pnt2poi.txt)
- Skrypty będą ostrzegały przy edycji o konieczności podjęcia dodatkowych akcji dla zewnętrznych źródeł danych. Jakiś marker?
- bez nagłówków
- komentarze w tej samej linijce.
Obecne pliki .pnt (także cities, radary)
W projekcie ump spotykamy dwie wersje plików PNT. W dużym skrócie, znaczenie pól przedstawia ten dokument:
City.pnt
nagłówek
OziExplorer Point File Version 1.0 WGS 84 Reserved 1 Reserved 2 255,65535,3,8,0,0,CITY obszar
przykładowy wiersz:
52.23175, 21.00552, 10,Warszawa lat, lon, wielkość,nazwa miasta
wytłumaczenia wymaga wielkość miasta. Jest ona brana z liczby mieszkańców, a przedziały to odpowiednio:
0,1000,2000,5000,10000,20000,50000,100000,200000,500000,1000000,2000000 0 1 2 3 4 5 6 7 8 9 10
i tak od 0 do 999 jest wielkość=0 ; od 1000-1999 wielkość=1 ; itd
w nagłówku napis CITY jest obowiązkowy
POI.pnt
nagłówek
OziExplorer Point File Version 1.0 WGS 84 Reserved 1 Reserved 2 255,65535,3,8,0,0,nazwa.pnt
wiersze:
52.17811, 20.98254, lvl,Nazwa,Ulica,Miasto,TYP,kod_pocztowy 52.17811, 20.98254, lvl,Nazwa,Ulica,Miasto,TYP ; komentarz do wiersza poniżej 52.30318, 20.67741, 1,Ławska Góra,96,,GORA
Komentarz jest wykorzystywany przez mapkę www:
- komentarz będzie wypisywany w dymku po wyszukaniu punktu
- nie będzie wypisany "zakomentowany komentarz" czyli linijka zaczynająca się od ;;
- numer zgłoszenia FS# będzie klikalny
- adres http:// będzie klikalny
- jeżeli w linijce komentarza będzie wyłącznie adres http:// to będzie on przeniesiony podczas demontażu w odpowiednie miejsce, tj. czwarty segment danych adresowych.
lvl to level, na którym się kończy wyświetlanie POI (0-4). Np. wartość 2 oznacza, że POI wyświetlany będzie na poziomach 0, 1 i 2.
Ulica może mieć rozszerzoną postać:
ulica;nr domu ulica;nr domu;telefon ulica;nr domu;telefon;klucz=wartość
ulica Nazwa ulicy lub skrzyżowanie w formacie ulica1/ulica2. Może też być specyfikacja obiektu, np. "Pasaż handlowy° poziom 2° ulica" - znaki ° w kompilacji zostaną zamienione na przecinki, ulica powinna być ostatnia, bo do niej zostanie doklejony numer domu.
nr domu Format 12, 12a, 3/5 (uwaga: nie stosować minusów)
telefon Format +48115551234 lub ze spacjami w "typowych" miejscach (np. +48 11 5551234 dla stacjonarnych, +48 601 123456 dla komórkowych i infolinii)
klucz=wartość Cokolwiek co zawiera = i nie zawiera średnika. Używane w szczególności do:
- trzymania numeru stacji Orlenu (idOrlen=5467)
- linków do stron www danego punktu (url=http://coscos.pl)
- skróconego linku do polskiej wikipedi (wiki=Uzupełniająca_Mapa_Polski)
TYP to zalecana nazwa z tego dokumentu,
może też przyjmować wartości numeryczne wg konwencji Polish Format np 0x0012, ale taka forma nie jest zalecana.
kod_pocztowy jest nieobowiązkowy
reszta pól musi wystąpić (jeżeli pole nie ma wartości, to jest puste)
Wyjątki dla typów:
- GORA w polu "Ulica" przechowuje wysokość w metrach (zaokrąglona do pełnych metrów)
Są pewne komplikacje z wysokościami szczytów przełęczy poziomnic itp. Oryginalnie wysokość definiowało się w następujący sposób: Jeśli Label obiektu ( nazwa ) miała fragment ~[0x1f] po którym była liczba to kompilator traktuje to jako wysokość w jednostkach mapy ( u nas metry ) Np.Rysy~[0x1f]2499 U nas jest tak że można albo wpisywać w ten sposób (0x1f), albo (preferowane) użyć pola Ulica. Wtedy nasz skrypt montujący przerabia przed kompilacją na formę oczekiwaną przez kompilator. Niestety GPSMapEdit uznaje pole Ulica dla szczytów za niepotrzebne i je wyszarza. Wniosek. 1) Możesz rysować tak jak teraz (ktoś kiedyś poprawi) 2) Rysować w mapedicie tak - utworzyć pkt z adresem np. apteka - wpisać w pole ulica 2499 - w pole nazwa Rysy - w pole extras skopiować Ctrl-C Ctrl-V Plik=src\NOWY_SACZ.geografia.pnt Typ=GORA - wpis Typ= jest ważniejszy niż typ punktu, więc mamy góry 3) Poprawiać wysokości edytorem tekstu w pliku pnt.
- BUS,TRAM, PKP w polu "nr domu" przechowują fragment odnośnika do strony www z rozkładami - patrz kolejny rozdział
- fotoradary FA,FP,FS,KD,RA,NM,OP,PK - kod_pocztowy to dodatkowy komentarz, w polu Nazwa po znaku @ definiuje ograniczenie prędkości
mogą występować kolejne znaki @ ich znaczenie: Nazwa[@predkosc[@dwukierunkowy@kąt_patrzenia_radaru]]
Linki do rozkładów jazdy
Jeśli dane miasto udostępnia rozkłady jazdy na www, to do punktów przystanków można dodać informację zamienianą na link do strony z rozkładem jazdy dla konkretnego przystanku. Identyfikator przystanku umieszczany jest tam, gdzie normalnie znalazłby się numer budynku przy ulicy. Przykłady:
Kraków
50.02991, 19.93602, 0,Łagiewniki,pętla 10-11-18° Brożka/Wadowicka;0553-T,Kraków,TRAM
-> link do rozklady.mpk.krakow.pl
Płock
52.54975, 19.69425, 0,Jachowicza Dworzec,Jachowicza;1,Płock,BUS
Nazwa przystanku "Jachowicza Dworzec" -> link do www.kmplock.eu
Poznań
52.41006, 16.88880, 0,Bukowska,7° Przybyszewskiego;BUKO-01,Poznań,TRAM
Nazwa przystanku "BUKO-01" -> link do www.mpk.ipoznan.pl
Rybnik
50.12199, 18.53042, 0,Ryb. Kuźnia Szkoła,12°13°14°32°41° Rybacka;75,Rybnik,BUS
Przystanek numer 75 -> link do www.ztz.rybnik.pl
Warszawa
52.19567, 20.96337, 0,1 Sierpnia 01,aleja Krakowska;400901,Warszawa,BUS
Grupa przystankowa 4009, przystanek 01 -> link do ztm.waw.pl
Wrocław
51.094960, 17.128165, 0,OPATOWICE,120° Opatowicka;85512,Wrocław,BUS
Numer słupka 85512 -> link do mobi.wroclaw.pl
Ze względu na automatyzację, istotne pola to współrzędne, poziom widoczności, numer słupka, miasto i typ (BUS/TRAM) - pozostałe pola są automatycznie uzupełniane/nadpisywane przez skrypty przetwarzające uaktualnione rozkłady jazdy)
PKP
52.22883, 21.00290, 2,Wwa Centralna,Aleje Jerozolimskie;5100065,Warszawa,PKP
Kod HAFAS stacji według spisu -> daje na mapie link do rozkładów, a wprowadzanie kodów do źródeł śledzimy na Flyspray.
uwagi
W miastach, w których stosujemy odwołania do rozkładów jazdy przystanki BUS i TRAM trzymamy w osobnych plikach, co ułatwia ich edycję, automatyczne przetwarzanie oraz badanie kompletności. Są to odpowiednio POI-Miasto-busstops.pnt i POI-Miasto-tramstops.pnt. Ponadto linie tramwajowe (POLYLINE typu 0x1e010) trzymamy w plikach MIASTO.tramwaje.txt
Jak dotąd automatyzacja uaktualniania opisów działa tylko we Wrocławiu, ale nic (z wyjątkiem Wolnego Czasu) nie stoi na przeszkodzie, by ją wprowadzić także gdzie indziej. We Wrocławiu automatyczne (ale uruchamiane ręcznie od czasu do czasu) skrypty na podstawie aktualnych rozkładów jazdy pobranych ze stron UM/ZDiK potrafią:
- uaktualnić listę linii zatrzymujących się na danym przystanku
- wygenerować raport z listą brakujących oraz nieczynnych przystanków.
- na podstawie wygenerowanych wcześniej list linii dla przystanków oraz specjalnych komentarzy w pliku WROCLAW.tramwaje.txt -- automatycznie uaktualnić opisy linii tramwajowych
Godziny otwarcia
Na razie panuje pełna dowolność i bałagan w tym względzie, ale powoli trzeba to standaryzować. Obecnie stosowany sposób to umieszczanie danych o godzinach otwarcia w komentarzach. Dane takie nie są na razie kompilowane do mapy dostępnej dla odbiorników garmin, ale są widoczne na WWW po odszukaniu obiektu, oraz są dostępne w programach 7ways i osmAnd. Standaryzacja formatu pozwoli umieszczać takie dane także w mapach kompilowanych i np: wyświetlać je, w sposób przewidziany przez producenta navi, być może jako rozszerzenie danych adresowych.
Format danych w pliku PNT:
- średnik, opcjonalna spacja(niezalecane), słowo "otwarte:" zakończone dwukropkiem i spacją, następnie specyfikacja dni i godzin
- specyfikacja dni: dzień tygodnia (2-literowy skrót), zakres X-Y lub lista X,Y,Z, np. "Pn-Nd", "Pn-Pt", "Pn,Śr,Pt", "Wt-Pn", "Nd"
- specyfikacja godzin: "24h" lub [h]h:mm-hh:mm, opcjonalnie bez wiodącego zera, np. 7:00-15:00, 00:00-24:00, 24h
- skróty dni tygodnia:
Mo, Tu, We, Th, Fr, Sa, SuPn Wt Śr/Sr Cz Pt So/Sb Nd/Ni, dopuszczalne są, angielskie skróty dni tygodnia, ale nie zalecane. - specyfikacja dni i godzin: dni (spacja) godziny; średnik i spacja oraz kolejna specyfikacja
- w ME proszę nie dodawać średnika na początku napisu otwarte
Przykłady:
;otwarte: 24h ;otwarte: Pn-Nd 6:00-24:00 ;otwarte: Pn-Pt 7:00-19:00; So-Nd 10:00-18:00 ;otwarte: Pn-Pt 7:00-19:00; So,Nd 10:00-18:00 ;otwarte: Pn-Pt 7:15-14:45 ;otwarte: Pn-Cz 18:00-22:00; Pt-Nd 17:00-2:00
Komentarz występuje przed definicją POI i dotyczy wyłącznie POI następującego bezpośrednio za nim (pomiędzy nimi dopuszczalne są jedynie inne komentarze)
Format GPX
Specyfikacja formatu: u Garmina.