2015-12-02 62 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