微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 tidycensus 计算从美国人口普查中提取的地理空间邮政编码多边形的面积

如何解决如何使用 tidycensus 计算从美国人口普查中提取的地理空间邮政编码多边形的面积

我想计算我所在州(北卡罗来纳州)的邮政编码的人口密度。我能够从美国人口普查中提取邮政编码人口和多边形,并使用以下代码绘制北卡罗来纳州的地图:

library(tidycensus)
geo <- get_acs(geography = 'zcta',# Get zip code-level data
               state = 'NC',# for NC
               year = 2019,# for 2019
               table = 'B01003',# from this US Census table
               geometry = TRUE) %>%       # and return the geospatial polygons for mapping
       dplyr::rename('population' = estimate,'zipcode' = NAME) %>%
       select(-moe) %>%
       arrange(zipcode) 

p <- tm_shape(geo) +
  tm_polygons('population')
p

这是按邮政编码映射人口。为了按邮政编码计算和映射人口密度,我需要每个邮政编码多边形的面积(以英里或平方千米为单位)。我正在努力寻找一种方法来 (a) 从美国人口普查站点获取这些数据,(b) 在其他地方找到它,或者 (c) 使用多边形几何来计算它。

任何建议将不胜感激。

解决方法

我能够为我的问题找到一个非常简单的答案。请注意,在 geo 数据框中的变量 geometry 中可以找到描述每个邮政编码的多边形。

首先,我们计算面积,默认情况下以 m^2 为单位返回。

library(sf)
geo$area.m2 <- st_area(geo$geometry)

其次,我们转换为英里 ^2 单位。

library(units)
geo$area.miles2 <- set_units(geo$area.m2,miles^2)
,

另一种方法是在 keep_geo_vars = TRUE 中设置 get_acs()。这将返回每个 ZCTA 多边形中陆地和水域的面积(以平方米为单位)。在计算人口密度时,您可能更喜欢只使用土地面积而不是每个 ZCTA 多边形的总面积。

陆地面积变量为ALAND10,水域面积为AWATER10

library(tidycensus)
get_acs(geography = 'zcta',state = 'NC',year = 2019,table = 'B01003',geometry = TRUE,keep_geo_vars = TRUE)

#> Getting data from the 2015-2019 5-year ACS
#> Simple feature collection with 808 features and 9 fields
#> geometry type:  MULTIPOLYGON
#> dimension:      XY
#> bbox:           xmin: -84.32187 ymin: 33.84232 xmax: -75.46062 ymax: 36.58812
#> geographic CRS: NAD83
#> First 10 features:
#>    ZCTA5CE10     AFFGEOID10 GEOID   ALAND10 AWATER10        NAME   variable
#> 1      28906 8600000US28906 28906 864608629 28813485 ZCTA5 28906 B01003_001
#> 2      28721 8600000US28721 28721 285413675    41953 ZCTA5 28721 B01003_001
#> 3      28365 8600000US28365 28365 498948199  2852124 ZCTA5 28365 B01003_001
#> 4      27317 8600000US27317 27317 139042432  9345547 ZCTA5 27317 B01003_001
#> 5      27562 8600000US27562 27562 139182043 11466187 ZCTA5 27562 B01003_001
#> 6      28748 8600000US28748 28748 218992045        0 ZCTA5 28748 B01003_001
#> 7      28025 8600000US28025 28025 282005597   384667 ZCTA5 28025 B01003_001
#> 8      28441 8600000US28441 28441 331231481   282711 ZCTA5 28441 B01003_001
#> 9      27893 8600000US27893 27893 285314738  3173744 ZCTA5 27893 B01003_001
#> 10     28101 8600000US28101 28101   2319755   131290 ZCTA5 28101 B01003_001
#>    estimate  moe                       geometry
#> 1     19701  736 MULTIPOLYGON (((-84.31137 3...
#> 2     10401  668 MULTIPOLYGON (((-82.93706 3...
#> 3     15533 1054 MULTIPOLYGON (((-78.29569 3...
#> 4     16169  875 MULTIPOLYGON (((-79.87638 3...
#> 5      2149  431 MULTIPOLYGON (((-78.99166 3...
#> 6     12606 1020 MULTIPOLYGON (((-82.88801 3...
#> 7     54425 1778 MULTIPOLYGON (((-80.62793 3...
#> 8      3396  588 MULTIPOLYGON (((-78.6127 34...
#> 9     39531 1258 MULTIPOLYGON (((-78.06593 3...
#> 10      970  245 MULTIPOLYGON (((-81.09122 3...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。