根据R中的NAME_1拆分shapefile多边形

时间:2013-12-01 04:03:32

标签: r polygon subset shapefile

如果多边形不能通过其属性进行子设置,我该如何根据有效属性将其拆分?

require(raster)
chnshp<-getData('GADM', country="China", level=1)
chnshp  #     nfeatures   : 32 
row.names(chnshp) #  
chnshp$NAME_1  #   
chnshp$NAME_1=='Hainan' # Only one row is True
row.names(chnshp[chnshp$NAME_1=='Hainan'])  #   32 rows
chnshp[chnshp$NAME_1=='Hainan']    #     nfeatures   : 32 
plot(chnshp[chnshp$NAME_1=='Hainan'])  #   the entire China plot?

问题:

如何根据列NAME_1拆分它?

确保chnshp[chnshp$NAME_1=='Hainan']返回海南地区。

1 个答案:

答案 0 :(得分:4)

使用“[”提取功能而不是“[[”。

plot(chnshp[chnshp$NAME_1=='Hainan', ])

将长度为32的逻辑向量发送到“[”而不是“[[”并且期望长度为一个参数更有意义。 (并且最好不要将这些称为'属性',因为这是一个在R中具有特殊含义的术语。

enter image description here