我已经在这方面努力了一段时间并取得了一些成功,但是当涉及到重写文件时,我却没有成功。
我正在使用一个多边形状的地图文件,其中包含都市区和小都市区,但我只对都市区感兴趣,所以我正在使用R语言来尝试从我的地图中消除小都市区。
要下载正确的文件,请确保在“都市/小都市统计区(2010)”下选择“所有州的一个国家文件”。
以下是我目前的进展:
library(maptools)
met=readShapeSpatial("tl_2010_us_cbsa10.shp")
met=met@data
在子集之前:
NAMELSAD10 LSAD10
Anchorage, AK Metro Area - M1
Clarksdale, MS Micro Area - M2
Richmond, VA Metro Area - M1
Big Spring, TX Micro Area - M2
Dallas-Fort Worth-Arlington, TX Metro Area - M1
Rio Grande City-Roma, TX Micro Area - M2
然后:
submet=subset(met, LSAD10 == "M1")
子集后:
NAMELSAD10 LSAD10
Anchorage, AK Metro Area - M1
Richmond, VA Metro Area - M1
Dallas-Fort Worth-Arlington, TX Metro Area - M1
Vineland-Millville-Bridgeton, NJ Metro Area - M1
Casper, WY Metro Area - M1
Cheyenne, WY Metro Area - M1
那么:
writeSpatialShape(submet, "tl_2010_us_ma10", factor2char = TRUE)
使用这段代码,我已成功地消除了被指定为“M1”的小都市地区,但当我尝试重写文件时,它不会出现在我的工作目录中。
我还尝试使用“shapefiles”包来完成此操作,但是效果更差。因此,在这个问题上任何帮助将不胜感激。