Tool/naip fetcher (#12)

* Add initial NAIP fetcher

* Swap to Element84's EarthSearch API for NAIP STAC search and download

* clip to bounds of aoi

* Swap to Element84's EarthSearch API for NAIP STAC search and download

* rename bands and remove dask chunking

* Add DS_Store to .gitignore

* restrict date range for naip test

* Adjust timerange for tests

* Add xarray to pyproj

* Reduce aoi size

* revert test to use tmp path

* Update return types for tool to ensure state gets updated

* Mark naip test as xfail

* Fix geom creation

---------

Co-authored-by: lillythomas <lillyelizathomas@gmail.com>
Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
This commit is contained in:
Leo Thomas
2025-12-05 08:53:04 +00:00
committed by GitHub
parent be8affaa6c
commit 8f0239c1c9
9 changed files with 2444 additions and 1780 deletions
+7 -2
View File
@@ -12,7 +12,12 @@ def geo_assistant_fixture():
geometry=Point(type="Point", coordinates=[-9.1393, 38.7223]),
properties={"name": "Neighbourhood Cafe Lisbon"},
)
return GeoAssistantState(place=place_geojson, search_area=None, messages=[])
return GeoAssistantState(
place=place_geojson,
search_area=None,
messages=[],
naip_png_path="path/to/naip.png",
)
async def test_get_search_area(geo_assistant_fixture):
@@ -37,4 +42,4 @@ async def test_get_search_area(geo_assistant_fixture):
# Verify the buffer was created around the correct place
search_area = command.update["search_area"]
assert search_area["type"] == "Polygon"
assert search_area.geometry.type == "Polygon"