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

geopandas中sjoin_nearest的distance_col与max_distance单位是什么

geopandas.sjoin_nearest 距离参数单位说明

max_distance、distance_col两个参数对应的距离单位没有固定默认值,完全由传入的GeoDataFrame当前使用的坐标参考系(CRS)决定,并不默认是度。

不同CRS下的单位规则

  • 若使用地理坐标系(比如最常用的WGS84/EPSG:4326,以经纬度为坐标值),距离单位就是度。但要注意:这种场景下计算的是经纬度平面上的欧氏距离,不是地球表面的实际直线距离,高纬度区域误差会非常大,直接用度做距离阈值没有实际地理意义——赤道处1经度约对应111km地表距离,到南北极这个距离会缩减到0,同一阈值在不同纬度对应的实际范围差能达到几十上百倍。
  • 若提前将数据转换为匹配研究范围的投影坐标系(比如对应区域的UTM投影、国内常用的CGCS2000高斯-克吕格投影等),距离单位和投影坐标系的长度单位一致,绝大多数民用投影单位为米,少数英制区域投影单位为英尺。这种场景下计算的是平面实际直线距离,结果可以直接对应真实地表长度。

距离值的解读逻辑

该方法计算的是几何对象在当前CRS定义的平面上的二维欧氏距离,不会自动做椭球面/球面距离换算,也不会在运算中自动转换数据的CRS。

实际使用时建议先将两份待连接的GeoDataFrame统一转换为研究区域适配的、单位为米的等距投影,再调用sjoin_nearest:

  • 此时max_distance直接按你需要的实际米级距离传参即可
  • 最终写入distance_col字段的数值,就是匹配到的近邻对象之间的实际平面直线距离,单位为米

如果直接在经纬度地理坐标系下调用该方法,所有距离值都只是经纬度差值的欧氏计算结果,不能直接当作实际距离使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 11:57:22