2016-05-03 147 views
1

在我的data中,我有一個lat/long信號列表。R中的點和多邊形:獲取多邊形的名稱

我有一個形狀文件,我用readOGR()導入,我把它叫做polygons

隨着代碼

data$inside.polygons <- !is.na(over(data, as(polygons, "SpatialPolygons"))) 

我在data稱爲inside.polygons一個新的變量。它是描述信號是否在多邊形內(TRUE)或不(FALSE)的邏輯變量。

是否可以使用多邊形名稱的名稱添加新列?

我創建一個新表

polygons.table <- data.frame(polygons) 

,我在$ Polygon.name了每個多邊形的名字

> str(polygons.table) 
'data.frame': 233 obs. of 6 variables: 
$ Country : Factor w/ 9 levels "Denmark","Estonia",..: 9 9 9 9 9 9 9 4 9 9 ... 
$ Polygon.name: Factor w/ 237 levels "Aalborg","Aalborg Portland",..: 114 115 69 192 193 8 237 231 230 224 ... 
$ Shape_Leng: num 0.0339 0.0209 0.0399 0.1628 0.1343 ... 
$ Shape_Area: num 5.64e-05 2.26e-05 4.22e-05 5.25e-04 5.30e-04 ... 
$ LOCodes : Factor w/ 193 levels "DEBOF","DEFLF",..: NA NA 155 184 184 137 193 15 191 192 ... 
$ Links  : Factor w/ 26 levels "http://eng.port-bronka.ru/",..: NA NA NA NA NA NA NA NA NA NA ... 

我怎麼能添加Polygon.name到各信號多邊形內?

謝謝!

回答

1

用得到它:

inside.polygon2 <- over(data, polygons[,"Polygon.name"]) 

,然後我把它添加到我的數據

data$polygon.name <- inside.polygon2$Polygon.name