You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Tigris R包获取所有学区并绘制无空白地图?

解决方案

要通过Tigris包获取并显示所有类型的学区(unified、elementary、secondary),只需将三种类型的学区数据合并即可,无需依赖外部资源。以下是具体步骤和修正后的代码:

1. 修正语法错误

你提供的代码中第一行school_districts调用多了一个右括号,这会导致运行报错,需先修正该问题。

2. 获取并合并所有类型的学区数据

分别获取三种类型的学区Shapefile,再通过dplyr::bind_rows将它们合并为一个完整的sf对象:

library(tigris)
library(sf)
library(ggplot2)
library(dplyr)

# 分别获取三种类型的加州学区数据
ca_unified <- school_districts(cb = TRUE, state = "CA", type = "unified")
ca_elementary <- school_districts(cb = TRUE, state = "CA", type = "elementary")
ca_secondary <- school_districts(cb = TRUE, state = "CA", type = "secondary")

# 合并三个学区数据集
ca_all_districts <- bind_rows(ca_unified, ca_elementary, ca_secondary)

# 绘制完整的学区地图
ggplot(ca_all_districts) +
  geom_sf() +
  labs(title = "加利福尼亚州所有类型学区地图")

关键说明

  • Tigris的school_districts函数支持type参数传入"unified"、"elementary"、"secondary"三种类型,分别对应统一学区、小学学区和中学学区。
  • 合并后的数据会包含所有类型的学区边界,确保地图没有空白区域。
  • 如果合并时遇到字段不匹配的问题,可以先通过select()统一保留核心字段(比如GEOID、NAME、geometry)后再执行合并操作。

内容的提问来源于stack exchange,提问作者user3710004

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:05:14