是否有openstreetmap的API?

Yng*_*dal 39 api geospatial openstreetmap

我想知道是否有任何API我可以通过查询OSM数据,例如; 是(lon_1,lat_1)在陆地还是在海上?或者是否可以将岛屿定义为定义明确的多边形?到目前为止,我见过的唯一用法就是渲染OSM数据(生成切片)的工具.

Vik*_*ica 25

是的,有一个apixapi(扩展api).

我还没用过这些.

但是OSM 也有cloudmade api.我用python api玩了一下.

我不确定,如果他们中的任何一个可以帮助您解决您的特定问题,但您可以在您的观点附近寻找海岸线.如果你的点在多边形标记的自然=海岸线内,你有一个岛屿(或一个大陆)......

  • 从xml生成一个iamge你需要一个渲染器.有几个.请看这里http://wiki.openstreetmap.org/wiki/Renderers (3认同)

gra*_*orm 9

您可以使用CloudMade的地理编码API在OpenStreetMap数据中搜索孤岛.默认情况下,API将返回结果的几何图形,这听起来像你在寻找什么.例如,可以通过以下http请求找到苏格兰海岸附近的Arran:

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

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

有关API的更多文档和示例,请访问developer.cloudmade.com/projects/show/geocoding-http-api如果您不想使用http api,那么抽象API可以使用多种语言 - ruby​​,python,perl和别的.


Aqu*_*irl 6

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

  • 这并没有真正回答作者的问题。他想要一种查询 OpenStreetMap 的方法,而不是显示地图。正如其网站上所引用的,Leaflet 是“一个用于移动设备友好的交互式地图的开源 JavaScript 库”。 (4认同)

Yng*_*dal 2

我发现了一个很棒的 AP​​I 来读取 Openstreetmap 数据;地图脚本。这是 MapServer 的接口,它能够读取 *.map 和 *.shp 文件。它能够使用空间索引,因此可能非常快。我在 40 毫秒内完成了世界海岸线形状文件的随机多边形查找(检查多边形是否与陆地相交)。