1

大家早上好,我将尝试在这里解释整个情况:我有一个网站(django-python),它使用 Openlayers 显示地图。该地图有两层:显示城市名称和街道的背景,为此我使用openstreetmaps;第二层包含一些地理信息,为此我使用 MapServer(更具体地说,我将 bbox 参数和其他内容发送到我的服务器并通过 mapscript for python 生成地图)。

现在我想在我的网站上有一个“导出”按钮,它必须创建一个包含地图图像的 .zip 文件(在 .zip 中包含的图表和文件中),所以我必须能够生成相同的地图在 openlayers 中显示并将其保存到文件中或直接保存到 .zip 中。

我的第一个猜测是我可以从openlayers获取坐标(BBOX),将这些坐标发送到python并通过url和python可以调用两个服务器(mapserver和openmapstreets),将图像保存在.zip文件中......但是生活不是那么容易吗?好吧,它适用于地图服务器层,网址类似于:

http://myserver/mapscript/?LAYERS=selection&FORMAT=png&BBOX=466501.93337405,6631240.3024181,750661.93337405,6853960.3024181&WIDTH=555&HEIGHT=435

但是当我尝试用相同的坐标调用openstreetmaps时,它给了我一个错误:

http://openstreetmapserver/?LAYERS=osm_l93&FORMAT=png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A2154&BBOX=466501.93337405,6631240.3024181,750661.93337405,6853960.3024181&WIDTH=256&HEIGHT=256

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 

如果你有任何想法如何进行,我会很棒!!!!

4

1 回答 1

1

也许这个例子可以是你所需要的: OpenLayers Export Map Example

于 2010-08-02T22:03:12.413 回答