IT:WhereAmI/OSM Binary Format

From OpenStreetMap Wiki
(Redirected from IT:OSM Binary Format)
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 Baso Minangkabau bosanski brezhoneg català čeština 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 norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português română shqip slovenčina slovenščina Soomaaliga suomi svenska 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: