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

统计多边形内点数量并将结果写入(Geo)Dataframe的实现问题

实现方法

你可以先统计空间连接后每个面对应的点数量,再将统计结果关联回原始的面GeoDataFrame即可,完整代码如下:

# 空间连接后按OBJECTID分组统计点数量,生成统计结果表
point_count_df = df_poly.sjoin(dfp).groupby("OBJECTID", as_index=False).size().rename(columns={"size": "contained_point_num"})
# 左连接合并到原面数据,保留所有面要素
df_poly = df_poly.merge(point_count_df, on="OBJECTID", how="left")
# 无点的面计数默认是NaN,可按需填充为0
df_poly["contained_point_num"] = df_poly["contained_point_num"].fillna(0).astype(int)

说明

  • 分组统计时指定as_index=False可以避免OBJECTID转为索引,方便后续合并操作
  • 左连接可以保证所有原始面要素都被保留,不会过滤掉没有包含点的面
  • 最后一步填充NaN并转整数类型,可根据你的实际使用需求决定是否保留

内容的提问来源于stack exchange,提问作者four-eyes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:09:01