2010-07-29 14 views
1

大家早上好, 我會盡量在這裏解釋一下整個情況:我有一個網站(django-python),它顯示了一個使用Openlayers的地圖。地圖有兩層:一個顯示城市名稱和街道的背景,以及我使用的openstreetmaps;第二層包含一些灰色信息,爲此我使用MapServer(更具體地說,我發送bbox參數和其他東西到我的服務器並通過maps for python生成地圖)。如何從openstreetmap服務器導出圖像?

現在我想要在我的網站上有一個「導出」按鈕,它必須創建一個包含地圖圖像(包含在.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

,但是當我試圖調用開放街道地圖具有相同的座標,它給了我一個錯誤:

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 

如果你有任何想法如何繼續我太好!!!!

回答

1

也許這個例子可以是你所需要的: OpenLayers Export Map Example

+1

謝謝,這一個有用的例子,雖然我不想現在使用HTML5分辯和我想一定是在服務器端...但我發現我的回答是在這個頁面http://www.openstreetmap.org/export/。現在我必須找到一種方法將兩個地圖合併成一個單一的圖像(在服務器端):我的地圖與來自數據庫的信息以及作爲背景的openstreet地圖 – pleasedontbelong 2010-08-04 07:27:00