【发布时间】:2018-02-07 22:36:17
【问题描述】:
我想用 Geopandas 叠加功能计算一个城市的商店覆盖率。 “商店”数据有 2 个商店条目,其中包含商店区域的多边形数据,“区域”数据有 1 个区域条目,其中包含城市区域的多边形数据。
现在,我希望只有 2 行输出的商店覆盖城市,但我得到 3 行,因为商店区域相互重叠并且包含在输出中。有没有办法不考虑那些商店重叠而只得到“区域”相交的结果?
import geopandas as gpd
area = gpd.read_file(out_area)
store = gpd.read_file(out_store)
inter = gpd.overlay(st_store, st_area, how = 'intersection')
print(len(store), len(inter))
# Result would be 2, 3 but expected to have 2, 2
【问题讨论】:
-
这确实看起来不正确(至少 QGIS 覆盖操作会在结果中产生 2 个特征。我为此打开了一个问题:github.com/geopandas/geopandas/issues/666)
-
非常感谢您开票,期待解决。