2016-05-03 151 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