Guide agent through geospatial data analysis tasks using built-in, learned, and fabricated geo tools
3c:T946,
When the user requests geospatial data analysis, follow this structured approach:
If the required data is not already present, locate candidate datasets first:
geo_data_catalog(action="local_scan", path="<workspace path>")
geo_data_catalog(action="overpass_search", bbox=[minLon,minLat,maxLon,maxLat], tags={"amenity":"school"}, limit=10)
geo_data_catalog(action="stac_search", collections=["sentinel-2-l2a"], bbox=[minLon,minLat,maxLon,maxLat], limit=5)
Use geo_info to understand the data before doing anything:
geo_info(path="<file_path>")
This tells you the format, CRS, extent, and size.
Use geo_crs_detect to verify the coordinate reference system:
geo_crs_detect(path="<file_path>")
Before inventing a new multi-step flow, check whether the workspace already contains a similar learned geo pipeline in pipelines/geo/.
Reuse the same tool sequence when the goal is materially similar.
When the task maps to a common PostGIS pattern, inspect the codebook first:
geo_sql_codebook(action="list", intent="<analysis goal>")
geo_sql_codebook(action="render", pattern="<pattern_name>", values={...})
When analysis involves a PostGIS database, inspect the available schema before composing SQL:
geo_spatial_query(action="schema")
geo_spatial_query(action="query", sql="SELECT ...")
Use geo_process for GDAL/OGR operations and geo_format_convert for direct format changes.
If the task is recurrent and no learned pipeline, built-in tool, or verified codebook pattern fits, fabricate a workspace geo tool:
tools/geo/scripts/.tools/geo/<tool_name>.yaml.geo_ tool name.