Skip to content

Commit 8e3b58a

Browse files
committed
additional bounding box methods to DriverVectorCube (#141)
1 parent 2ec255e commit 8e3b58a

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

openeo_driver/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.21.0a1"
1+
__version__ = "0.21.1a1"

openeo_driver/datacube.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,12 @@ def to_legacy_save_result(self) -> Union["AggregatePolygonResult", "JSONResult"]
322322
def get_bounding_box(self) -> Tuple[float, float, float, float]:
323323
return tuple(self._geometries.total_bounds)
324324

325+
def get_bounding_box_geometry(self) -> shapely.geometry.Polygon:
326+
return shapely.geometry.Polygon.from_bounds(*self.get_bounding_box())
327+
328+
def get_bounding_box_geojson(self) -> dict:
329+
return shapely.geometry.mapping(self.get_bounding_box_geometry())
330+
325331
def get_geometries(self) -> Sequence[shapely.geometry.base.BaseGeometry]:
326332
return self._geometries.geometry
327333

tests/test_vectorcube.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,3 +243,14 @@ def test_from_geojson(self, geojson, expected):
243243
"type": "FeatureCollection",
244244
"features": expected,
245245
})
246+
247+
def test_get_bounding_box(self, gdf):
248+
vc = DriverVectorCube(gdf)
249+
assert vc.get_bounding_box() == (1, 1, 5, 4)
250+
assert vc.get_bounding_box_geometry() == Polygon.from_bounds(1, 1, 5, 4)
251+
assert vc.get_bounding_box_geojson() == {
252+
"type": "Polygon",
253+
"coordinates": (
254+
((1.0, 1.0), (1.0, 4.0), (5.0, 4.0), (5.0, 1.0), (1.0, 1.0)),
255+
),
256+
}

0 commit comments

Comments
 (0)