Я занимаюсь этим некоторое время и добился определенного успеха, однако, когда дело доходит до перезаписи файла, у меня ничего не получается.
Шейп-файл, с которым я работаю, представляет собой полигональный шейп-файл городских и микрополитических районов, но меня не интересуют микрополитические районы, поэтому я работаю с shp в 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», но когда я пытаюсь перезаписать файл, он не отображается в моем файле wd.
Я также пытался использовать пакет «shapefiles», чтобы сделать это, но имел еще меньший успех. Так что любая помощь в этом вопросе будет принята с благодарностью.