JA:Data Primitives
基本データ型(data primitive)は、API経由でサーバーに保存することが可能なオブジェクト・クラスです。適切なマップ・フィーチャーを指定することで、いくつかの論理的なオブジェクト(POI、通り、路面電車の路線、バス停など)が、これらの基本データから作られます。
Contents |
共通属性
| 名前 | 値 | 説明 |
|---|---|---|
| user | 文字列(string) | オブジェクトを最後に更新したユーザー名(表示名)。ユーザーは自分の表示名を変えることができる。 |
| uid | 整数 | オブジェクトを最後に更新したユーザーのID番号。ユーザーがID番号を変更することはできない。 |
| timestamp | W3C Date and Time Formats | 最後の更新時刻 |
| visible | "true" "false" |
オブジェクトがデータベース内から削除されているか否か。visible="false" のオブジェクトは履歴にのみ現れる。 |
| version | 整数 | オブジェクトのバージョン番号。新しいオブジェクトのバージョン番号は1である。オブジェクトを変更してアップロードすると、バージョン番号は自動的に1ずつ大きくなる。アップロードされたオブジェクトのバージョンがデータベース内のバージョンと異なる場合、サーバーはその変更を却下する。 |
| changeset | 整数 | オブジェクトが作成または更新されたチェンジセット |
ノード、ウェイ、リレーション
基本データ型には、ノード、ウェイ、およびリレーションがある。
ノード 
- 詳細は「JA:Node」を参照
ノードは OSM スキームでの基本要素であり、他の要素の構成単位となるものです。ノードは緯度と経度(単一の地理座標)で構成されます。(オプションで標高 key:ele を含むことも可能です。)
ノードはウェイ(後述)を定義するために必要ですが、ノード単体でも、例えば電話ボックス、パブなどの全てのPOIを表すことができます。単体ノードには、例えば amenity=telephone など、少なくとも1つのタグを付けなくてはなりません。
通常、ウェイを構成するノードはそれ自身のタグを持ちません(タグはウェイを記述するためだけに用いられています)。しかし、これはルールではありません。例えば、railway=rail タグの付いたウェイが railway=station タグの付いたノードを含むこともできます。
| 名前 | 値 | 説明 |
|---|---|---|
| id | 整数(>=1) | ノードのIDはノードの中でのみ一意となる。(同じIDを持つウェイが存在しても良い。)一般的なエディターでは、サーバーに保存される前のノードのIDに負数が用いられる。サーバー上のノードのIDは不変であり、既存のノードに割り当てられたIDは将来にわたって変更されない。削除されたノードのIDが最利用されることはない(削除を取り消した場合を除く)。 |
| lat | 浮動小数点数 >−90.0 かつ <90.0 少数第7位まで |
緯度。一部のアプリケーションは ±85 を超える値を受け付けない。 |
| lon | 浮動小数点数 >−180 かつ <180 少数第7位まで |
経度 |
| tags | キー/値のペアの集合 キーの重複は不可 |
タグ付けの詳細は ja:Map Features を参照 |
XML の例
<node id="25496583" lat="51.5173639" lon="-0.140043" version="1" changeset="203496" user="80n" uid="1238" visible="true" timestamp="2007-01-28T11:40:26Z"> <tag k="highway" v="traffic_signals"/> </node>
特殊なケース
ウェイ 
- 詳細は「JA:Ways」を参照
ウェイは2~2,000個[1] (API v0.6)の ノードを順序付きで接続したものです。ウェイは道路、小道、鉄道路線、河川、フェンス、送電線、区域や建物の境界線などを表しています。それぞれのウェイはその種類に応じて決められたプロパティによって特徴が記述されます。たとえば、道路区分(国道、県道、など)、路面の状態、速度制限などです。ウェイの中に異なるプロパティを持つ部分があるのなら、短いセクションに分けるべきです。例えば、道路の一部区間のみが一方通行である場合、一方通行の区間は他の区間とは切り離されるべきなのです。これは、たとえ同じ名前を持つ区間であってもです。(ウェイを分割するノードは両側、あるいは3つ以上のウェイで共有することもできます。必要なら、リレーションを使って複数のウェイを1つのグループにまとめることもできます。)
閉じたウェイ
(エリア
)
閉じたウェイとは、開始ノードと終了ノードが同じで、1つのエリアを形成しているウェイのことです。エリアは新しい基本データ(data primitive)ではなく、単に一定の区域を表すようにタグ付けされた閉じたウェイにすぎません。また、全ての閉じたウェイがエリアとして描画されるわけでもありません。
エリアを記述するために area=yes と landuse=* がよく用いられます。あるいは landuse=* でもキーが不要なこともあります(multipolygon リレーションに属しているウェイの場合)。閉じたウェイがエリアとして解釈される場合について知りたければ、Map Features を参照してください。(ただし、歴史的な理由から、エラー回避のために area=yes を付けてください。)
| 名前 | 値 | 説明 |
|---|---|---|
| id | 整数(>=1) | ノードのIDと重複することがあるので、完全に一意ではないことに注意。エディターはサーバーに保存される前のウェイのIDに負数を用いる事が多い。 |
| nodes | リスト | ウェイを構成する全ノードのIDのリスト |
| tags | 集合 | タグ (キー/値のペア)の集合。キーの重複は不可。タグ付けのガイドラインについては Map Features を参照のこと。 |
XML の例
以下は highway=unclassified name=Clipstone Street oneway=yes としてタグ付けされた普通の道路の XML の記述例です。
<way id="5090250" visible="true" timestamp="2009-01-19T19:07:25Z" version="8" changeset="816806" user="Blumpsy" uid="64226"> <nd ref="822403"/> <nd ref="21533912"/> <nd ref="821601"/> <nd ref="21533910"/> <nd ref="135791608"/> <nd ref="333725784"/> <nd ref="333725781"/> <nd ref="333725774"/> <nd ref="333725776"/> <nd ref="823771"/> <tag k="highway" v="unclassified"/> <tag k="name" v="Clipstone Street"/> <tag k="oneway" v="yes"/> </way>
リレーション 
| It has been proposed that this page or section be merged with Relations. (Discuss) |
- 詳細は「Relations」を参照
リレーションは role(役割)で関連付けられた0個以上の基本データのグループです。オブジェクト間の関係を記述するために使用され、また、抽象オブジェクトのモデル化に用いることもできます。
| 名前 | 値 | 説明 |
|---|---|---|
| id | 整数(>=1) | 上記参照 |
| tags | リスト | |
| members | 順序つきリスト | role 属性(値は何らかのテキストデータ)で関連付けられた基本データの順序付きリスト |
"メンバー" 要素
| 名前 | 値 | 説明 | |||
|---|---|---|---|---|---|
| type | "node" "way" |
メンバーのタイプ | |||
| ref | 整数 | メンバーのID | role | 文字列(string) | メンバーの役割。使用するリレーションによって異なる。よく使われるリレーションは multipolygon や route。 |
XML の例
以下は multipolygone リレーションを XML で記述した例です:
<relation id="12" timestamp="2008-12-21T19:31:43Z" user="kevjs1982" uid="84075"> <member type="way" ref="2878061" role="outer"/> <member type="way" ref="8125153" role="inner"/> <member type="way" ref="8125154" role="inner"/> <member type="way" ref="3811966" role=""/> <tag k="created_by" v="Potlatch 0.10f"/> <tag k="type" v="multipolygon"/> </relation>
エリア
エリアは基本データではありません。適切なキーでタグ付けされている閉じたウェイ(複数可)がエリアとして扱われます。タグには、例えば natural=water があります。
エリアの例
<way id="4876027" timestamp="2008-03-12T07:59:11Z" user="MichaelCollinson"> <nd ref="31492372"/> <nd ref="31492338"/> <nd ref="31492370"/> <nd ref="31492371"/> <nd ref="31492372"/> <tag k="natural" v="water"/> <tag k="name" v="Spegeldammen"/> </way>