有openstreetmap的API吗?[关闭]
-
11-09-2019 - |
题
我想知道是否有任何 API 可以通过例如查询 OSM 数据;(lon_1, lat_1) 是在陆地还是海上?或者是否有可能获得一个岛屿作为明确定义的多边形?到目前为止,我见过的唯一用途就是渲染 OSM 数据(生成图块)的工具。
解决方案 7
我已经发现了一个伟大的API,用于读取数据的OpenStreetMap; Mapscript 。 这是地图服务器的接口,它能够读取* .MAP和* .SHP文件。它能够使用空间索引,因此潜在的非常快。我已经做了随机的多边形查找(检查是否多边形相交的土地)全球海岸线形状文件在40毫秒。
其他提示
您可以使用CloudMade的地理编码API来搜索OpenStreetMap的数据的一个岛屿。该API将默认返回结果的几何形状,这对我听起来,你在找什么。例如,艾伦苏格兰海岸可以通过以下http请求中找到:
http://geocoding.cloudmade.com/ BC9A493B41014CAABB98F0471D759707 /地理编码/查找/艾伦,UK.js?结果= 1
(并作为一个整洁的小劈,改变的.js为.html预览结果。
更多文档和实例的API是在developers.cloudmade.com/projects/show/geocoding-http-api 如果你不想使用HTTP API,那么抽象的API提供多语言版本 - 红宝石,蟒蛇,Perl和其他
似乎没有人在这里提到的 传单的 API:点击 http://leafletjs.com/reference.html
我用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属性。
当然,JavaScript API的调用的OpenLayers 。
MapQuest的具有一组的基础上具有相当非限制条款OpenStreetMap的数据(即条款紧跟于OSM的)“打开” web服务API:
如何有关 http://wiki.openstreetmap.org/wiki/Nominatim ? 我用了这个和设置自己的服务器