首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在坐标下获取构建数据

在坐标下获取构建数据
EN

Stack Overflow用户
提问于 2014-07-19 16:41:31
回答 3查看 1.6K关注 0票数 0

我想要能够点击在地图上的建筑物和得到的多边形,其中包括在点击坐标的建筑物。

我查看了天桥api,并尝试了以下内容:

代码语言:javascript
复制
<query type="way">
  <around lat="51.0566036" lon="13.7181033" radius="30"/>
  <has-kv k="building"/>
</query>
<union>
  <item/>
  <recurse type="down"/>
</union>
<print/>

如果我选择一个大的radius,我会得到太多的建筑物。如果radius太小,我就没有任何建筑物。使用bbox-query没有帮助。

我也尝试过coord-query,但是我无法构造有意义的查询。所需的查询语法似乎不同。

手边有更好的方法吗?即使有了立交桥,我也得调查一下。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-20 14:57:40

你试图实现的是“反向地理编码”。为了避免上述问题(AFAIK),通常的实现使用任意半径,然后再次测试产生的形状是否包含所需的位置。

票数 2
EN

Stack Overflow用户

发布于 2014-07-20 16:28:34

在此GitHub票中也讨论了类似的要求。此时,立交桥API不计算建筑物的面积信息,这是is_in工作所必需的。但是,您可以设置自己的过路API实例,并调整区域创建规则,使其也包括建筑物。对于一个小面积,这应该是可行的,甚至在您的本地机器。

也请检查我提到的GitHub票证中的所有链接。它包括一些可能与您的问题相关的附加指针。

警告:在世界范围内计算建筑物面积的性能和空间影响尚不清楚,分别尚未得到充分测试。

票数 3
EN

Stack Overflow用户

发布于 2017-07-17 10:21:51

有一个使用gis_geometrics 1和overpy的Python解决方案。这个Python程序在LON的LAT找到了大楼。将其放在与gis_geometrics.py相同的目录中:

代码语言:javascript
复制
import overpy
from gis_geometrics import OSM_Polygon, Overpass

api = overpy.Overpass()
building = OSM_Polygon.getPolygonByCoords(api, LAT, LON)
if building is None: print("No building found.")
else: print(building.wayId)

使用id的方式,您可以发出立交桥请求来查找多边形坐标。

1

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24842624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档