JA:Data Primitives

From OpenStreetMap Wiki
Jump to: navigation, search
Help
Available languages
English Italiano 日本語 Русский Українська

基本データ型(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 整数 オブジェクトが作成または更新されたチェンジセット

ノード、ウェイ、リレーション

基本データ型には、ノード、ウェイ、およびリレーションがある。

Nodes-ways-closedways.PNG

ノード node

詳細は「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>

特殊なケース

ウェイ way

詳細は「JA:Ways」を参照

ウェイは2~2,000個[1] (API v0.6)の ノードを順序付きで接続したものです。ウェイは道路小道鉄道路線河川フェンス送電線、区域や建物の境界線などを表しています。それぞれのウェイはその種類に応じて決められたプロパティによって特徴が記述されます。たとえば、道路区分(国道、県道、など)、路面の状態、速度制限などです。ウェイの中に異なるプロパティを持つ部分があるのなら、短いセクションに分けるべきです。例えば、道路の一部区間のみが一方通行である場合、一方通行の区間は他の区間とは切り離されるべきなのです。これは、たとえ同じ名前を持つ区間であってもです。(ウェイを分割するノードは両側、あるいは3つ以上のウェイで共有することもできます。必要なら、リレーションを使って複数のウェイを1つのグループにまとめることもできます。)

閉じたウェイ closed way (エリア area)

閉じたウェイとは、開始ノードと終了ノードが同じで、1つのエリアを形成しているウェイのことです。エリアは新しい基本データ(data primitiveではなく、単に一定の区域を表すようにタグ付けされた閉じたウェイにすぎません。また、全ての閉じたウェイがエリアとして描画されるわけでもありません。

エリアを記述するために area=yeslanduse=* がよく用いられます。あるいは 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>

リレーション relations

詳細は「Relations」を参照

リレーションは role(役割)で関連付けられた0個以上の基本データのグループです。オブジェクト間の関係を記述するために使用され、また、抽象オブジェクトのモデル化に用いることもできます。

名前 説明
id 整数(>=1) 上記参照
tags リスト
members 順序つきリスト role 属性(値は何らかのテキストデータ)で関連付けられた基本データの順序付きリスト

"メンバー" 要素

名前 説明
type "node"
"way"
メンバーのタイプ
ref 整数 メンバーのID role 文字列(string) メンバーの役割。使用するリレーションによって異なる。よく使われるリレーションは multipolygonroute

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>

参照

  1. http://git.openstreetmap.org/rails.git/blob/HEAD:/config/example.application.yml#l26
Elements
Node • Way • Relation (members and roles) • Tag (key and value)
Personal tools
Namespaces
Variants
Actions
site
Toolbox