Skip to content

Commit d24fd3a

Browse files
committed
Add STAC API Python proxy
1 parent d79a6ed commit d24fd3a

File tree

1 file changed

+19
-0
lines changed
  • pyrasterframes/src/main/python/pyrasterframes

1 file changed

+19
-0
lines changed

pyrasterframes/src/main/python/pyrasterframes/__init__.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,24 @@ def temp_name():
252252
.format("raster") \
253253
.load(path, **options)
254254

255+
def _stac_api_reader(
256+
df_reader: DataFrameReader,
257+
uri: str,
258+
filters: dict = None,
259+
search_limit: Optional[int] = None) -> DataFrame:
260+
"""
261+
uri - STAC API uri
262+
filters - a STAC API Search filters dict (bbox, datetime, intersects, collections, items, limit, query, next)
263+
search_limit - search results convenient limit method
264+
"""
265+
import json
266+
267+
return df_reader \
268+
.format("stac-api") \
269+
.option("uri", uri) \
270+
.option("search-filters", json.dumps(filters)) \
271+
.option("asset-limit", search_limit) \
272+
.load()
255273

256274
def _geotiff_writer(
257275
df_writer: DataFrameWriter,
@@ -305,3 +323,4 @@ def set_dims(parts):
305323
DataFrameReader.geotrellis = lambda df_reader, path: _layer_reader(df_reader, "geotrellis", path)
306324
DataFrameReader.geotrellis_catalog = lambda df_reader, path: _aliased_reader(df_reader, "geotrellis-catalog", path)
307325
DataFrameWriter.geotrellis = lambda df_writer, path: _aliased_writer(df_writer, "geotrellis", path)
326+
DataFrameReader.stacapi = _stac_api_reader

0 commit comments

Comments
 (0)