贝壳网的「画圈找房」 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
venomD

贝壳网的「画圈找房」

  •  
  •   venomD Jun 2, 2023 5909 views
    This topic created in 1071 days ago, the information mentioned may be changed or developed.

    想请教一下各位大佬,贝壳的这个「画圈找房」的功能是咋实现的?

    主要的问题是他是如何做到很快的响应的呢?房源信息与地图位置是怎么存放的?

    希望了解的大佬不吝赐教

    贝壳画圈找房

    23 replies    2023-06-21 10:02:02 +08:00
    dem0ns
        1
    dem0ns  
       Jun 2, 2023
    resblockIds 按 block 来查
    chiron688
        2
    chiron688  
       Jun 2, 2023
    gis 开发,挺简单的,存个房源的 xy 或者经纬度坐标,然后识别路径的 xy 信息,在这范围内的就是了
    ww940521
        3
    ww940521  
       Jun 2, 2023
    我们公司的 GIS 也有这个功能,就是用的地图的 SDK 实现的,很简单。
    hhjswf
        4
    hhjswf  
       Jun 2, 2023 via Android
    redis 有个 geo 的数据类型
    j3llypunk777
        5
    j3llypunk777  
       Jun 2, 2023   1
    es polygon 查询,每个房源都有自己的经纬度数据,页面上的点聚合效果是地图自带的功能,我做过几乎一样的需求
    danieladu
        6
    danieladu  
       Jun 2, 2023
    盲猜就是 GEOHASH
    macttt
        7
    macttt  
       Jun 2, 2023
    开水团团有一篇基于 R-Tree 服务和 ElasticSearch 的 Terms 命令来实现的类似功能,他么针对这一步骤还对 ES 的 terms 进行了定制化增强: https://tech.meituan.com/2022/11/17/elasicsearch-optimization-practice-based-on-run-length-encoding.html
    shawndev
        8
    shawndev  
       Jun 2, 2023
    keyword: geo-polygon
    sadfQED2
        9
    sadfQED2  
       Jun 2, 2023 via Android
    es 传 polygon ,如果精度要求差一点可以 geohash
    Masonnn
        10
    Masonnn  
       Jun 2, 2023
    @j3llypunk777 #5 同 5 楼
    githmb
        11
    githmb  
       Jun 2, 2023
    这就不得不提 PostgreSQL 的牛逼之处了
    qiayue
        12
    qiayue  
    PRO
       Jun 2, 2023
    说个题外话,这个功能很好用,尤其是已经确定了学校的学区,只能在学区内换房时,特别好用
    ql562482472
        13
    ql562482472  
       Jun 2, 2023
    postgis 几个函数的事情 很容易
    Worldispow
        14
    Worldispow  
       Jun 2, 2023
    @githmb 数据分析做的多了就会发现,pg 真是吊着 mysql 锤
    leechen
        15
    leechen  
       Jun 2, 2023
    @githmb 这是懂的,PostgreSQL 内置了地理信息的数据格式和函数
    hldnpqzzy
        16
    hldnpqzzy  
       Jun 2, 2023
    geohash 吧
    qigge2014
        17
    qigge2014  
       Jun 2, 2023
    mysql ST_Distance_Sphere 函数也可以
    Ericcccccccc
        18
    Ericcccccccc  
       Jun 2, 2023
    搜 geohash, 然后数据放进 redis 就行.
    txy3000
        19
    txy3000  
       Jun 2, 2023
    kd 树 qlog(n)
    cp19890714
        20
    cp19890714  
       Jun 2, 2023 via Android
    postgre 可以处理 gis 相关数据,内置一堆 gis 函数和算法。比如:给出两点,算出最短路径,它都可以。
    LaurelHarmon
        21
    LaurelHarmon  
       Jun 2, 2023
    应该得用到图形学吧,判断一个区域是否在多边形内部
    LLaMA2
        22
    LLaMA2  
       Jun 3, 2023
    仔细阅读 GEOHASH 的原理,等读完了,发现还有很多现成的实现
    GEOHASH 存在很多年了
    Rain59
        23
    Rain59  
       Jun 21, 2023
    About     Help     Advertise     Blog     API     FAQ     Solana     5479 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 107ms UTC 09:27 PVG 17:27 LAX 02:27 JFK 05:27
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86