如何从人口普查形状文件(邮政编码级别)中删除所有小岛?

2024-01-17

我已经下载了邮政编码级别的人口普查形状文件,cb_2017_us_zcta510_500k.shp (https://www.census.gov/geo/maps-data/data/cbf/cbf_zcta.html https://www.census.gov/geo/maps-data/data/cbf/cbf_zcta.html)

我还下载了映射文件,它允许我添加相应的STATE多变的 (https://www.census.gov/geo/maps-data/data/zcta_rel_download.html https://www.census.gov/geo/maps-data/data/zcta_rel_download.html)

我将两者合并,得到:

library(sf)
library(dplyr)

big_df 

Simple feature collection with 44434 features and 2 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: -176.6847 ymin: -14.37374 xmax: 145.8304 ymax: 71.34122
epsg (SRID):    4269
proj4string:    +proj=longlat +datum=NAD83 +no_defs
First 10 features:
   ZCTA5CE10 STATE                       geometry
1      35442     1 MULTIPOLYGON (((-88.25262 3...
2      35442     1 MULTIPOLYGON (((-88.25262 3...
3      35442     1 MULTIPOLYGON (((-88.25262 3...

现在,我尝试过滤所有小岛和阿拉斯加:

remove_list <-  c("02", "15", "72", "66", "78", "60", "69",
"64", "68", "70", "74", "81", "84", "86", "87", "89", "71", "76",
"95", "79")



big_df %>% filter(!STATE %in% map(remove_list, as.integer)) %>% 
  tm_shape(.) + tm_polygons('pt_count',palette = "Reds", 
                            style = "quantile", n = 10, 
                            title = "counts") 

但我还是得到了一些小岛。

我在这里缺少什么? 谢谢!


以下是获取美国大陆几何形状(国家轮廓)的方法:

library(raster)
library(sf)
library(dplyr)

us = getData('GADM', country='USA', level=0) %>%
  st_as_sf() %>%
  st_cast("POLYGON") %>%
  mutate(area = st_area(.)) %>%
  arrange(desc(area)) %>%
  slice(1) # mainland US should be the largest

然后您可以使用它来运行st_intersection(big_df, us)仅提取部分big_df within us。请注意,首先创建一个st_buffer or st_convex_hull around us以确保您的big_df不会在其边界的某个地方被剪裁。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从人口普查形状文件(邮政编码级别)中删除所有小岛? 的相关文章

  • 数据表中的 NA

    我有一个data table其中包含一些组 我对每个组进行操作 有些组返回数字 其他组返回NA 因为某些原因data table很难将所有东西重新组合在一起 这是一个错误还是我误解了 这是一个例子 dtb lt data table a 1
  • 如何在knitr中安装软件包?

    到目前为止 我一直在使用这段代码来加载 R 包并编写 R 文件 但我正在尝试使用knitr rm list ls all TRUE kpacks lt c ggplot2 install github devtools mapdata ne
  • dplyr 总结小计

    Excel 中数据透视表的一大优点是它们会自动提供小计 首先 我想知道 dplyr 中是否已经创建了任何可以实现此目的的东西 如果没有 实现它的最简单方法是什么 在下面的示例中 我按气缸和化油器的数量显示了平均排量 对于每组气缸 4 6 8
  • R:计算自上次出现某个值以来的累积总和和计数

    给定简化数据 set seed 13 user id rep 1 2 each 10 order id sample 1 20 replace FALSE cost round runif 20 1 5 75 1 category samp
  • 使用 fread 导入数据后所有列均作为字符

    我导入了一个 CSV 文件 包含文本列和数字列 x lt fread myfile csv header TRUE verbose T na strings c null null 但导入后 当我运行summary x 时 所有列都被视为字
  • R Shiny UI 子选项复选框?

    我有一个基本的 RShiny 应用程序 它有一个反应式复选框 它根据复选框中选择的数据 df 列 绘制时间序列数据 我当前的代码生成一个带有复选框输入的 UI 如下所示 Load R packages library shiny libra
  • 如何在 R 中创建循环来生成随机样本列表?

    我正在尝试创建一个循环来创建一系列包含随机样本的对象 如下所示 sample lt ceiling runif 9 min 0 max 20 这是圆形制服的示例 但它可以替换为普通 泊松或任何您想要的 因此 我构建了一个循环来自动生成各种生
  • data.table:从不存在的列到现有列的“get”失败,静默失败

    gt d lt data table x 1 5 gt d x 6 y get i 9 Error in get i 9 object i 9 not found gt d y 1 add a new column y gt d x 6 y
  • 如何使用 R 或 PowerShell 从文本文件中提取数据?

    我有一个包含如下数据的文本文件 This is just text Username SOMETHI C Text Account DFAG Finish time 1 JAN 2011 00 31 58 91 Process ID 202
  • R 在读取文件时添加额外的数字

    我一直在尝试读取一个包含日期字段和数字字段的文件 我的数据在 Excel 工作表中 如下所示 Date X 1 25 2008 0 0023456 12 23 2008 0 001987 当我在 R 中使用readxl read xlsx函
  • 递归累积函数

    我需要在 R 中编写一个累积求和函数 但我一直碰壁 该函数具有以下结构 a x1 a x2 a 2 x1 a x3 a 2 x2 a 3 x1 a x4 a 2 x3 a 3 x2 a 4 x1 等等 cumsum 似乎不适用于此类功能 有
  • 根据条件计算平均值

    下面是我的数据框 Row ID A B 1 0 0 2 0 0 3 0 0 4 0 1 5 0 1 6 0 1 7 62 75 0 8 100 0 9 100 0 10 100 1 11 100 1 12 100 1 13 100 1 14
  • 使用 ape 包在 R 中进行标签和色叶树状图(系统发育)

    继上一篇文章之后 r 中的标签和彩色叶树状图 https stackoverflow com questions 18802519 label and color leaf dendrogram in r 我有一个后续问题 我的问题与提到的
  • 如何导入 .tsv 文件

    我需要读取一个表 tsvR 中的文件 test lt read table file drug info tsv Error in scan file what nmax sep dec quote skip nlines na strin
  • 如何使用 ggplot2 绘制 NA 间隙

    在 R 的基本绘图中 如果数据系列 ggplot2 中存在 NA 则会绘制间隙 举个例子看看 df data frame x c 1 10 y c 1 10 df 5 7 NA plot df type l 但是 ggplot2 删除了缺失
  • 如何在 R 中绘制预测的子集?

    我有一个简单的 R 脚本来根据文件创建预测 自 2014 年以来就有数据记录 但我在尝试实现以下两个目标时遇到了困难 仅绘制预测信息的子集 从 11 2017 开始 以特定格式包含月份和年份 即 6 月 17 日 这是链接到dataset
  • Mac OS X 10.13 上的 RStudio 在尝试使用 fix() 时出现 X11 不可用错误

    我已经使用自制程序在我的计算机上安装了 XQuartz 然后重新启动了我的计算机 当我尝试在 RStudio 中使用 fix 命令时 出现以下错误 gt College read csv College csv header T na st
  • 双向条形图,两侧带有正标签ggplot2

    我尝试在 ggplot 中创建一个双向条形图 其中轴上方和下方的轴标签和数据标签均为正值 例如 如果您的数据是 myData lt data frame category c yes yes no no month c Jan Feb Ja
  • 如何在 R 树形图中省略标签?

    我一直在使用R 树形图包 http cran r project org web packages treemap treemap pdf我有一个 2 层深的树形图 我希望打印第二级标签 但不打印第一级标签 使用手册页中的示例 tmPlot
  • 如何在R中绘制仪表图表?

    如何在 R 中绘制以下图 Red 30 Yellow 40 Green 30 Needle at 52 所以这里有一个完整的ggplot解决方案 注意 从原始帖子中编辑 在仪表中断处添加数字指示器和标签 这似乎是OP在评论中所要求的 如果不

随机推荐