跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

geopandas · 用 GeoPandas 分析地图上的数据

处理矢量地理数据的坐标系、空间关联和统计结果,适合门店覆盖与区域数据分析。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

本地 stores.geojson 与 districts.geojson;片区字段 district;边界点按 intersects 关联并检查重复。

输出

编辑示例 · 未运行

import geopandas as gpd
points = gpd.read_file("stores.geojson")
areas = gpd.read_file("districts.geojson")
assert points.crs and areas.crs
points = points.to_crs(areas.crs)
joined = gpd.sjoin(points, areas[["district", "geometry"]], how="left", predicate="intersects")
counts = joined.groupby("district").size()

边界点可能匹配多个片区,先审查重复,再确定归属规则。

方法说明

处理矢量地理数据的坐标系、空间关联和统计结果,适合门店覆盖与区域数据分析。

具体任务

汇总区域内设施:用空间关联判断点属于哪个区域,再输出聚合统计。

检查坐标与几何:在缓冲、距离和面积计算前确认投影及无效几何。

必需材料

矢量文件与坐标参考系

分析对象和空间规则

可选材料

字段说明

精度和导出要求

使用门槛

具备 Python 数据处理基础,知道输入坐标单位及区域边界。

这个 Skill 额外提供的方法

把“地图上看着很近”转成明确的坐标、边界和空间谓词。

编辑示例(未运行)

统计每个片区的门店数

任务:写出门店点与片区面的关联代码

输入:
本地 stores.geojson 与 districts.geojson;片区字段 district;边界点按 intersects 关联并检查重复。

结果片段:
```python
import geopandas as gpd
points = gpd.read_file("stores.geojson")
areas = gpd.read_file("districts.geojson")
assert points.crs and areas.crs
points = points.to_crs(areas.crs)
joined = gpd.sjoin(points, areas[["district", "geometry"]], how="left", predicate="intersects")
counts = joined.groupby("district").size()
```

边界点可能匹配多个片区,先审查重复,再确定归属规则。

以下为官方编辑构造的示例,未运行上游 Skill。示例代码未运行,突出坐标统一与边界重复问题,不伪造统计结果。

首次任务

任务:汇总区域内设施。
任务重点:用空间关联判断点属于哪个区域,再输出聚合统计。

必需材料:
- 矢量文件与坐标参考系:[填写或粘贴我的材料;未具备则说明]
- 分析对象和空间规则:[填写或粘贴我的材料;未具备则说明]

可选补充:
- 字段说明:[可填写,未提供不应假定存在]
- 精度和导出要求:[可填写,未提供不应假定存在]

请交付适配现有环境的代码或配置、必要说明及验证办法。仅依据这些材料处理;缺少决定结果的信息时先说明缺口,不补造事实。未执行的检查、修改或外部操作明确标为未执行。

使用前提:具备 Python 数据处理基础,知道输入坐标单位及区域边界。
处理边界:精确位置及轨迹可能敏感,发布前应聚合或脱敏;经纬度不能直接按米计算平面距离

验收要求:
1. 两份数据有明确且兼容的坐标系。
2. 空间连接前后数量变化可解释。
3. 导出不泄漏不必要的精确位置。

验收方法

两份数据有明确且兼容的坐标系

空间连接前后数量变化可解释

导出不泄漏不必要的精确位置

依赖与准备

Python 3.10+、uv 与固定兼容的 GeoPandas 地理依赖;远程路径或地理编码服务须明确授权。

使用边界

精确位置及轨迹可能敏感,发布前应聚合或脱敏

经纬度不能直接按米计算平面距离

排错

距离数值异常:确认是否在经纬度坐标中使用了平面距离。

数量增加:检查边界点、多重面和重复几何造成的一对多匹配。

固定来源

https://github.com/K-Dense-AI/scientific-agent-skills/blob/065b734670d7d990627dbc06a05b5a99be33f1f1/skills/geopandas/SKILL.md