如何从OpenStreetMap服务器导出图像?
大家早上好,
我来给大家解释一下我的情况:我有一个网站(用django-python做的),它使用Openlayers显示地图。地图有两个层:一个是背景层,显示城市名称和街道,我用的是openstreetmaps;第二个层包含一些地理信息,我使用MapServer(更具体地说,我把bbox参数和其他信息发送到我的服务器,然后通过mapscript为python生成地图)。
现在我想在我的网站上添加一个“导出”按钮,这个按钮需要创建一个.zip文件,里面包含地图的图片(还有一些图表和文件),所以我需要能够生成和在openlayers上显示的相同的地图,并把它保存到一个文件里,或者直接放进.zip里。
我最开始的想法是,我可以从openlayers获取坐标(BBOX),把这些坐标发送给python,然后通过网址调用两个服务器(mapserver和openmapstreets),把图片保存到.zip文件里……但生活可没那么简单,对吧?
对于mapserver层,这个方法是有效的,网址大概是这样的:
但是当我尝试用相同的坐标调用openstreetmaps时,它却给我报错:
An error occurred: can't find resolution index for 1110.000000. Available resolutions are: [4096.0, 2048.0, 1024.0, 512.0, 256.0, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25]
所以现在……我不知道怎么调用OSM来生成我给的坐标的图片……我在openstreetmaps上找了一个导出的例子,我觉得他们可能使用了其他格式的坐标?
http://tile.openstreetmap.org/cgi-bin/export?bbox=-1.81,44.71,9.26,50.53&scale=3500000&format=png
如果你有任何想法该怎么做,那就太好了!!!!