【发布时间】:2019-05-30 07:08:49
【问题描述】:
GIS 人员,我需要剪辑/选择/剪切/子集(或仅显示)包括大陆、阿拉斯加和夏威夷在内的美国栅格的值。看到包含一些非常远的岛屿或领土的大地图令人困惑。因此,我一直在尝试选择/剪切栅格以仅包括美国大陆、阿拉斯加和夏威夷,然后进行可视化。我开发的代码如下:
library(rgdal)
library(raster)
state <- getData("GADM", country="USA", level=1)
projection(state) <- CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0")
nestates <- c("Alabama","Arizona", "Arkansas", "California", "Colorado", # Contiguous/Continental United States
"Connecticut", "Delaware", "Florida", "Georgia", "Idaho",
"Illinois", "Indiana", "Iowa", "Kansas", "Kentucky",
"Louisiana", "Maine", "Maryland", "Massachusetts",
"Michigan", "Minnesota", "Mississippi", "Missouri",
"Montana", "Nebraska", "Nevada", "New Hampshire", "New
Jersey", "New Mexico", "New York", "North Carolina",
"North Dakota", "Ohio", "Oklahoma", "Oregon",
"Pennsylvania", "Rhode Island","South Carolina",
"South Dakota", "Tennessee", "Texas", "Utah", "Vermont",
"Virginia", "Washington", "West Virginia", "Wisconsin",
"Wyoming",
"Alaska", "Hawaii") # I tried excluding Hawaii too
# I believe the issue is with insular territories
state.sub <- state[as.character(state@data$STATE_NAME) %in% nestates, ]
elevation <- raster("USA_1.tif")
elevation.sub <- crop(elevation, extent(state.sub))
elevation.sub <- mask(elevation.sub, state.sub) # Error in x@polygons[[i]] : subscript out of bounds
plot(elevation.sub)
plot(state.sub, add = TRUE)
可复现的example:
非常感谢任何帮助。
【问题讨论】:
标签: r raster r-raster sp rgdal