是否有任何API for地,这使我获得一个名单的兴趣点在一定距离(例如10英里)从参考的位置?

有帮助吗?

解决方案

是的。天桥API有一个"周围"功能,它正是这样做的(搜索项目的半径范围内所给的点)。你可以结合其他要求(例如,获得一个名单的一个特定的项目类型):

http://wiki.openstreetmap.org/wiki/Overpass_API#Around

例如,使用天桥涡轮增压Api(单的所有城镇附近的"Manzanares,西班牙"的纬度和经度半径为150公里, 尝试它的生活!):

<osm-script output="json" timeout="25">
  <id-query {{nominatimArea:Spain}} into="area"/>
  <query type="node">
    <has-kv k="place" modv="" v="town"/>
  <around lat="38.996507" lon="-3.371946" radius="150000"/>
</query>

  <print e="" from="_" geometry="skeleton" limit="" mode="body" n="" order="id" s="" w=""/>
</osm-script>

其他提示

据我所知,API不直接支持这一点。最简单的方法是选择一个(准)的矩形边框你的圈子装配到,并用它来检索您的兴趣点。然后,你可以做一个距离计算对于每个感兴趣的点,并且抛弃那些超出你的半径。这将删除说谎接近框的角的POI的小部分,所以不是你的圈子里。你想这样做,在这个秩序,使你只需要做一个相对较少的目标位置的距离计算。

不要忘记的是,边界框由纬度/经度角限定,因此它是不是真正的矩形。经度线汇聚于极点,让你的箱子的顶部是不一样的宽度底部。你这多少影响取决于你是一个极多么接近(某种程度的长〜=(40000公里/ 360)* COS(LAT))。

如果您不要求最高的精度,则计算使用毕达哥拉斯定理的距离,记住在经度余弦变化,而因子2单位的差异(360度经度的,但只有纬度的180)。如果你确实需要的精度,那么你就进入球面三角,同时还需要在境界考虑椭圆形地球。这里有一个在线计算器,完整的公式和开源码,也就是有帮助在这方面

这里是文件:http://developers.cloudmade.com/wiki/geocoding-http-api/Documentation

这里是什么你需要的- HTML, JSON.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top