【发布时间】:2020-07-15 05:45:38
【问题描述】:
我想使用代表区域边界的 shapefile 来掩盖我的背景地图。为此,我使用 read_osm 将空间栅格读入 Rstudio
library(sp)
library(tmaptools)
HB_map <- spData::nz %>%
filter(Name=="Hawke's Bay") %>%
tmaptools::read_osm(type = "stamen-terrain")
然后我已经导入了我的 shapefile
libary(sf)
Regional_boundary <- sf::st_read("regional_boundary.shp")
sf::st_crs(Regional_boundary)= 2193
Regional_boundary_sf_poly <- sf::st_transform(Regional_boundary, 27200) %>%
sf::st_cast(to="POLYGON")
我有许多 GIS 数据集,因此我重新投影了我的栅格,使其与我的 GIS 数据处于同一投影中(我不确定这一点是否正确)
test_map <- projectRaster(HB_map, crs ="+init=epsg:27200")
然后我检查数据预测是否一致
crs(Regional_boundary_sf_poly)
[1] "+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,- 4.5993 +units=m +no_defs"
crs(test_map)
+init=epsg:27200 +proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +datum=nzgd49 +units=m +no_defs +ellps=intl +towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993
现在我敷面膜:
Library(raster)
test_map_mask <- raster::mask(test,Regional_boundary_sf_poly,inverse=FALSE,updatevalue=NA, updadateNA=FALSE)
并检查结果
tmap::qtm(test_map_mask)
除了地图颜色不再像原来的“雄蕊地形”,而是不同深浅的橙色“之外,这一切似乎都有效。如何调整设置以使地图看起来像原来的但带有蒙版?
感谢您的帮助。 亲切的问候, 西蒙
【问题讨论】: