【问题标题】:geopandas self intersection groupinggeopandas 自交集分组
【发布时间】:2021-06-19 03:34:14
【问题描述】:

我习惯了 R,并且正在切换到 python 进行一些地理转换。 对于一项任务,我需要按交集对 geopandas 数据框中的多边形进行分组。

但是,我只能找到可以在两个数据框之间执行此操作的 geopandas 参数。 例如数据框中的这两个多边形:

应该得到相同的组ID。

希望有人能帮忙!

【问题讨论】:

    标签: python geopandas


    【解决方案1】:

    如果您对严格的成对关系不感兴趣,可以使用libpysal 获取标签。

    从虚拟数据开始:

    import geopandas as gpd
    
    geom = gpd.points_from_xy([0, 1, 3, 4, 6, 7], [0, 1, 3, 4, 6, 7]).buffer(1.2)
    gdf = gpd.GeoDataFrame(geometry=geom)
    

    您可以基于交集创建模糊邻接权重矩阵并获取连接组件的标签:

    W = libpysal.weights.fuzzy_contiguity(gdf)
    W.component_labels
    

    返回一个数组:

    array([0, 0, 1, 1, 2, 2], dtype=int32)
    

    绘制:

    gdf.plot(W.component_labels, alpha=.5, categorical=True)
    

    【讨论】:

    • 太棒了!这就是我要找的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    相关资源
    最近更新 更多