首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GeoJSON
OPPO Watch
jiangwei2222
V2EX  ›  地理信息系统

一个让人头大的需求,各位老哥帮忙看看怎么实现

  •  
  •   jiangwei2222 · 178 天前 · 2672 次点击
    这是一个创建于 178 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个热门地点打卡需求,产品希望打卡一个地点后,将这个地点所属的正六边形区域点亮。也就是说我需要将整个地球分割成 N 个正六边形,然后根据经纬度确定点亮哪个六边形。But ! 他妈的地图是墨卡托投影啊,经纬度做成的坐标系跟数学里面的直角坐标系不一样啊。这他丫的该怎么分?

    效果图是这样(每个六边形得完全挨着,不能重叠,不能有缝隙): tu

    目前试了 h3 算法,但是分出来不是正六边形

    4 条回复    2019-12-03 18:23:33 +08:00
    huayumo
        1
    huayumo   178 天前
    试试阿里开源的 g2,没做不,不是很懂,随便说一下
    jiangwei2222
        2
    jiangwei2222   177 天前
    @huayumo #1 感谢
    jiangwei2222
        3
    jiangwei2222   177 天前
    自己解决了,解决思路是

    1.先将经纬度坐标系转换成平面直角坐标系
    jiangwei2222
        4
    jiangwei2222   177 天前
    @jiangwei2222 #3 按快了,发出去了

    接上面

    2.在平面直角坐标系中使用平面几何的方法计算出各个点的坐标

    3.将平面直角坐标系中的点转换成经纬度点

    附坐标系转换方法:

    https://wiki.openstreetmap.org/wiki/Mercator
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1099 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:38 · PVG 04:38 · LAX 13:38 · JFK 16:38
    ♥ Do have faith in what you're doing.