osm基本数据结构的定义

简介

OpenStreetMap (OSM) 是一个免费的、开源的、全球范围内的地图项目,由志愿者社区共同编辑和维护。该项目始于2004年,由斯蒂夫·科斯特(Steve Coast)创建,旨在为世界各地提供自由使用的地理数据,以替代许多商业地图服务的限制性许可。OSM 的数据来源主要是社区成员使用 GPS 设备、航空影像、其他公开的数据集以及个人知识进行地图编辑。与许多传统的地图服务不同,OSM 数据完全开放,任何人都可以自由访问、修改和分发地图数据,用于各类应用,包括导航、地理信息系统(GIS)分析、研究、商业服务等。

应用

OpenStreetMap (OSM) 作为一个开源的全球地图数据项目,广泛应用于各类领域。以下是 OSM 数据的主要应用场景:
OSM 数据常用于各种导航和定位应用中,包括但不限于:
1.导航与定位
智能手机导航应用:如 OsmAnd、Maps.me、Magic Earth 等,这些应用利用 OSM 提供离线地图和导航功能。
在线地图服务:Mapbox、MapTiler 等平台使用 OSM 数据来生成自定义地图服务,为网站、移动应用和其他在线平台提供地图和导航支持。
车辆导航:包括汽车、卡车、自行车和徒步旅行等不同类型的导航需求,OSM 提供路线规划、兴趣点(POI)和交通信息等数据。
2.地理信息系统 (GIS)
OSM 数据在 GIS 应用中广泛使用,尤其是在需要大量地理数据的项目中,如:
城市规划:OSM 提供建筑、道路、基础设施等数据,帮助城市规划者分析城市发展。
环境监测:OSM 的地形、河流、森林等自然环境数据用于环境保护、气候变化研究等领域。
灾害响应:OSM 经常用于灾后救援和灾害准备工作中。例如,2010年海地地震后,志愿者利用 OSM 为救援行动绘制了详细地图。
3.学术研究
OSM 数据是学术研究中重要的开放数据源,特别是在涉及地理空间分析、城市发展、交通流量等方面的研究。
地理空间分析:研究人员使用 OSM 数据分析交通模式、城市扩张等现象。
社会科学研究:通过 OSM 数据,研究人员可以研究社区基础设施、公共服务的分布等。
4.商业应用
许多商业服务通过 OSM 数据提供地图和定位功能。相较于其他商业地图服务,OSM 的开源特性让企业能够灵活定制地图并降低使用成本。
物流和运输:许多物流公司使用 OSM 数据进行路线优化、车队管理等。
共享经济:如共享单车、共享汽车平台利用 OSM 数据提供精确的车辆定位和导航服务。
一些游戏和虚拟现实应用使用 OSM 数据来创建真实世界的地理环境。
5. 游戏与娱乐
一些游戏和虚拟现实应用使用 OSM 数据来创建真实世界的地理环境。
游戏地图生成:通过 OSM 数据生成真实的城市布局和地形,增加游戏的现实感和可玩性。
虚拟旅游:通过 OSM 数据模拟旅游地点、城市等,提供虚拟旅行体验。
6. 人道主义援助与发展
OSM 在人道主义援助中发挥重要作用。非政府组织(NGO)和联合国等组织使用 OSM 提供的数据来开展救援行动、发展规划等。
HOTOSM(人道主义开放街图):这是一个基于 OSM 的项目,专注于为发展中国家提供开放地图数据,特别是在自然灾害或战争等紧急情况下,帮助救援和重建工作。
7. 教育与培训
OSM 是地理信息系统(GIS)和地图制图课程中的重要教学资源。
地图制图培训:学生可以通过编辑 OSM 数据,学习如何创建和管理数字地图。
GIS 工具教学:OSM 提供了真实的开放数据,帮助学生掌握 GIS 软件和工具的使用。
8. 智能城市
智能城市规划和管理依赖大量的地理信息,OSM 在这方面提供了免费的基础设施数据,如道路网络、建筑物、公共设施等,帮助城市管理者优化资源配置、交通管理和公共服务。
9. 农业与环保
OSM 数据也应用于农业和环保领域,提供精确的土地利用、地形、土壤和水文信息,帮助农民和环境保护工作者进行更精确的规划和管理。
10. 开发与定制
开发者可以使用 OSM 数据构建自定义的地图和地理应用:
Mapbox 等平台:基于 OSM 数据的开发平台提供 API,使开发者能够轻松集成地图功能到他们的应用中。
自定义地图应用:开发者可以通过 OSM 数据构建专门的地图应用,用于行业解决方案、企业内部管理等场景。

