将R中的GIS区域(例如,县合并为基于核心的统计区域)

时间:2018-06-21 12:07:43

标签: r gis

我有一个带有美国县的shapefile,我用readOGR()读入r。我需要将3,000个美国县合并为更大的区域,例如929个基于核心的统计区域(the NBER提供了从县FIPS到它的人行横道)。在图形设计中,这将是形状的结合。我可以在R内以编程方式执行此操作,而无需使用地理信息系统吗?

2 个答案:

答案 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)

县地图: map of counties

各县联盟的州地图: Map of states from the union of counties

答案 1 :(得分:0)

您可能正在寻找sf软件包中的st_union函数。 sf(“简单功能”)使您比使用QGIS或ArcGis更加轻松地处理空间数据。