IT:OSM Binary Format

From OpenStreetMap Wiki
Jump to: navigation, search
Lingue disponibili — OSM Binary Format
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tagalog · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · भोजपुरी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ‎ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

Formato binario OSM

Questa è una alternativa al formato XML comunemente utilizzato per la distribuzione dei dati cartografici OSM. Ci sono anche delle aggiunte per l'utilizzo in dispositivi mobili OSM_Mobile_Binary_Protocol.

Esso non si riferisce al formato OSMbin.

Il formato

La struttura di base di questo formato è costituita da una serie di blocchi binari che specificano la loro dimensione seguita da un tipo, seguito a sua volta dai dati codificati.

  • Dimensione - intero senza segno a 32bit indicante la lunghezza (questo valore non include i 4 byte utilizzati per specificare la stessa lunghezza)
  • Tipo - intero senza segno a 8bit indicante il tipo (come definito alla pagina dei tipi)
  • Dati - dati binari in qualsiasi formato

Per risparmiare spazio, i valori di longitudine e latitudine sono codificati come interi con segno a 32bit a partire dai valori decimali fino alla sesta cifra decimale (es. latitudine/longitudine * 1000000). Questo permette una precisione di ~11cm che soddisfa la maggior parte dei progetti cartografici. I campi Ora/Data sono specificati come il numero di secondi trascorsi dalla Unix Epoch (1 Gennaio 1970 00:00:00 GMT). Le stringhe sono troncate a 255 caratteri e sono specificate come una lunghezza seguita dai caratteri codificati in UTF8.

I nodi OSM non sono trasmessi nella loro totalità, bensì sono inclusi solamente i nodi significativi (nodi con meta dati aggiuntivi - punti di interesse).

I percorsi riducono i dati necessari ad essere trasmessi inviando solamente le posizioni dei nodi mediante coppie longitudine/latitudine, la prima coppia longitudine/latitudine utilizza 32bit e le seguenti sono i valori a 16bit dello scostamento rispetto alla posizione del nodo precedente, se lo scostamento è troppo grande allora vengono inseriti dei nodi immaginari per riempire la mancanza.

Testata

[dimensione del blocco=0x02 0x00 0x00 0x00] 0x05 0x3B

C'è una testata opzionale di 6 byte all'inizio di un file in formato binario OSM. (motivo della decisione: 0=O, 5=S, 3=M, B=B)

Questo indica semplicemente ai programmi di riconoscimento dei file che il contenuto è obf.

Punti di interesse (POI)

Percorsi

  • Dimensione (32bit)
  • Tipo - 'w' (8bit)
  • Identificativo del percorso (32bit)
  • Numero di nodi (32bit)
  • Longitudine (32bit)
  • Latitudine (32bit)
  • Seguito da:
    • Scostamento della longitudine (16bit)
    • Scostamento della latitudine (16bit)
  • Etichette della caratteristica vedere Etichette della caratteristica

Relazioni

  • Dimensione (32bit)
  • Tipo - 'r' (8bit)
  • Identificativo della relazione (32bit)
  • Tipo della relazione (8bit) vedere Tipi di relazione
  • Numero dei membri (32bit)
  • Seguito da:
    • Tipo/ruolo del membro (8bit) vedere Ruoli delle relazioni
    • Identificativo del membro (identificativo a 32bit del percorso oppure identificativo a 64bit del punto di interesse) (ripetuto se necessario)
  • Etichette della caratteristica vedere Etichette della caratteristica

Utilizzo

Il formato binario OSM è stato progettato per i tipi di programma seguenti:

  • programmi di mappatura

Non è stato progettato per:

E' ottimizzato per:

  • utilizzo generico

Questo formato è supportato dai seguenti programmi: