r - 从状态组创建区域经纬度数据框
问题描述
我一直在使用urbnmapr
我所有的地图制作,它包含用于绘制美国各州的漂亮边界。我现在需要几个州的外边界来制作区域地图,并且正在寻找一种方法来过滤数据框以仅包含外边界。
我将使用这个外边框来遮盖光栅图像。我正在工作的地区是
filter(urbnmapr::states, state_name %in% c("South Dakota", "Nebraska", "Iowa", "Minnesota",
"Missouri", "Michigan", "Indiana", "Illinois",
"Wisconsin", "Kansas", "Ohio", "North Dakota"))
接受任何能给我一个对象的想法,我可以用它来掩盖这个区域的光栅。
解决方案
使用urbnmapr
和sf
。
st_union()
仅在您想要的状态的 sf 对象上使用将为您提供外部边界。
我认为sf
对象可以用来掩盖/裁剪光栅对象。
library(urbnmapr)
library(tidyverse)
library(sf)
#> Linking to GEOS 3.8.0, GDAL 3.0.4, PROJ 6.3.1
states_all <- get_urbn_map(map = 'states', sf = TRUE)
my_states_vec <- c("South Dakota", "Nebraska", "Iowa", "Minnesota",
"Missouri", "Michigan", "Indiana", "Illinois",
"Wisconsin", "Kansas", "Ohio", "North Dakota")
my_states <- states_all %>%
filter(state_name %in% my_states_vec) %>%
st_union()
head(my_states)
#> Geometry set for 1 feature
#> geometry type: MULTIPOLYGON
#> dimension: XY
#> bbox: xmin: -340177.8 ymin: -950695.4 xmax: 1627432 ymax: 498098.3
#> projected CRS: US National Atlas Equal Area
#> MULTIPOLYGON (((1422979 -227154.2, 1423979 -225...
ggplot(my_states) +
geom_sf(fill = NA)
由reprex 包于 2020-12-10 创建(v0.3.0)
推荐阅读
- apache-sentry - Sentry 是否控制使用 HDFS 协议的客户端对 HDFS 文件的访问?
- neural-network - AWD-LSTM 中的辍学
- windows - 目标创建中的 CMake 错误
- java - com.google.android.apps.gsa.shared.exception.GsaIOException:错误代码:393238 | 缓冲区溢出,没有可用空间
- sql-server - 编写查询脚本以根据关系连接数据库中的所有表
- database - 怎么上去之前用 Redis-Cli 写的命令?
- api - 如何知道哪个用户进行了哪笔 USDT 交易?
- html - 创建 Pinterest 布局 CSS flex
- google-cloud-platform - terraform GCP http(s) 负载均衡器
- javascript - 快速写入 TXT 文件的方法?