Skip to content

Commit

Permalink
Do not require shapely. Fixes #172
Browse files Browse the repository at this point in the history
  • Loading branch information
Huite committed Feb 8, 2024
1 parent d0b9459 commit ccc9e63
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions xugrid/ugrid/burn.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
from __future__ import annotations

from typing import List, Union

import numba as nb
Expand All @@ -16,17 +18,11 @@

try:
import shapely

except ImportError:
shapely = MissingOptionalModule("shapely")


POINT = shapely.GeometryType.POINT
LINESTRING = shapely.GeometryType.LINESTRING
LINEARRING = shapely.GeometryType.LINEARRING
POLYGON = shapely.GeometryType.POLYGON
GEOM_NAMES = {v: k for k, v in shapely.GeometryType.__members__.items()}


@nb.njit(inline="always")
def in_bounds(p: Point, a: Point, b: Point) -> bool:
"""
Expand Down Expand Up @@ -228,7 +224,7 @@ def _burn_lines(
def burn_vector_geometry(
gdf: "geopandas.GeoDataframe", # type: ignore # noqa
like: Union["xugrid.Ugrid2d", "xugrid.UgridDataArray", "xugrid.UgridDataset"],
column: str = None,
column: str | None = None,
fill: Union[int, float] = np.nan,
all_touched: bool = False,
) -> None:
Expand All @@ -244,7 +240,7 @@ def burn_vector_geometry(
Polygons, points, and/or lines to be burned into the grid.
like: UgridDataArray, UgridDataset, or Ugrid2d
Grid to burn the vector data into.
column: str
column: str, optional
Name of the geodataframe column of which to the values to burn into
grid.
fill: int, float, optional, default value ``np.nan``.
Expand All @@ -259,6 +255,12 @@ def burn_vector_geometry(
"""
import geopandas as gpd

POINT = shapely.GeometryType.POINT
LINESTRING = shapely.GeometryType.LINESTRING
LINEARRING = shapely.GeometryType.LINEARRING
POLYGON = shapely.GeometryType.POLYGON
GEOM_NAMES = {v: k for k, v in shapely.GeometryType.__members__.items()}

if not isinstance(gdf, gpd.GeoDataFrame):
raise TypeError(f"gdf must be GeoDataFrame, received: {type(like).__name__}")
if isinstance(like, (xugrid.UgridDataArray, xugrid.UgridDataset)):
Expand Down

0 comments on commit ccc9e63

Please sign in to comment.