OSM IDはすべてのオブジェクトタイプで一意ですか?


13

OSM IDはすべてのオブジェクトタイプで一意ですか?

つまり、ウェイIDは関係IDとして、またはノードIDはウェイIDとして使用できますか?

回答:


16

Osm_idは、オブジェクトタイプ内でのみ一意です。次のリンクを使用して簡単にテストできます

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

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

現在のOSM統計には、次の数値が表示されます。

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

最も古いノードの多くはすでに削除されており、通常、新しいノードIDは新しい方法および関係IDよりもはるかに大きくなります。このため、小さな抽出物から同じosm_idを見つけることはますます珍しくなりますが、それでも発生する可能性があり、ユーザーはosm_idが普遍的に一意であることを信頼してはなりません。


うーん、しかしこのIDはリレーションとしてのみ利用可能ですか?
ウッツェバー14年

例が悪いからです。それでも、IDは要素タイプ内で一意です。
scai 14年

わかった?私は私のOSMファイル内のすべての例でも、それについてのドキュメントでもない見つけることができませんでした
wutzebaer

2
答えを編集し、例を修正して、今日存在する実際のウェイ/ノードケースを示し、そのようなケースが小さなosm抽出でかなり一般的でない理由を説明しました。最終的なドキュメントは、Ruby on Railsスキーマwiki.openstreetmap.org/wiki/Rails_port/Database_schema
user30184

11

すべてのOSMオブジェクトは、このコーディングスキームに順番に従います。

  1. オブジェクトのタイプ(ノード/ウェイ/関係)
  2. Id
  3. オブジェクトのバージョン

タイプが異なる場合、2つ以上のオブジェクトが同じIDを持つことができ、それらは異なるオブジェクトを参照します。ただし、タイプとIDが同じでバージョンが異なる場合、同じオブジェクトの異なるバージョンを表します。osm apiでは、バージョンはオプションであり、指定されていない場合、最も高いバージョンが返されます。


6
一意のosmオブジェクトは最初の3つで識別できると言ったほうがいいかもしれません。タグを編集すると新しいバージョンが作成されると思います。
user30184 14年

1
ウェイとリレーションにメンバーを追加しても新しいバージョンが作成されますが、ノードを移動しても(それらを直線にしたとしても)ウェイの新しいバージョン作成されませ
アンドレイ

2
はい。タグを編集すると新しいバージョンが作成され、その部分はosm apiによって実行されます。データベースに関しては、タグも一意のIDの一部です。ただし、APIのみを使用するため、最初の3つは一意のオブジェクトを提供します。
neogeomat 14年

idが2つのオブジェクトタイプに同時に使用される例を教えてください。何も見つかりませんでした...または、それに関するドキュメントはありますか?
ウッツェバエ14年

例は、他の回答に記載されている
poshan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.