mirror of
https://github.com/wassname/geopandas.git
synced 2026-09-12 12:20:25 +08:00
REGR: fix non-intersecting overlay (#2172)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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]
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user