Создайте сетку внутри шейп-файла для кригинга на основе meuse.grid - PullRequest
0 голосов
/ 11 марта 2020

Я пытался выполнить это упражнение на кригинг и в итоге отправился в 6-часовое приключение в попытке создать файл сетки, такой как meuse.grid в ссылке. Я очень плохо знаком с R и геостатами в целом, поэтому я очень признателен за любую помощь. Мне удалось создать SpatialPolygonsDataFrame, используя шейп-файл, чтобы получить: this

cishape <- st_read("data/files/cishape.shp")
map <- as_Spatial(cishape)
plot(map)

Затем мне удалось получить это, которое, кажется, ближе к правильному, хотя форма теперь больше off:

grd <- makegrid(poly, n=10000); colnames(grd) <-c("x", "y"); 
grd_pts <- SpatialPoints(coords=grd, proj4string = CRS(proj4string(poly))); 
grd_pts_in <- grd_pts[poly,];
gdf <- as.data.frame(coordinates(grd_pts_in));
ggplot(gdf) + geom_point(aes(x=x, y=y))

Хотя я не могу выполнить эту работу после упражнения на кригинг. Когда я добираюсь до бита, где: grd <- as(grd, "SpatialPixelsDataFrame

plot(grd), я получаю ошибку: Error in .subset2(x, i, exact = exact) : subscript out of bounds. Я прочитал, что это потому, что мой spdf на самом деле не имеет данных и должен вместо этого использовать SpatialPixels, но затем я получаю ошибку Error in matrix(FALSE, ncells[2], ncells[1]) : invalid 'nrow' value (too large or NA). Тогда я попробовал SpatialPoints вместо этого и получил этот кусок.

Пожалуйста, помогите, я не знаю, что я делаю неправильно, и я чувствую, что теряю здравомыслие.

...