Tool/naip fetcher (#16)

* 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

* Update unit test for compatibility with Command output from tool

* Save image bytes directly to graph state for summarizer

* add safeguard against large image sizes

* remove print statement

* Fix stac.load to work with MCP API by manually inserting band data into the  extension

* Remove deleted file

* Add comment explaining workaround

---------

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 11:41:14 +00:00
committed by GitHub
parent e3530cefd2
commit 9686d71da6
4 changed files with 2061 additions and 2002 deletions
+2 -2
View File
@@ -8,7 +8,7 @@ from pydantic import Field
class GeoAssistantState(AgentState):
place: NotRequired[Feature | None] = None
search_area: NotRequired[Feature | None] = None
naip_png_path: NotRequired[str | None] = Field(
naip_img_bytes: NotRequired[bytes | None] = Field(
default=None,
description="Path to the saved NAIP RGB PNG image",
description="Bytes of the saved NAIP RGB PNG image",
)