Zh-hans:元素

From OpenStreetMap Wiki
Jump to navigation Jump to search

元素是OpenStreetMap对现实世界建立的模型的最基本的组成部分,包括

  • 节点(定义空间中的点),
  • 路径(定义线要素与区域边界),以及
  • 关系(有时用于解释其他元素如何协同作用)。

以上所有元素都可以有一个或者更多的标签(用来解释特定元素的意义)。

节点 node

主条目:Zh-hans:Node

一个节点代表了由其经纬度所定义的地球表面的一个特定的点。每个节点至少由一个ID编号和一对坐标(经·纬)组成。

节点可以用来定义孤立的点的特征。例如:一个公园长椅或者一口水井。

节点也可以用来定义路径的形状。当节点被用于路径时,节点通常没有标签,但其仍旧可以有。例如highway=traffic_signals中用来标记道路上的交通信号灯,power=tower中代表了电缆路经上的电缆塔。

节点可以是关系的成员。关系也可能指示出成员的角色:具体来说,指示出节点在特定的一组相关元素中的功能。

路径 way closed way area

主条目:Zh-hans:Way

路径是一个规模介于2到2000个有序节点的列表,定义了一条折线段。路径用来代表线性的特征例如河流与道路。way

路径也可以用来代表区域的边界 (实心多边形)例如建筑物或者森林的边界。在这种情况下,路径的第一个和最后一个节点是同一个。这也被叫做闭合路径。 area closed way

需要注意的是,闭合路径有时代表了环而不是实心区域。例如公路上的环岛。需要根据路径的标签来确定它属于哪一种。

有孔洞的,或者边界超过2000个节点的区域,不能以单条路径表示,而是需要一个更复杂的复合多边形关联数据结构。

关联 relation

主条目:Relation

关联是一个用来表示2个或更多的元素 (节点、路径或其他关联) 之间的关联的一种多用途的数据结构。例子包括:

  • 路线关联,用来列出组成构成干线公路(有编号的)、自行车线路或公交线路的路径清单。
  • 转向限制关联,告知不能从一条路径转向另一条路径。
  • 复合多边形关联,定义一个区域 (边界被标做 'outer way',孔洞被标做 'inner ways').

因此,关联可能有多种含义,其具体代表的含义由它的标签定义,通常来说,关联元素会含有一个 'type' 标签,关联的其他标签需要通过 'type' 标签的内容来解读。

关联主要是一个有序的节点,路径,其他关联的列表,这些对象被称作关联的成员。

每个在关联内的元素(成员)可以选择性的有一个角色,例如,一个禁止转弯关联可能有成员分别带有"from" 和 "to" 的角色,描述特定的转向被禁止。

特定的一个元素,例如一条特定的路径,可能会在关联中出现多次。

标签 tag

主条目:Tag

所有类型的数据元素(节点、路径、关联),甚至变更集,都可以拥有标签,标签用来解释他们所附加特定元素的含义。

标签包含着两个格式自由的文本字段:'key'和'value',他们都是Unicode编码字符串且最长255个字符。例如highway=residential定义了一条主要用途是通向居民住所的一条路径。

虽然标签没有限定内容,但是在本Wiki中有着许多公约(从地图要素页面看起)。标签的使用情况可以通过Taginfo应用来观察。如果有多于一种的方法来描述一种给定的特征,尽可能使用最常见的方法。

并非所有元素都有标签。如果节点是路径的一部分,它们通常没有标签。如果路径和节点是关联的成员,则它们都可以不标注。

常用属性

在OSM数据库中,我们为节点,路径,关联储存了这些属性,你的应用程序不一定需要全部使用,一些提取OSM数据的第三方软件也不一定给予全部的重现。

属性名 数据类型 描述
id 整型(64位) 用来识别元素。每种元素类型有独立的ID空间,所以可能同时有节点和路径拥有相同的ID,但是他们之间不太可能有逻辑上或是物理上的联系。
user 字符串 最后修改元素的用户的显示名(仅供参考,可能为空)。用户可以随时更改其显示名(现有元素将反映新用户名,而无需更改任何版本)。
uid 整型 用来显示最后更改的用户的用户ID,用户ID是固定值。
timestamp W3C标准日期与时间格式 最后修改时间(例如「2016-12-31T23:59:59.999Z」)。
visible "true"
"false"
用来标记元素是否被数据库删除, 如果 visible="false" 那么这个元素仅应该被历史记录所返回。
version 整型 元素的编辑版本。新创建的元素从版本1开始,当客户端上传元素的新版本时,该值由服务器递增。如果客户端发送的版本与数据库中元素的当前版本不匹配,服务器将拒绝元素的新版本。
changeset 整型 在其中创建或更新元素的变更集编号(建议在应用程序中支持 64 位以与 OSM 数据库的长期演变兼容,但仅查询数据而不更新它们的应用程序可能会忽略此信息属性)。

当然OSM也储存标签,以及每个元素的完整编辑历史。

查看更多