Tools.

20 production-grade tools your AI agent can call directly against Italian geospatial data — from cross-source POI lookups to H3 aggregation, isochrone proxies, and free-form SQL.

Discovery

list_sources List loaded data sources from the catalog with theme/geometry/joinability filters.
describe_table Column-level schema for a qualified table, including data types, comments, and geo-join hints.
relationships_graph Curated table-relationship graph (FK-style edges + georeferences_via).

Spatial query

spatial_search Cross-source POI lookup within a radius around (lat, lon).
nearest_n N nearest POIs to a coordinate, optionally filtered by theme.
nearest_geometry N nearest features from any qualified table (polygons, lines, points).
snap_to_geometry Snap a noisy (lat, lon) to the closest feature in any table within max_dist_m.
points_in_polygon Count + list POIs inside an arbitrary WKT polygon.
bbox_of Geographic extent of any qualified table's geometry column.

Aggregation

density_grid H3 hex aggregation of POIs in a bbox at resolutions 5–10.

Composite

site_profile POI counts + nearest essential services + ISTAT census + OMI real-estate zone, single call.
property_neighborhood Real-estate context: POI counts, nearest POI per theme, earthquake exposure, census section.

Time series

time_series_at_point Aggregate any time-series source within a radius, bucketed by hour/day/week/month/year.

Geometry primitives

geometry_ops PostGIS unary/binary ops on user WKT (buffer, simplify, centroid, envelope, convex_hull, intersection, union, difference).
geometry_validate Validate WKT, return is_valid + reason + fixed_wkt (via ST_MakeValid).
coordinate_transform Reproject WKT between WGS84, Web Mercator, ETRS89, Italy zones, UTM 32/33N.
distance_matrix Geodesic N×N distance matrix between up to 50 input points.
isochrone_proxy Mode-calibrated buffer (walk/bike/drive × minutes) returning a polygon WKT.
hex_neighbors List all H3 cells within ring k of an input cell, with centroids.

Raw SQL

query_sql Free-form read-only SELECT/WITH against the gis database with statement_timeout and auto-LIMIT.

Last updated: