是否有OpenStreetMap的一个API? [关闭](Is there an API for

2019-07-29 19:24发布

我不知道是否有任何API我可以通过查询OSM的数据,例如: 是(lon_1,lat_1)在陆地或海上? 或可能是可能得到一个岛屿作为一个明确的多边形? 迄今为止我见过的唯一使用刚刚工具呈现OSM数据(生成砖)。

Answer 1:

是的,有一个API和XAPI (扩展API)。

我还没有尚未使用这些。

但也有在cloudmade API来OSM。 我打了一下使用Python API。

我不知道,如果其中任何一个可以帮助您与您的特定问题,但你可以搜索海岸线靠近你的观点。 如果你点中的多边形标记的自然=海岸线 ,您有一个小岛(或一个大陆)...



Answer 2:

您可以使用CloudMade的地理编码API来搜索OpenStreetMap的数据的一个岛屿。 该API将默认返回结果的几何形状,这对我听起来,你在找什么。 例如,艾伦苏格兰海岸可以通过以下http请求中找到:

http://geocoding.cloudmade.com/BC9A493B41014CAABB98F0471D759707/geocoding/find/Arran,UK.js?results=1

(作为一个整洁的小黑客,改变的.js为.html预览结果。

更多的文档和示例的API是在developers.cloudmade.com/projects/show/geocoding-http-api如果你不想使用HTTP API,那么抽象的API以多种语言可供选择 - 红宝石,蟒蛇,perl的和别的。



Answer 3:

似乎没有人在这里提到的单张 API:
http://leafletjs.com/reference.html



Answer 4:

我已经使用CloudMade OSM提取物,但有一些问题与他们。 例如,挪威修剪得太紧,导致西海岸部分道路消失。

我现在更喜欢立交桥API。

把这样的事情到查询形式在http://www.overpass-api.de/query_form.html

<osm-script timeout="10000" element-limit="1073741824">
  <union into="_">
    <bbox-query into="_" s="52.3170669250001" n="52.4027433480001" w="4.80527567900009" e="4.97793537400008"/>
    <recurse from="_" into="_" type="up"/>
    <recurse from="_" into="_" type="down"/>
  </union>
  <print from="_" limit="" mode="meta" order="id"/>
</osm-script>

把你想要的区域,在度的范围,在S,元素的N,w和e属性。



Answer 5:

当然,JavaScript API的调用的OpenLayers 。



Answer 6:

MapQuest的拥有一套基于具有相当不受限制的条款OpenStreetMap的数据(即条款密切遵循与OSM)的“打开” Web服务的API:

http://developer.mapquest.com/web/products/open



Answer 7:

我发现了一个伟大的API,用于读取数据OpenStreetMap的; Mapscript 。 这是地图服务器的接口,它能够读取* .MAP和* .SHP文件。 它能够使用空间索引,因此潜在的非常快。 我已经做了随机的多边形查找(检查是否多边形相交的土地)在40毫秒世界上海岸线形状文件。



Answer 8:

怎么样http://wiki.openstreetmap.org/wiki/Nominatim ? 我用了这个和设置自己的服务器



文章来源: Is there an API for openstreetmap? [closed]