Skip to content

Commit 8b57f6f

Browse files
committed
Add contour line extraction via marching squares (#964)
New xrspatial.contour module with contours() function that extracts isolines from 2D rasters. Supports numpy, cupy, dask+numpy, and dask+cupy backends. Includes segment stitching into polylines and optional GeoDataFrame output.
1 parent b66c00e commit 8b57f6f

File tree

3 files changed

+638
-0
lines changed

3 files changed

+638
-0
lines changed

xrspatial/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from xrspatial.aspect import aspect # noqa
22
from xrspatial.balanced_allocation import balanced_allocation # noqa
3+
from xrspatial.contour import contours # noqa
34
from xrspatial.bump import bump # noqa
45
from xrspatial.corridor import least_cost_corridor # noqa
56
from xrspatial.cost_distance import cost_distance # noqa

xrspatial/accessor.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ def polygonize(self, **kwargs):
313313
from .polygonize import polygonize
314314
return polygonize(self._obj, **kwargs)
315315

316+
def contours(self, **kwargs):
317+
from .contour import contours
318+
return contours(self._obj, **kwargs)
319+
316320
# ---- Fire ----
317321

318322
def dnbr(self, post_nbr_agg, **kwargs):

0 commit comments

Comments
 (0)