gpt4 book ai didi

gis - H3 六边形在 kepler.gl 中使用交换的经纬度渲染

转载 作者:行者123 更新时间:2023-12-04 11:01:58 35 4
gpt4 key购买 nike

我想绘制 H3 六边形。奥地利的。

下载并解压
https://biogeo.ucdavis.edu/data/gadm3.6/gpkg/gadm36_AUT_gpkg.zip

完整代码可在 https://gist.github.com/geoHeil/b5b74887e20e4b659d4bb693a700a402 获得生成生成六边形,如:

size = 7
hexagons = pd.DataFrame(h3.polyfill(geoJson, size), columns=['hexagons'])
hexagons.head()

8752e5b80ffffff
8752ee6c1ffffff

注意 h3 期望 epsg:4326 和更高版本再次生成相同的投影( https://github.com/uber/h3/issues/121 )

这给出了一个类似于以下内容的文件:
enter image description here

现在搬到 https://kepler.gl/并上传数据我看到三件奇怪的事情正在发生
  • WKT 线串中的多边形被扭曲。这表明使用了错误的投影。但试图转换为受支持的 https://github.com/keplergl/kepler.gl/blob/6b380ac6db94e10fed0a76f5e78ef7e55406df21/docs/user-guides/b-kepler-gl-workflow/a-add-data-to-the-map.md Webmercator 没有修复它

  • enter image description here
  • 手动添加六边形图层时,它会在也门呈现(基于 H3 地址。这看起来很奇怪。这可能是开普勒演示中的错误吗?
    enter image description here .这看起来真的很奇怪,因为几何是使用六边形生成的:h3_to_geo_boundary
  • 六边形质心未填充。现在当使用 h3_to_geo 转换为六边形质心时,并将数据添加回 ha HexBin层不是所有的六边形都被填充。但这很奇怪,因为最初所有六边形都可用(参见 1 和 2)。
    enter image description here

  • notice how in (3) the hexbin hexagons are projected correctly as hexagons and not distorted.

    最佳答案

    我认为这里发生了一些事情:

  • 假设您使用的是 master h3-py 的分支, signature of polyfill polyfill(geo_json, res, geo_json_conformant=False) .您需要添加 geo_json_conformant=True给您的 polyfill调用,否则多边形中的坐标将被解释为 lat,lng而不是 lng,lat .这可能是你问题的根源。
  • 我不是开普勒专家,但我相信 HexBin图层使用生成的笛卡尔北/南对齐的六角网格,这就是它们在屏幕上看起来“正确”的原因。 H3 六边形具有低失真,但它们确实有一些形状和区域失真,并且它们从不南北对齐。当您使用墨卡托投影显示它们时,就像在开普勒中一样,作为投影的函数,它们会产生更大的失真,尤其是在极点处。然而,这里的主要失真问题可能是由于切换 lat,lng - h3_to_multi_polygon函数还需要一个额外的 bool 参数来输出符合 GeoJSON 的坐标。
  • 我相信 Kepler 也支持 H3 六边形层,所以一种选择是将原始点输入 Kepler,让 Kepler 聚合到 H3 索引。
  • 关于gis - H3 六边形在 kepler.gl 中使用交换的经纬度渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58752374/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com