在交互式地图上叠加形状文件或栅格
Overlaying shapefiles or raster over interactive maps
我正在使用 R,我想在允许平移和缩放的交互式地图上叠加一些栅格数据(例如来自模型的温度图)。理想情况下,我想覆盖 Google 地图或 OpenStreetMaps。输入数据可以是 shapefile、KML、raster
数据或任何方便的数据。
我知道我可以使用 googleVis
、ggmap
或 RgoogleMaps
以非交互方式轻松完成此操作。但是我不想用tiles,我想要interaction!直接从浏览器进行缩放、平移等操作。
googleVis
,据我所知,不幸的是只允许交互显示点或地址,而不是区域。
This question 非常相似,但我绝对想尝试使用 R 来执行此操作。我可以从 R 创建 KML 或 geoJSON,但如何直接从 R 覆盖它?
OpenStreetMaps 也很好,但是我没有找到任何关于如何从 R 覆盖数据的参考,尽管 OSM 似乎有 a pretty straightforward API.
您可能对 leaflet
包感兴趣。您可以轻松添加一个 raster
对象。来自 documentation
Two-dimensional RasterLayer objects (from the raster package) can be
turned into images and added to Leaflet maps using the addRasterImage
function.
这里还有一个例子来自 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")
mapview 软件包就是为此特定目的而开发的。它还带有各种背景地图层。有关 mapview 功能的简短介绍,请随时浏览 package vignette。例如,这里有一些代码显示了瑞士法兰克尼亚选定啤酒厂的位置,这些啤酒厂被示例 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]]
我正在使用 R,我想在允许平移和缩放的交互式地图上叠加一些栅格数据(例如来自模型的温度图)。理想情况下,我想覆盖 Google 地图或 OpenStreetMaps。输入数据可以是 shapefile、KML、raster
数据或任何方便的数据。
我知道我可以使用
googleVis
、ggmap
或RgoogleMaps
以非交互方式轻松完成此操作。但是我不想用tiles,我想要interaction!直接从浏览器进行缩放、平移等操作。googleVis
,据我所知,不幸的是只允许交互显示点或地址,而不是区域。This question 非常相似,但我绝对想尝试使用 R 来执行此操作。我可以从 R 创建 KML 或 geoJSON,但如何直接从 R 覆盖它?
OpenStreetMaps 也很好,但是我没有找到任何关于如何从 R 覆盖数据的参考,尽管 OSM 似乎有 a pretty straightforward API.
您可能对 leaflet
包感兴趣。您可以轻松添加一个 raster
对象。来自 documentation
Two-dimensional RasterLayer objects (from the raster package) can be turned into images and added to Leaflet maps using the addRasterImage function.
这里还有一个例子来自 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")
mapview 软件包就是为此特定目的而开发的。它还带有各种背景地图层。有关 mapview 功能的简短介绍,请随时浏览 package vignette。例如,这里有一些代码显示了瑞士法兰克尼亚选定啤酒厂的位置,这些啤酒厂被示例 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]]