Gli ID OSM sono univoci su tutti i tipi di oggetto?


13

Gli ID OSM sono univoci su tutti i tipi di oggetto?

Significato, un way-ID può apparire come un ID relazione o un ID nodo come un way-ID?

Risposte:


16

Osm_id è unico solo nel tipo di oggetto. È facile testare con i seguenti collegamenti

http://www.openstreetmap.org/way/40000000

http://www.openstreetmap.org/node/40000000

Le statistiche OSM attuali mostrano questi numeri:

Number of nodes     2412050198
Number of ways      241029453
Number of relations 2658037

Tutti i nodi più vecchi sono già stati eliminati e in genere i nuovi ID di nodo sono molto più grandi dei nuovi modi e ID di relazione. Per questo motivo è sempre più raro trovare gli stessi osm_ids da un piccolo estratto, ma può ancora succedere e l'utente non deve fidarsi che osm_ids sia universalmente unico.


Hm ma sembra che questo id sia disponibile solo come relazione?
wutzebaer,

Perché gli esempi sono cattivi. Tuttavia l'ID è solo univoco nel tipo di elemento.
scai,

ok dove lo sai? non sono riuscito a trovare né alcun esempio nel mio file osm né alcuna documentazione a riguardo
wutzebaer,

2
Ho modificato la mia risposta e corretto gli esempi per mostrare un caso reale / nodo che esiste oggi e ho spiegato perché tali casi sono piuttosto rari in piccoli estratti osm. La documentazione definitiva è lo schema ruby ​​on rails wiki.openstreetmap.org/wiki/Rails_port/Database_schema
user30184

11

Ogni oggetto OSM segue questo schema di codifica in ordine.

  1. Tipo di oggetto (nodo / via / relazione)
  2. Id
  3. Versione dell'oggetto

quindi se il tipo è diverso, due o più oggetti possono avere lo stesso ID e faranno riferimento a oggetti diversi. Ma se type e id sono uguali e la versione è diversa, allora rappresenta versioni diverse dello stesso oggetto. In osm api, la versione è facoltativa e, se non specificata, viene restituita la versione più alta.


6
Potrebbe essere meglio dire che un oggetto osm univoco può essere identificato dai primi tre. Suppongo che la modifica dei tag crei una nuova versione.
user30184,

1
Aggiunta di membri ai modi e ai rapporti crea anche una nuova versione, ma i nodi in movimento (anche facendo una linea retta di loro) non non creare una nuova versione per il modo .
AndreJ,

2
Sì, la modifica dei tag crea una nuova versione e quella parte viene eseguita da osm api. Per quanto riguarda il database, anche i tag fanno parte dell'ID univoco. Ma usiamo solo l'API, quindi i primi tre daranno un oggetto unico.
Neogeomat,

potresti darmi un esempio in cui un id viene utilizzato per due tipi di oggetti contemporaneamente? Non sono riuscito a trovare ... O c'è qualche documentazione a riguardo?
wutzebaer,

L'esempio è riportato nell'altra risposta
poshan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.