我想使用代表区域边界的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)
除了地图颜色不再看起来像原始的“雄蕊地形”,而是变为不同的橙色阴影之外,这一切似乎都起作用。如何调整设置以使地图看起来像原始的但带有蒙版? >
感谢您的帮助。亲切的问候,西蒙
我想使用代表区域边界的shapefile遮罩我的背景图。为此,我已使用read_osm库(sp)库(tmaptools)HB_map&...
由于dieghrnan的回答,我现在可以获得一些示例数据,下面的内容对我来说很好用