我有一个带有美国县的shapefile,我用readOGR()
读入r。我需要将3,000个美国县合并为更大的区域,例如929个基于核心的统计区域(the NBER提供了从县FIPS到它的人行横道)。在图形设计中,这将是形状的结合。我可以在R
内以编程方式执行此操作,而无需使用地理信息系统吗?
答案 0 :(得分:1)
使用rmapshaper
中的函数ms_dissolve()
。例如,要将县的形状统一为州:
library(rmapshaper)
# Download the shapefile for US counties from here and save in some/dir
# www2.census.gov/geo/tiger/GENZ2010/gz_2010_us_050_00_5m.zip
counties <- readOGR(dsn="some/dir",layer="gz_2010_us_050_00_5m")
# Drop Alaska, hawaii, Puerto Rico
counties <- counties[!(counties$STATE %in% c("02","15","72")), ]
# Plot counties
plot(counties)
# Unite shapes
library(rmapshaper)
states <- ms_dissolve(counties, field = "STATE")
plot(states)
答案 1 :(得分:0)
您可能正在寻找sf软件包中的st_union函数。 sf(“简单功能”)使您比使用QGIS或ArcGis更加轻松地处理空间数据。