Raleigh Civic Data
用于访问 Raleigh 市公共民生数据和服务的只读 CLI。它会从实时 ArcGIS Hub 目录发现数据集、查询 ArcGIS 图层、导出影像、对地址进行地理编码和反向地理编码、读取 GoRaleigh GTFS 和 GTFS-Realtime 数据源、搜索访客可访问的 Permit and Development Portal、列出公开的 RaleighNC.gov 内容,以及提取公开的 eSCRIBE 会议资料。
所有操作均为只读,并使用固定的端点契约。除明确标注的 RFD 报告查询外,均要求使用 HTTPS;RFD 报告查询的上游网站仅支持普通 HTTP。未实现 API 密钥、登录、付费或提交流程。
快速开始
# List live datasets
scripts/raleigh catalog
# Search the catalog
scripts/raleigh search "food inspection"
# Show a dataset's live metadata
scripts/raleigh info "Raleigh Dog Parks"
# Query records
scripts/raleigh query "Food Inspections" --where "SCORE < 70" --limit 20
# Export to CSV
scripts/raleigh download "Raleigh Dog Parks" -f csv -o dog_parks.csv
命令
数据集发现
| 命令 | 用途 | 示例 |
|---|
catalog | 列出实时 Hub 数据集 | scripts/raleigh catalog --json |
search | 搜索目录元数据 | scripts/raleigh search "building permit" --limit 10 |
info | 按标题或 ID 显示数据集信息 | scripts/raleigh info "Raleigh Dog Parks" --json |
query | 使用筛选条件查询记录 | scripts/raleigh query "Food Inspections" --where "SCORE<70" --limit 20 |
download | 导出为 CSV、GeoJSON 或 JSON | scripts/raleigh download "Parcels" -f geojson -o parcels.geojson |
categories | 列出目录中的类别 | scripts/raleigh categories |
catalog-check | 验证缓存的端点 | scripts/raleigh catalog-check --sample 10 |
影像
| 命令 | 用途 | 示例 |
|---|
imagery catalog | 列出 ImageServer 服务 | scripts/raleigh imagery catalog --json |
imagery info | 显示服务元数据 | scripts/raleigh imagery info Orthos2025 |
imagery export | 导出指定范围的影像 | scripts/raleigh imagery export Orthos2025 --bbox=-78.7,35.7,-78.6,35.8 --size 400,400 -o ortho.jpg |
imagery identify | 识别指定点的像素值 | scripts/raleigh imagery identify Orthos2025 --point=-78.65,35.75 |
imagery statistics | 计算范围统计数据 | scripts/raleigh imagery statistics Orthos2025 --bbox=-78.7,35.7,-78.6,35.8 |
imagery catalog 仅列出可公开读取的服务。需要令牌才能列出内容的文件夹(目前为 Imagery 和 Utilities)会被跳过,并报告为受限,而不会导致命令失败;每日实时 canary 也会以相同方式跟踪这些文件夹。
地理编码
| 命令 | 用途 | 示例 |
|---|
geocode | 正向地理编码 | scripts/raleigh geocode "222 W Hargett St" |
reverse-geocode | 反向地理编码 | scripts/raleigh reverse-geocode --lat 35.78 --lon -78.64 |
suggest | 地址自动补全 | scripts/raleigh suggest "222 W Har" |
geocode-batch | 批量地理编码 CSV | scripts/raleigh geocode-batch addresses.csv --address-field address -o out.csv |
批量输出会保留所有原始 CSV 列,并添加 input_id、match_address、score、lat、lon 和 status。如果输入中已使用其中某个名称,新增的结果列会添加 geocode_ 前缀。
公共交通
| 命令 | 用途 | 示例 |
|---|
transit routes | 列出线路 | scripts/raleigh transit routes --json |
transit stops | 列出站点 | scripts/raleigh transit stops --near 35.78,-78.64 --limit 10 |
transit schedule | 查询线路时刻表 | scripts/raleigh transit schedule --route 1 --date 20260723 |
transit arrivals | 查询站点到站信息 | scripts/raleigh transit arrivals --stop S1 |
transit vehicles | 查询实时车辆位置 | scripts/raleigh transit vehicles --json |
transit alerts | 服务提醒 | scripts/raleigh transit alerts |
transit trip-updates | 实时行程更新 | scripts/raleigh transit trip-updates --json |
transit download-gtfs | 保存静态数据源 | scripts/raleigh transit download-gtfs |
开发记录
| 命令 | 用途 | 示例 |
|---|
development search | 搜索公开记录 | scripts/raleigh development search permits --query "2024-001" |
development search project | 搜索公开项目 | scripts/raleigh development search project --query "downtown" |
development permit | 许可详情 | scripts/raleigh development permit BP-2024-001 |
development inspections | 记录的检查信息 | scripts/raleigh development inspections --record BP-2024-001 |
development code-cases | 规范案件 | scripts/raleigh development code-cases --query "nuisance" |
development licenses | 许可证 | scripts/raleigh development licenses --query "coffee" |
市政内容
| 命令 | 用途 | 示例 |
|---|
news | RaleighNC.gov 新闻 | scripts/raleigh news --limit 10 |
events | 活动 | scripts/raleigh events --from 2026-07-01 --to 2026-07-31 |
projects | 项目 | scripts/raleigh projects --search "park" |
places | 地点 | scripts/raleigh places --search "library" |
services | 服务 | scripts/raleigh services --search "trash" |
directory | 名录条目 | scripts/raleigh directory --search "parks" |
alerts | 公共警报 | scripts/raleigh alerts |
rss | RSS 订阅源 | scripts/raleigh rss --limit 10 |
警方案件
| 命令 | 用途 | 示例 |
|---|
police incidents | 查询 NIBRS 案件(2014 年 6 月至今) | scripts/raleigh police incidents --since 7d --category burglary |
police recent | 查询 CrimeMapper 过去 90 天的信息流 | scripts/raleigh police recent --days 30 --district Downtown |
police previous-day | 查询前一天的案件 | scripts/raleigh police previous-day --json |
police history | 查询历史案件(SRS 或 NIBRS) | scripts/raleigh police history --reporting-system srs --since 30d |
police stats | 官方已发布统计数据的可用情况及文档链接 | scripts/raleigh police stats --year 2025 |
police reports | 官方年度和季度报告链接 | scripts/raleigh police reports --year 2025 --quarter 4 |
火灾事件
| 命令 | 用途 | 示例 |
|---|
fire incidents | 查询 RFD 事件(2007 年至今的完整历史记录或过去一个月的记录) | scripts/raleigh fire incidents --since 30d --group Fire |
fire response-times | 计算带标签的响应时长 | scripts/raleigh fire response-times --since 1y --group Fire |
fire protection | 查询 Wake County MAR 消防保护邻近情况 | scripts/raleigh fire protection --address "222 W Hargett St" |
fire stats | 官方已发布事件总数和自动喷水灭火系统挽救统计数据 | scripts/raleigh fire stats --year 2026 |
fire reports | 已发布的汇总报告链接或精确事件报告查询 | scripts/raleigh fire reports --year 2025 --quarter 1 |
fire reports --date | 精确的 ArcGIS 事件报告摘要,可选用受限的 RFD 备用查询 | scripts/raleigh fire reports --date 2026-07-24 |
fire inspections | 通过不稳定的 RFD HTML 查询企业/地址检查信息 | scripts/raleigh fire inspections --business "Example" --acknowledge-insecure-rfd |
活跃事件(RWECC)
| 命令 | 用途 | 示例 |
|---|
incidents active | RWECC 提供的当前活跃公共事件 | scripts/raleigh incidents active --agency raleigh-fire |
incidents active --json | 输出包含来源元数据的 JSON | scripts/raleigh incidents active --agency raleigh-police --json |
公开会议
| 命令 | 用途 | 示例 |
|---|
meetings upcoming | 即将举行的会议 | scripts/raleigh meetings upcoming --json |
meetings list | 按机构/年份筛选 | scripts/raleigh meetings list --body "City Council" --year 2026 |
meetings search | 搜索会议 | scripts/raleigh meetings search "budget" |
meetings show | 会议详情 | scripts/raleigh meetings show 37126a80-175a-4b38-974d-a7006bc7db85 |
meetings download-agenda | 下载议程 | scripts/raleigh meetings download-agenda 37126a80-175a-4b38-974d-a7006bc7db85 -o agenda.pdf |
meetings download-minutes | 下载会议记录 | scripts/raleigh meetings download-minutes 37126a80-175a-4b38-974d-a7006bc7db85 -o minutes.pdf |
输出标志
| 标志 | 效果 |
|---|
--json | JSON 输出 |
--refresh | 绕过目录缓存 |
--cache-dir DIR | 使用自定义缓存目录 |
--timeout SECONDS | HTTP 超时(默认 30 秒) |
参考资料
| 参考资料 | 适用场景 | 文件 |
|---|
| API 契约和端点 | 构建自定义查询 | references/api-reference.md |
| 影像和 ImageServer 详情 | 使用航空摄影或栅格服务 | references/imagery-reference.md |
| GTFS 和 GTFS-Realtime | 公共交通命令 | references/transit-reference.md |
| 访客开发门户 | 许可和开发记录 | references/development-reference.md |
| 市政内容 | JSON:API 和 RSS | references/civic-content-reference.md |
| 公开会议 | eSCRIBE 提取 | references/meetings-reference.md |
| 警情 | RPD 数据源、字段架构和隐私注意事项 | references/police-reference.md |
| 火情 | RFD 数据源、2026 年架构迁移、持续时间和隐私注意事项 | references/fire-reference.md |
| 火灾报告和检查 | 优先使用 ArcGIS 的契约、RFD 表单、不安全传输和排除项 | references/fire-reports-reference.md |
| 已发布的警务和消防统计数据 | 官方页面契约、报告索引、结构化总数和隐私边界 | references/public-safety-statistics-reference.md |
| 活跃事件(RWECC) | 未记录的 Feed 契约、架构保护机制和禁用开关 | references/incidents-reference.md |
注意事项
- 实时目录:目录会在运行时从 Hub 获取。重复使用时,请通过
--cache-dir 缓存。
- ImageServer:切勿在 ImageServer 根路径后追加
/0。请使用专用的 imagery 命令。
- MapServer 表:某些图层是表格(
type: Table)。对于非空间图层,CLI 会自动省略几何信息。
- WHERE 子句:字符串必须用单引号括起来:
NAME='Millbrook-Exchange'。
- ArcGIS 日期:返回值为 Unix 毫秒时间戳;除以 1000 即可转换为标准时间戳。
- 访客开发者门户:使用未公开文档的公共应用 API。此适配器相互独立,可能会因上游 UI 变更而发生变化;设置
RALEIGH_DISABLE_DEVELOPMENT=1 可单独禁用它。
- 市政关系:公共内容命令接受
--relationship FIELD=ID;文本、日期和关系匹配会在有限分页后由客户端执行。
- eSCRIBE:基于 HTML 提取,兼容性承诺弱于结构化 API。
- 警方事件:位置信息精确到街区,可能经过随机化或删减。空坐标会被隐藏,而不会作为点呈现。这些数据不包含逮捕、定罪或处置结果。CrimeMapper 的 90 天数据源不在精选 Hub 目录中,而是通过项目 ID 解析。
- 火灾事件:对于 2026-01-01 之后的记录,RFD 弃用了
incident_type/incident_type_description,改用 incident_group_name、incident_subgroup_code 和 incident_type_name。fire 命令会将两个时期的数据规范化为稳定的 _ 键,不会捏造跨时期映射,并会在 JSON 中保留原始字段。RFD 会出于 EMS/隐私原因排除事件类型 300–399 和 661。对于大多数 2021 年初之后的记录,完整历史数据中的 station 字段未填充;过去一个月的数据源提供 station_name。
- 火灾报告和检查:报告摘要会优先使用结构化的 ArcGIS 过去一个月图层。RFD 回退、事件描述和检查搜索会通过未加密的 HTTP 传输,因此每次调用都必须提供
--acknowledge-insecure-rfd。日期回退还需要 --allow-rfd-fallback,且仅当 ArcGIS 未返回记录时才会运行。空搜索结果、重定向、意外标记和架构变更都会导致操作安全失败。不会跟随或公开发票链接。
- 已发布的公共安全统计数据:
police stats/reports 和基于年份的 fire stats/reports 会在运行时读取 RaleighNC.gov 的官方发布索引。内联值会标记为 official_published_statistics;PDF 链接会原样返回,不会提取其内容。这些输出不会根据事件记录重新计算。RFD 医疗总数仅为汇总数据,绝不能与因隐私原因排除的事件记录联接,也不能用于推断这些记录。
- 消防保障:Wake County MAR Fire Protection 表是一个以 CSAID 为键的非空间表。地址输入通过 Raleigh 定位器和 Wake County MAR Addresses 图层组合而成;如果无法将地址解析为唯一 CSAID,请直接提供
--csaid。距离是数据源提供的道路网络距离;数据源未说明单位。这些数据不公开消防栓位置,只提供最近消防栓的距离。不得将其用于紧急响应。
- 活动事件(RWECC):使用未公开文档的公共应用端点(
incidents.rwecc.com/getdata)。此适配器相互独立,上游接口约定变更时可能会失效;设置 RALEIGH_DISABLE_INCIDENTS=1 可单独禁用它。这是经过筛选的活动数据源,并非所有 911 呼叫,也不是权威的紧急状态信息。空响应不能证明事件数为零。缓存有效期为 90 秒。
- URL 允许列表:只会访问固定的公共主机;不接受任意 URL。
- 公交实时数据:需要
google.protobuf>=6.31.1,<7。随项目提供的 GTFS-Realtime 绑定由 protoc 31.1 生成,不会取代运行时。
安全边界
- 仅限只读操作。不访问身份验证、写入、付款、提交或私人数据端点。
- 所有远程主机和路径均为固定值。通用客户端仅使用 HTTPS;独立的 RFD 适配器在获得明确确认后,仅允许访问四个已记录的纯 HTTP 只读接口。
- 使用
--refresh 刷新缓存,或在缓存过期时刷新。
- 通过
catalog-check 报告过时或不可用的端点。
何时不应使用
- 请勿将此技能用于私人、需身份验证或非公开的城市数据。它无法登录、支付费用、提交表单或访问内部系统。
- 请勿将其用于 Raleigh 以外的辖区。主机允许列表固定为 City of Raleigh 和 GoRaleigh 端点。
- 请勿依赖它执行写入操作、实时紧急调度或获取具有法律效力的记录。数据为只读,且可能经过缓存。
- 如果任务需要 GTFS-Realtime,但没有可用的兼容
protobuf 运行时,请勿使用此技能。请先安装 protobuf>=6.31.1,<7,或仅使用静态 GTFS 命令。
- 对于通用网页抓取、Raleigh 市政数据以外的研究,或交互式浏览器任务,请改用更合适的技能。