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

如何查询或手动设置pointpats中QStatistic的网格单元格大小

关于pointpats中QStatistic网格参数的获取、设置及替代方案

你在使用pointpats做网格点模式分析时,可通过如下代码调用QStatistic.plot()实现结果可视化,该方法会同步展示事件计数网格与底层点分布:

qstat = QStatistic(coordinates)
qstat.plot()

对应可视化效果参考:
用于事件计数的网格

如何获取QStatistic当前使用的网格单元格大小

QStatistic实例初始化完成后,会自动将实际计算使用的单元格边长存在cell_size属性中,直接读取即可拿到数值:

from pointpats import QStatistic
qstat = QStatistic(coordinates)
# 读取实际使用的单元格大小,单位与输入坐标的单位完全一致
print(qstat.cell_size)

如果需要核对网格边界,还可以通过实例的xgrid、ygrid属性获取x、y方向所有网格线的坐标值,自行计算网格间隔验证结果。默认情况下单元格大小是基于输入点的分布范围、点数量,通过内置的统计规则自动计算生成。

是否支持手动设置QStatistic的单元格大小

支持,初始化QStatistic时传入cell_size参数即可手动指定单元格边长:

# 示例:手动设置单元格边长为100,单位与输入坐标单位保持一致
qstat = QStatistic(coordinates, cell_size=100)
qstat.plot()

如果不想直接指定固定边长,也可以传入nx、ny参数分别指定x、y方向的网格分段数量,程序会根据研究区的总范围自动计算对应的单元格大小。

注意:如果输入的coordinates是经纬度坐标,cell_size的单位是度,不要直接传入米为单位的数值,需要先将坐标转换为对应区域的平面投影坐标,再设置对应单位的单元格大小,避免结果偏差。

支持自定义网格的点模式分析替代方案

  • PySAL生态组合(libpysal+esda):和pointpats同属空间分析生态,兼容性极强。可以通过libpysal的权重工具生成任意分辨率、任意对齐规则的自定义网格,完成点到网格的计数映射后,可直接调用esda的接口开展全局/局部空间自相关、热点探测等各类统计分析,灵活度远高于直接调用QStatistic,适合需要定制分析流程的场景。
  • 通用地理空间分析栈(geopandas+rasterio):自由度最高的方案。可以通过geopandas自主生成任意大小、任意范围、任意对齐方式的矢量渔网网格,通过空间连接完成网格内点计数,后续可无缝对接pandas、matplotlib等Python数据科学工具完成统计、可视化全流程,适配各类自定义分析需求。
  • pointpats内置接口:如果不想额外引入依赖,pointpats中的Density类同样支持传入cell_size参数自定义网格大小,完成网格维度的点密度计算,可覆盖大部分基础网格点分析需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:09:26