制作

OpenStreetMap (OSM) 的制作过程涉及到大量社区志愿者、数据收集工具和编辑平台。制作 OSM 地图的流程主要包括数据收集、数据上传、编辑和验证。以下是 OSM 制作的详细步骤:

  1. 数据收集
    OSM 地图数据主要来自志愿者通过不同的方式进行收集:
    GPS 数据:志愿者使用 GPS 设备记录地理位置信息,如道路、建筑物、河流等,并将这些数据上传到 OSM 服务器。智能手机的 GPS 应用也常用于这一目的。
    航空和卫星影像:使用开源或授权的航空影像或卫星数据(如 Bing 或 Mapbox 的开放影像),用户可以通过这些影像在 OSM 中手动绘制地图元素。
    已有开放数据集:一些政府或机构发布的开放数据集(如道路网络、土地利用信息等)可以整合进 OSM 项目,但必须符合 OSM 的开源许可要求。
    实地考察:志愿者通过实地考察收集重要的地理信息,比如街道名称、建筑物类型、公共设施(如公园、学校等)的位置等。
  2. 使用编辑器编辑地图
    收集到的地理数据通过 OSM 的在线编辑工具进行编辑和上传。常用的 OSM 编辑器包括:
    iD 编辑器:这是 OSM 官方提供的基于浏览器的在线编辑器,操作简单,适合初学者。用户可以通过拖放的方式在地图上绘制点、线、面,标记地理对象的属性(如道路、建筑物、河流等)。
    JOSM(Java OpenStreetMap Editor):这是一个功能强大的桌面编辑器,适合需要处理复杂地图任务的高级用户。JOSM 支持批量编辑、多层数据管理、插件扩展等功能。
    StreetComplete:这是一款适合移动设备使用的简单编辑工具,用户可以通过回答应用程序提出的简单问题(如道路类型、建筑物用途等)来改进 OSM 数据。
  3. 地图元素的定义
    在 OSM 中,地图数据由三种基本要素构成:
    节点(Node):用于表示地图上的一个具体点,常用于标记地点、兴趣点(POI)等,如公共厕所、公交车站等。
    路径(Way):由多个节点组成的线条,通常表示道路、河流、边界等线性特征。也可以构成封闭的多边形,表示建筑物、湖泊等区域特征。
    关系(Relation):用于表示节点和路径之间的复杂关系,比如公交路线、边界等。关系可以包含多个节点或路径,以表达更复杂的地图结构。
  4. 数据标注和分类
    在 OSM 中,每个地理对象都可以有多个“标签(Tag)”,用来描述该对象的属性。标签以键-值对的形式存在,帮助定义该对象的特性。常用标签示例:
    highway=residential:表示一条住宅区道路。
    building=yes:表示一个建筑物。
    landuse=forest:表示一片森林区域。 这些标签让 OSM 数据更具描述性,使其能够被用于不同的应用场景,如导航、GIS 分析、城市规划等。
  5. 数据上传
    编辑完成后,用户可以将修改或新添加的地图数据上传到 OSM 服务器。用户需要为每次上传提供简要说明,以便社区成员了解此次修改的目的。
  6. 社区验证和审核
    OSM 的数据更新是开放的,因此需要社区成员进行验证和审核。验证过程通常包括:
    对比其他数据源:通过对比其他公开数据源或实地调查结果,确认新上传的数据的准确性。
    历史变更记录:每个地理对象都有变更记录,用户可以查看对象的历史变动,帮助识别并纠正潜在的错误或破坏性修改。
  7. 定期更新
    OSM 地图是一个持续更新的项目,志愿者社区不断补充和修正数据,确保地图的最新性和准确性。由于现实世界的基础设施和地形会发生变化,定期的更新和审核对于维持 OSM 数据的实用性至关重要。
  8. 定制地图样式
    OSM 不仅提供地理数据,还允许用户根据自己的需求定制地图样式。用户可以通过调整 OSM 数据的可视化方式,生成适合自己项目的定制地图。
    CartoCSS:这是 OSM 数据的样式语言,用户可以通过修改样式表来改变地图元素的显示方式,如道路颜色、建筑物边界等。
    Mapnik:这是 OSM 使用的渲染引擎,用于将 OSM 数据生成可视化的地图图像。通过定制 Mapnik 样式,用户可以创建不同用途的地图。
  9. 数据导出与使用
    OSM 数据可以以多种格式导出,并用于不同的项目中。常见的导出格式包括:
    OSM XML 格式:这是 OSM 原生数据格式,包含节点、路径、关系及其标签的详细信息。
    Shapefile 格式:用于 GIS 软件的常用格式,适合于地理数据的分析和处理。
    GeoJSON 格式:适合在 web 应用中使用的一种轻量级地理数据格式。 用户可以使用 OSM 的数据导出工具(如 Geofabrik、BBBike)导出所需区域的 OSM 数据,并将其应用于自己的项目中。
  10. 应用开发
    开发者可以使用 OSM 数据创建定制化的地图和应用。通过 OSM API 或 Mapbox、Leaflet 等第三方库,开发者可以轻松将 OSM 数据集成到自己的应用中,如导航软件、城市规划工具、环境监控平台等。
    总的来说,OSM 的制作过程是一个开放、协作和持续发展的过程。它依赖全球志愿者和社区的共同努力,不断完善和扩展其数据集,为各类应用提供高质量、自由的地理数据。

