2015-05-05 47 views
3

這應該是簡單的,但是當我看到它我只是覺得網絡包。我需要比面向This Blog更好的東西。也許使用.oms文件或shapefile。有些方法可以給bbox並獲得Basemap地圖上的OpenStreetMap背景。如何使用OpenStreetMap的背景上Matplotlib底圖

我在Stack上發現了類似這樣的問題,但答案指向或下載OpenStreetMap網站上的.png文件,或者使用某些網絡軟件包。

回答

3

您可以從tile servers之一自行下載所需的瓷磚。 OSM wiki解釋了slippy map tilenames背後的技術細節,還包括各種編程和腳本語言的示例。

請仔細閱讀有關tile usage policy並記住不同的瓷磚可以發球有不同的政策。

+0

那麼,有沒有簡單的方法來做到這一點? –

+1

如果你想堅持matplotlib底圖,這是不容易的,但幸運的是有替代品,如mplleflet。 –

6

我建議不要嘗試,使一些工作,這是沒有作出(還)一起工作。 有一個簡單的方法可以用Mplleaflet實現你想要的。 https://github.com/jwass/mplleaflet 該庫允許您在美觀的交互式openstreetmap上可視化地理數據。自動執行長拉格式數據的地圖投影。

安裝在Windows和Ubuntu很簡單:

pip install mplleaflet 

您可以提供的例子開始,並從那裏走。

+0

太棒了!但不完全是我想要的。我想在matplotlib上繪製它。 –

+1

我強烈建議不要使用底圖,它不靈活,速度很慢,但也許你可以更多地解釋你的目標是什麼,然後你可以得到更好的建議。順便說一句,我剛剛發現了另一個非常相似模塊mplleaflet,嘗試另外,如果smopy適合您的需求,https://github.com/rossant/smopy –

+0

@PhilippSchwarz:第二後用smopy解決方案很可能會幫助一些人 –