登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
二手市场
外包服务
模飞软件
硬件设备
飞行体验
学院
云课堂
问答
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
资源
素材
下载
企业
无人机论坛
»
论坛
›
无人机DIY专区
›
图像视觉
›
强大的开放式地图数据库:Overpass Turbo
返回列表
发新帖
查看:
464
|
回复:
1
强大的开放式地图数据库:Overpass Turbo
[复制链接]
272974322
272974322
当前离线
积分
984
窥视卡
雷达卡
315
主题
353
帖子
984
积分
高级飞友
高级飞友, 积分 984, 距离下一级还需 16 积分
高级飞友, 积分 984, 距离下一级还需 16 积分
积分
984
飞币
629
注册时间
2017-7-4
发消息
发表于 2022-10-28 23:01:28
|
显示全部楼层
|
阅读模式
开放街道地图数据库【https://www.openstreetmap.org/】包含有关地球表面几乎每一平方米的详细信息 土地使用、建筑类型、河流、公园长椅、酒吧、街道和数百万其他数据点都被详细绘制和记录。
你可能熟悉基于浏览器
打开街道地图(OSM)网站
【https://www.openstreetmap.org/】的。从表面上看,它类似于谷歌或必应等地图服务,但你可能没有意识到,支持它的庞大地图数据集也可以直接访问。需要找到一个城市所有的电力线?数一数每平方公里有多少酒吧?可视化每个地区的COVID案例?或者你只是想解决一个难
Quiztime
【https://quiztime.com/】题?
OSM庞大的数据库可以被查询以支持你能想到的几乎任何地图用例。可以通过一个名为
Overpass
【https://wiki.openstreetmap.org/wiki/Overpass_API】。它非常强大,但是对初学者不太友好,而且构造查询需要一点编码知识。
访问 Overpass 的更方便的方式是以 Overpass Turbo 【https://overpass-turbo.eu/】。Overpass Turbo 允许您以更加用户友好的方式构建 Overpass 查询。您可以构建查询、运行它,然后查看地图上显示的数据。结果也可以以 CSV 或 JSON 格式返回,这使得将它们合并到您自己的地图项目中变得更加容易。
基本概念
尽管transition Turbo比直接查询transition更加用户友好,但它一点也不像谷歌地图那样容易使用。它比谷歌地图强大得多,但构建有效的查询需要理解OSM包含的数据类型。
语法也更加严格。如果你输入“迪斯尼附近的五星级酒店”作为你的 Overpass Turbo 查询,你不会走得很远。在开始构建查询之前,花点时间熟悉一下OSM数据的基本类型是值得的。
几何
OSM数据库中有三种主要类型的对象。这些被称为几何。OSM地图上显示的每个对象都是这些类型中的一种。
结节
节点是地图上的一个点。它有一个唯一的ID号和一组坐标。
这个公园长椅
【https://www.openstreetmap.org/node/4340279542#map=17/52.28932/8.03031】奥斯纳布吕克市的一条运河旁边有一个节点:
你可以看到它有一个唯一的ID号、经纬度坐标和一些描述其属性的标签。我们稍后将讨论标签。
方法
长凳旁边是一条铁路线。线状要素不能由地图上的单个节点表示,因此路径、道路、河流和高速公路由链接在一起形成道路的多个节点表示。路只是链接节点的集合。
道路不一定要像铁路或运河那样呈线性。节点的集合可以在同一点开始和结束以形成一个形状。
这个机场
【https://www.openstreetmap.org/way/94423432】就在Osnabrück外面不是一个节点,而是一条路。其边界由一系列链接在一起形成多边形的单个节点定义:
因此,要在地图上找到大于一个点的对象,就必须搜索路径,而不仅仅是节点。我们将很快看到有一种方法可以组合这些类型的查询,但是我们需要先看看最终的数据类型。
关系
一个节点是一个点。一种方式是一系列链接的节点。关系组合方式和节点以形成更复杂的对象。
假设您想在 OSM 中表示一条火车路线。你有节点(车站、信号)和道路(轨道部分、桥梁,也许更大的车站)。要表示路线,需要将这些节点和方式组合成一个“路线”对象。这种组合被称为“关系”。
让我们回到奥斯纳布吕克。 哈芬区是该市北部的一个行政区。 在 OSM 中,它是标记地理边界的方法的集合,也是表示它是管理中心的单个节点。 一个对象太复杂了,不能只是一个路或一个节点,所以节点和路被组合起来形成一个关系。
多种方式形成边界。中间的单个节点指的是行政中心。这可以在OSM的信息面板中看到(在地图上点击右键,点击“查询功能”):
哈芬区域是由5
种
方式和单个
节
点组成的
关
系。
标签
标签是在OSM中查找信息的关键。正如我们刚才看到的,OSM中的每个对象要么是节点,要么是方式,要么是关系。这些对象包含位置数据,但不包含描述性信息。节点、方法和对象用一系列的tag进行标记和描述。
我们看到的第一个物体
公园的长椅上
是。它是一个具有惟一引用号4340279543和经纬度/长度坐标的节
52.2910290, 8.0265765
点。这就是一个节点存在所需要的全部信息——但是,仅凭这些细节,人们怎么可能找到它,甚至知道它是什么呢?
OSM对象需要额外的信息,以便正确地描述和索引它们。标签就是用来做这个的。长凳有几个标签来描述它:
这是一个非常强大的系统,但是在标签方面有一个困难。在《天桥Turbo》中,我不能像“park bench”那样做一个自由文本搜索,并确定我将找到一个匹配的标签。我用来搜索的标签必须与OSM贡献者分配的标签完全匹配,所以如果我只是猜测标签名称,我可能会错,我不会找到我要找的东西。Overpass Turbo的查询向导可以通过基于搜索条件建议标签略有帮助,但它支付知道如何构建标签,以便尽可能准确与您的结果。
TagInfo
OSM
Taginfo网站
允许您搜索已经添加到数据库中的标签。使用右上方的搜索框,我们可以搜索组成标签的键和值,以便将它们添加到查询中。
假设我想找风力涡轮机。我在Taginfo搜索框中输入术语“风力涡轮机”,然后得
这些结果
到。
OSM标签总是由一个键-值对组成。您可以将键视为主要类型,而将值视为子类型。常见的键值对的示例可能是
建筑=学校,
或
高速公路高速公路。
这意味着仅仅创建一个名为“风力涡轮机”的标签在OSM中是行不通的。标签必须同时具有
键
和值。
上图显示了人们如何创建键值对来描述风力涡轮机。到目前为止,最受欢迎的是标签
发电机:方法= wind_turbine
.
您可以看到标签由密钥组成
发电机:方法
和价值
wind_turbine。
您还可以看到,OSM数据库中有24052个对象是以这种方式标记的,所以要找到一个风力涡轮机,这将是最好的标签。相比之下,如果我搜索标签
风力涡轮机
这将只匹配整个数据库中的18个对象,所以我不太可能找到我要找的东西。
以下是生成器的所有结果:method = wind_turbine查询Osnabrück:
边界框
在将这些概念付诸实践之前,有必要提一下边界框的概念。当查询天桥,它是必要的设置一个北,南,东和西边界点的框,你希望搜索。这些通常是用发送给API的坐标定义的,但幸运的是,天桥Turbo根据右边窗口中的地图区域为你创建了这个框。表示坐标的
{{bbox}}
标记。天桥Turbo将只在您指定的框区域内搜索匹配的数据。
结论
在这篇文章中,我们已经了解了OSM和Overpass Turbo的基本构建模块。在下一篇文章中,我们将把它们放在一起构建一些查询并开始检索数据。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
吹毛成仙
吹毛成仙
当前离线
积分
1688
窥视卡
雷达卡
46
主题
848
帖子
1688
积分
金牌飞友
金牌飞友, 积分 1688, 距离下一级还需 1312 积分
金牌飞友, 积分 1688, 距离下一级还需 1312 积分
积分
1688
飞币
838
注册时间
2017-8-18
发消息
发表于 2022-10-28 23:12:59
|
显示全部楼层
画完之后,英国对中国了如指掌了
回复
支持
反对
使用道具
举报
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表