1

我目前正在尝试使用 uber H3 库来替换 S2,但目前并经过几次测试,似乎 golang 绑定并没有从 h3 索引中返回正确的坐标...

当使用与我在 go 应用程序中使用的相同数据的 cmd 行二进制文件时,我没有得到相同的结果。

使用命令行工具:

λ  h3/bin master ✓ ./geoToH3 10
  46.810944 -71.241730
  8a2bac51621ffff
λ  h3/bin master ✓ ./h3ToGeo
  8a2bac51621ffff
  46.8105012488 -71.2410520551
λ  h3/bin master ✓ ./h3ToGeoBoundary
  8a2bac51621ffff
  8a2bac51621ffff
  {
    46.811170344 -71.240689900
    46.811037324 -71.241737545
    46.810368226 -71.242099684
    46.809832156 -71.241414199
    46.809965172 -71.240366583
    46.810634262 -71.240004422
  }

使用 Go:

cellLvl := 10
cellID := h3.FromGeo(h3.GeoCoord{Latitude: 46.810944, Longitude: -71.241730}, cellLvl)

我得到了这个 H3 指数:802bfffffffffff 还有那些 GeoBoundries:

[lat:50.77050266836529 lng:296.79922600446486  lat:48.295316381881364 lng:278.0803730010917  lat:37.09958889681994 lng:275.4148329679119  lat:30.219492199828103 lng:285.35953183291997  lat:31.87788595636582 lng:297.9774744521555  lat:40.97555819925587 lng:305.1209872207507 ]

这是一个已知的错误还是我做错了什么?

谢谢 !

4

1 回答 1

0

这是一个已知的错误,https://github.com/uber/h3-go/issues/7,只需从 h3 返回的经度中减去 360 即可使其正常工作。

于 2019-02-08T20:30:46.190 回答