Format PNT

Z UMP

Spis treści

Nowe pliki semi-xml (przyszłość)

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

nr domu Format 12, 12A, 3/5 (uwaga: nie stosować minusów)

telefon Format +48115551234 lub ze spacjami w "typowych" miejscach (np. +48 11 555 1234)

klucz=wartość Cokolwiek co zawiera = i nie zawiera średnika. Używane w szczególności do:


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 w polu "nr domu" przechowują fragment odnośnika do strony www z rozkładami (numer słupka, albo inny identyfikator przystanku, zależny od konkretnego miasta)
 50.02991,  19.93602,  0,Łagiewniki,pętla 10-11-18° Brożka/Wadowicka;0553-T,Kraków,TRAM
 52.41006,  16.88880,  0,Bukowska,7° Przybyszewskiego;BUKO-01,Poznań,TRAM
 52.19567,  20.96337,  0,1 Sierpnia 01,aleja Krakowska;400901,Warszawa,BUS
 51.07371,  17.00152,  0,Sowia,126°133° Sowia;16514,Wrocław,BUS
  • 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]]

Format GPX

Specyfikacja formatu: u Garmina.