获取指定纬度 - 经度的OpenStreetMap图像

时间:2013-07-02 19:30:39

标签: web-services geospatial openstreetmap

我如何使用OpenStreetMap服务(在线服务器)以编程方式获取街道地图图像,作为可下载的图像文件,仅来自一个纬度 - 经度值和缩放系数?

我的应用程序有一组纬度 - 经度值,对于每一个我需要一个OpenStreetMap图表 - 一个图像,而不是一个网页 - 显示街道地图上带有图钉的位置。图像需要是单个SVG或PNG才能进一步离线处理。

我如何以编程方式构建一个URL(例如http://www.openstreetmap.org/http://www.opencyclemap.org/或类似服务),由纬度 - 经度值和缩放因子参数化,这将返回 我感兴趣的地图图片,包括指定位置的图钉?

2 个答案:

答案 0 :(得分:4)

为了获取特定的图块,您必须为URL提供缩放,x坐标和y坐标

这是OpenStreetMap的URL

http://[abc].tile.openstreetmap.org/zoom/x/y.png 

[abc]表示您使用a或b或c。这些是OpenStreetMap服务器上的三个不同子域。

这是我使用zoom 11,x = 510,y = 844

拉下的瓷砖

enter image description here

您必须将纬度和经度转换为(x,y)坐标。有关磁贴集的更完整说明和转换代码的链接,请参阅此answer

您可以从OpenStreetMap服务器检索的磁贴数量有限。请务必缓存您检索的图块。

答案 1 :(得分:0)

听起来您想通过WMS(网络地图服务)访问。您可以找到OSM WMS here的镜像列表。我不确定你的最终用途,但是这个wiki页面上有几个链接可以使用WMS的项目。我在之前的一些GIS项目中使用了GeoServer并且非常喜欢它(不知道这是否是你的用例)。