首页 > 解决方案 > 在 R 中创建邮政编码地图?

问题描述

我想为达拉斯创建一个邮政编码地图。我有这个 shapefile,其中应该包含所有邮政编码(街道文件)

我一直用这个作为资源

下面是我想要创建的示例,并为我当时正在讨论的某些区域为邮政编码地图着色

在此处输入图像描述

标签: rmappingchoroplethzipcode

解决方案


这些数据并不适合制作与您链接的内容完全相同的东西,但您仍然可以接近。

解压下载的数据后:

library(tidyverse)
library(sf)

dallas_streets <- sf_read('unzipped_folder/')
ggplot(sample_frac(dallas_streets, .05)) +  #large file, 5% used for example
  geom_sf(aes(color = POSTAL_R)) + 
  theme(legend.position = 'none')

应该把你带到这里: 在此处输入图像描述

调色板需要调整,可以添加标签,并且几何图形连接(或联合)以更接近。

如果您真的在寻找达拉斯的邮政编码地图,您应该尝试找到用于此目的的 shapefile。
再靠近一点:

dallas_streets %>% 
  sample_frac(.3) %>% 
  group_by(POSTAL_L) %>% 
  summarize(geometry = st_convex_hull(st_union(geometry))) %>% 
  ggplot() +
   geom_sf(aes(fill = as.numeric(POSTAL_L))) + 
   geom_sf_text(aes(label = POSTAL_L)) + 
   scale_fill_viridis_c(option = "C")

group_by,然后汇总基于联合凸包的新几何图形,只有 30% 的数据接近实际邮政编码边界。

在此处输入图像描述


推荐阅读