主要特征

OpenStreetMap (OSM) 的地图特征是其开源平台的核心内容,涵盖了广泛的地理信息,并以丰富的标注标签描述每个地理对象的特性。以下是 OSM 地图中的主要特征:

  1. 基础地图要素
    OSM 的地图数据由三种基础要素组成:
    **节点 (Node):**表示地图中的一个点,通常用于标记兴趣点(POI)或作为其他要素(如路径)的组成部分。例如,一个公交站、树木、邮筒都可以是节点。
    **路径 (Way):**由多个节点连接成的线条或多边形。路径用于描述线性或面状的地理特征。例如:
    道路:包括高速公路、主干道、居民区道路、人行道等。
    河流:描述流动水体的线性特征。
    建筑物:当路径形成封闭的多边形时,它可以表示建筑物或区域,如公园、湖泊等。
    **关系 (Relation):**用于定义更复杂的结构,描述多个节点和路径之间的关系。例如,公交线路、行政区域边界、跨国路线等。
  2. 道路网络
    OSM 对道路类型的区分十分细致,不仅涵盖了主要道路,还包括各种类型的次要和小路。常见道路分类标签:

highway=motorway:高速公路。
highway=trunk:主干道,介于高速公路和普通公路之间。
highway=primary/secondary/tertiary:主次干道,用于连接主要城镇和村庄的道路。
highway=residential:居民区的街道。
highway=footway:步行道,人行道。
highway=cycleway:自行车道。
3. 兴趣点 (Points of Interest, POI)
OSM 包含丰富的兴趣点标记,涵盖了各种人类活动设施、公共服务、自然特征等。常见的 POI 分类包括:

amenity:公共设施,如学校、医院、邮局、银行、餐馆等。
amenity=school:学校。
amenity=hospital:医院。
amenity=restaurant:餐馆。
shop:商业设施,如超市、书店、服装店等。
shop=supermarket:超市。
shop=bakery:面包店。
tourism:旅游设施,如景点、酒店、博物馆等。
tourism=hotel:酒店。
tourism=museum:博物馆。
natural:自然地理特征,如山脉、森林、河流等。
natural=wood:森林。
natural=water:水体。
4. 建筑物与区域
OSM 中的建筑物数据包括住宅、商业建筑、工业建筑等,详细标注建筑物的用途和属性:

building=yes:普通建筑物。
building=residential:住宅建筑。
building=industrial:工业建筑。
landuse:土地用途,如居住区、工业区、农业用地、森林等。
landuse=residential:居住区。
landuse=industrial:工业用地。
landuse=farmland:农田。
5. 自然与环境
OSM 对自然环境有详细描述,包括森林、河流、湖泊、湿地等:

waterway=river:河流。
waterway=stream:小溪。
natural=forest:森林。
natural=wetland:湿地。
natural=peak:山峰,通常用于标记山地的高点。
6. 交通网络
除了道路之外,OSM 还包括多种交通方式的网络,方便进行多模式交通分析和应用:

