我試圖計算從柵格的幾個像素到R中某些多邊形的邊界的距離,如圖中所示。我有兩個問題:獲取SpatialPolygon和柵格像素的邊界之間的距離
如何從
SpatialPolygon
對象正確定義邊界。我目前有兩個選擇,但我不能決定哪個是最好的。首先,我可以強制SpatialPolygon
as
一個對象,然後到SpatialPoints。其次,我可以raster::rasterize
SpatialPolygon
。我想每個選項都有其優點和缺點。我只想從邊界的一邊進行距離計算。在這個例子中,我只想要從哥倫比亞的像素到兩國邊界的距離。我嘗試使用緯度參數「過濾」邊界,但實際邊界非常不規則,因此使用嚴格的截止值可能會導致錯誤。
以下代碼可被用來獲得一個例子SpatialPolygonsDataFrame
:
#Get the world map and select two countries [Colombia and Venezuela]
library(maptools) #To get the polygon data
data(wrld_simpl)
colven <- c("Colombia", "Venezuela")
colven_map <- wrld_simpl[wrld_simpl$NAME %in% colven, ]
柵格數據可以與該代碼創建:
library(raster)
raster <- raster(colven_map, nrow=100, ncol=100)
raster[] <- 1:length(raster)
raster_colven <- mask(raster, colven_map)
由於在提前
您的圖像沒有顯示。 –
請問一個好的R問題:創建一個自包含的可重複的示例並顯示一些代碼 – RobertH
我修改了問題並添加了一些代碼片段以獲取SpatialPolygon數據和柵格。感謝您的推薦Robert。 –