Skip to content

Commit 66b541b

Browse files
authored
BUG: catch empty GeometryIndex in repr (#80)
1 parent ba7ef28 commit 66b541b

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

xvec/index.py

+2
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,8 @@ def _repr_inline_(self, max_width: int) -> str:
277277
def __repr__(self) -> str:
278278
srs = _format_crs(self.crs)
279279
shape = self._index.index.shape[0]
280+
if shape == 0:
281+
return f"GeometryIndex([], crs={srs})"
280282
if shape < 10:
281283
wkts = [repr(g) for g in self._index.index]
282284
else:

xvec/tests/test_index.py

+5
Original file line numberDiff line numberDiff line change
@@ -193,3 +193,8 @@ def test_repr(geom_dataset, geom_dataset_no_crs):
193193
long = xr.concat([geom_dataset] * 10, dim="geom")
194194
actual = repr(long.xindexes["geom"])
195195
expected = "GeometryIndex(\n [<POINT (1 2)>\n <POINT (3 4)>\n <POINT (1 2)>\n <POINT (3 4)>\n ...\n <POINT (1 2)>\n <POINT (3 4)>\n <POINT (1 2)>\n <POINT (3 4)>],\n crs=EPSG:26915)"
196+
197+
empty = geom_dataset.xvec.query("geom", shapely.Point(0, 0), predicate="intersects")
198+
actual = repr(empty.xindexes["geom"])
199+
expected = "GeometryIndex([], crs=EPSG:26915)"
200+
assert actual == expected

0 commit comments

Comments
 (0)