2015-12-02 102 views
2

我正在使用R,我想通過允許平移和縮放的交互式地圖覆蓋一些柵格數據(例如模型中的溫度貼圖)。理想情況下,我想覆蓋Google地圖或OpenStreetMaps。輸入數據可以是形狀文件,KML,raster數據或任何派生的信息。在交互式地圖上覆蓋shapefile或柵格

  • 我知道我可以很容易地做到這一點非交互使用或者googleVisggmapRgoogleMaps。但我不想用瓷磚,我想互動!直接從瀏覽器縮放,平移等。

  • googleVis,據我所知,不幸的是只允許交互地顯示點或地址,而不是區域。

  • This question是非常相似,但我一定要嘗試使用R做到這一點。我可以從R創建KML或geoJSON,但是如何直接從R覆蓋它?

  • OpenStreetMaps也很好,但是我還沒有找到任何有關如何從R覆蓋數據的任何參考,儘管事實上OSM似乎有a pretty straightforward API

回答

2

leaflet包可能是你感興趣的。您可以輕鬆地添加一個raster對象。從documentation

二維RasterLayer對象(從光柵包)可以是 變成圖像和加到單張使用addRasterImage 功能圖譜。

而且這裏有一個例子也從documentation

library(leaflet) 
library(raster) 

r <- raster("nc/oisst-sst.nc") 
pal <- colorNumeric(c("#0C2C84", "#41B6C4", "#FFFFCC"), values(r), 
    na.color = "transparent") 

leaflet() %>% addTiles() %>% 
    addRasterImage(r, colors = pal, opacity = 0.8) %>% 
    addLegend(pal = pal, values = values(r), 
    title = "Surface temp") 
+1

這絕對是優秀的!謝謝。我真的不知道我是如何錯過這個精彩的套餐的。 – AF7

4

MapView的包已經爲這一特定目的被開發出來。它還配備了各種背景地圖圖層。有關mapview能夠的簡短介紹,請隨時瀏覽package vignette。例如,這裏有一些代碼顯示了Franconian瑞士選定啤酒廠的位置,並覆蓋了一個Landsat 8樣品場景(波段10)。檢出?breweries91?poppendorf以檢索有關以下使用的數據的信息,並且?mapview可以幫助您熟悉衆多的成本計算選項。

## require package 
# install.packages("mapview") 
library(mapview) 

## visualize breweries and add landsat 8 band 10 
mapview(breweries91) + 
    poppendorf[[10]] 

mapview_viewer

+0

這太棒了!不幸的是我已經使用'leaflet'實現了這個,但我真的很喜歡這個包。 R包的質量,數量和可用性永遠不會讓我印象深刻。包裝好了! – AF7