railway:铁路网络,涵盖高铁、普通铁路、地铁、轻轨等。
railway=rail:普通铁路。
railway=subway:地铁线路。
railway=tram:有轨电车线路。
aeroway:航空设施,如机场、跑道等。
aeroway=airport:机场。
aeroway=runway:跑道。
public_transport:公共交通相关的设施,如公交站、地铁站等。
public_transport=station:公共交通站点。
public_transport=stop_position:公共交通停靠点。
7. 行政区划
OSM 包含全球的行政区划信息,帮助用户定义城市、国家、省份、区县等边界:

boundary=administrative:行政边界。
admin_level:定义行政级别,从全球的国家级别(1级)到地方级别(10级)不等。
8. 骑行与步行设施
OSM 为步行和自行车骑行爱好者提供了详细的道路和设施标记:

cycleway:专门为骑行标记的自行车道。
footway:步行道路和人行道。
bridleway:供马匹骑行的道路。
steps:楼梯,专为步行者标记的步道。
9. 水体与水利设施
OSM 对水体和水利设施的描述也非常丰富,支持绘制河流、湖泊、水坝等水利设施:

waterway:用于标记流动水体,如河流、小溪、运河等。
waterway=river:河流。
waterway=canal:运河。
man_made=pier:码头或人工结构。
water=lake:湖泊。
water=reservoir:水库。
10. 电力与基础设施
OSM 还涵盖了电力和基础设施的相关信息,包括输电线路、电厂等:

power=line:输电线路。
power=plant:电厂。
man_made:标记各种人造结构,如塔、烟囱、桥梁等。
man_made=tower:塔。
man_made=chimney:烟囱。
11. 海洋和水文特征
OSM 也可以标注海洋和其他水文特征,如航道、灯塔、海岸线等:

seamark:海洋标志,用于导航或表示海上特征。
seamark
=buoy:浮标。
seamark
=light:灯塔。
12. 旅游与娱乐设施
OSM 详细标注了旅游设施、景点和娱乐场所:

tourism:涵盖景点、博物馆、酒店、露营地等。
tourism=camp_site:露营地。
tourism=hotel:酒店。
tourism=attraction:旅游景点。
leisure:休闲娱乐设施,如公园、体育场、游泳池等。
leisure=park:公园。
leisure=stadium:体育场。
leisure=swimming_pool:游泳池。
13. 土地用途和覆盖
OSM 通过 landuse 标签标识土地的具体用途,如:

landuse=forest:用于表示森林覆盖区域。
landuse=farmland:用于表示农田。
landuse=residential:用于表示居民区。
14. 开放式标签系统
OSM 采用开放式的标签系统,允许用户根据需要对地图元素添加标签。这种系统非常灵活,能够捕捉现实世界中几乎所有的地理特征,并根据用户需求进行扩展。

1 独立节点

节点 (Node) 可以根据其用途分为几种不同的类型:独立节点、路径节点、面(区域)节点、关系节点
请添加图片描述

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="openstreetmap-cgimap 2.0.1 (2051410 spike-08.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
 <bounds minlat="30.9478280" minlon="121.6421480" maxlat="30.9484640" maxlon="121.6426420"/>
 <node id="7123733298" visible="true" version="1" changeset="79442245" timestamp="2020-01-11T04:34:50Z" user="daiSG" uid="2286509" lat="30.9483077" lon="121.6423745">
  <tag k="name" v="头桥"/>
  <tag k="name:en" v="Touqiao"/>
  <tag k="name:zh" v="头桥"/>
  <tag k="place" v="neighbourhood"/>
 </node>
</osm>

2.路径

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="openstreetmap-cgimap 2.0.1 (2051425 spike-08.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
 <bounds minlat="30.9685570" minlon="121.6322880" maxlat="30.9702510" maxlon="121.6350250"/>
 <node id="9596661878" visible="true" version="1" changeset="118764080" timestamp="2022-03-22T06:55:27Z" user="GfCiS" uid="14797362" lat="30.9682969" lon="121.6336436"/>
 <node id="9596661880" visible="true" version="1" changeset="118764080" timestamp="2022-03-22T06:55:27Z" user="GfCiS" uid="14797362" lat="30.9702023" lon="121.6339524"/>
 <node id="9596661881" visible
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值