REGR: fix non-intersecting overlay (#2172)

This commit is contained in:
Martin Fleischmann
2021-10-13 15:10:28 +02:00
committed by GitHub
parent ce285d2cc6
commit 8bd3ea900d
2 changed files with 13 additions and 0 deletions
+11
View File
@@ -723,3 +723,14 @@ def test_non_overlapping(how):
)
assert_geodataframe_equal(result, expected)
def test_no_intersection():
# overlapping bounds but non-overlapping geometries
gs = GeoSeries([Point(x, x).buffer(0.1) for x in range(3)])
gdf1 = GeoDataFrame({"foo": ["a", "b", "c"]}, geometry=gs)
gdf2 = GeoDataFrame({"bar": ["1", "3", "5"]}, geometry=gs.translate(1))
expected = GeoDataFrame(columns=["foo", "bar", "geometry"])
result = overlay(gdf1, gdf2, how="intersection")
assert_geodataframe_equal(result, expected, check_index_type=False)
+2
View File
@@ -65,6 +65,8 @@ def _overlay_intersection(df1, df2):
right_index=True,
suffixes=("_1", "_2"),
)
result["__idx1"] = None
result["__idx2"] = None
return result[
result.columns.drop(df1.geometry.name).tolist() + [df1.geometry.name]
]