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

如何通过H3六边形ID获取质心经纬度?调用cell_to_lat_lng报错求解

H3六边形ID获取质心经纬度的正确方法

问题原因

你遇到的错误是函数名拼写错误,且H3不同API接口的函数命名有差异:

  • 你调用的cell_to_lat_lng是错误写法,正确函数名是cell_to_latlng(lng为连写格式,不是下划线分隔)
  • from h3 import h3导入的是basic_str风格API,该接口确实存在cell_to_latlng函数,只是你拼写有误。

基础使用示例

修正函数名即可正常调用:

from h3 import h3

# 正确调用方式
latitude, longitude = h3.cell_to_latlng('88396c0331fffff')
print(f"质心纬度: {latitude}, 质心经度: {longitude}")

其他API风格的调用方式

如果习惯直接导入h3模块,也可以使用通用函数h3_to_geo(和cell_to_latlng功能完全一致):

import h3

latitude, longitude = h3.h3_to_geo('88396c0331fffff')

Pandas DataFrame批量处理

结合你已有的DataFrame场景,批量将H3 ID列转换为质心经纬度列的代码示例:

import pandas as pd
from h3 import h3

# 假设你的DataFrame包含'h3_id'列
df = pd.DataFrame({'h3_id': ['88396c0331fffff', '88396c0335fffff']})

# 批量生成质心经纬度列
df[['centroid_lat', 'centroid_lng']] = df['h3_id'].apply(
    lambda h3_id: pd.Series(h3.cell_to_latlng(h3_id))
)

print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:10:25