Every spatial question is answered by one of eight analysis families. GeoAI picks the family from the shape of your question and fills in its details; you never have to name it.
Show the objects that meet your conditions, near, inside or away from something else, or the top N by some value.
Livespatial_filter_chain
Show all trees in Elsrijk with a trunk diameter over 50 cm.Which schools lie within 300 m of a main road?Which homes are more than 500 m from the nearest waste container?De 10 oudste gebouwen in Aalsmeer.
Variants
Any number of attribute conditions; any number of spatial conditions against other datasets, each with its own conditions (“within 100 m of a primary school”); inside, overlapping, within a distance, more than a distance away, not inside, not overlapping; top N by a column; nearest by distance.
Counts
An object near three schools is counted once. The total comes from a separate exact count, not from the preview.
Count per area
Figures per district, neighbourhood or zone, using the official boundaries, including “which areas have none” and “areas with more than N”.
Livespatial_aggregate
How many trees per district in Amstelveen?Which neighbourhoods in Aalsmeer have no playground?Districts with more than 100 parking spaces.Totale parkoppervlakte per wijk.
Functions
Count, sum, average, most common value, total area.
Variants
Restrict the areas (“only Amstelveen’s districts”), filter the objects counted, add a proximity condition (“trees within 50 m of a road, per district”), apply a threshold on the result, order and limit.
Honesty
An area with zero matches still appears when the question is about areas with none. “Areas with none” over the whole country is refused; it would list every empty district in the Netherlands.
Statistics per group
Statistics grouped by a column the data already carries (district, neighbourhood, postcode, category), a single overall figure, histograms, and percentages.
Liveattribute_aggregate
Most common energy label per neighbourhood.Percentage of homes with label A per district.Number of buildings per construction decade.Mediaan bouwjaar in Aalsmeer.
Functions
Count, sum, average, median, most common value, share (percentage meeting a condition), ratio of sums.
Variants
Equal-width buckets (“per decade”, “per 25 m² class”) labelled like “1960–1969”; no grouping for one overall figure; thresholds on the group value; spatial conditions that restrict the rows.
Built-in rule
An “average” of an ordered scale such as energy labels A–G has no meaning, so GeoAI returns the most common value instead.
Compare two registers
Lists that span two registers of the same real-world objects: objects in both, or in one and missing from the other.
Liveattribute_join
Buildings that still have no energy label.Homes worth more than €500,000 that have label F or G.Playgrounds with no play equipment recorded.
How it links
By a shared registry identifier (for example the national building id). GeoAI measures which identifier pair actually links the two registers and repairs a wrong guess. When two pairs link equally well (building vs dwelling), it asks which one you mean.
Without an id
An area dataset can be linked to point or line data by location instead (“playgrounds without equipment inside them”).
Honesty
Absence is a true “not in the other register” comparison, never faked with a status filter. When nothing links the two registers, the question is refused.
Registers + statistics per group
Per-group figures over objects that do, or do not, have a matching record in a second register.
Livejoin_aggregate
Average floor area per district of buildings without an energy label.Districts with more than 50 buildings that have no label A.
Functions
Count, sum, average, with “has a match” or “has no match”, conditions on the second register, spatial conditions and group thresholds.
Counts
A building with five matching records is still counted once.
Isolation and gaps
For each object, the distance to the nearest other object of the same kind: isolated schools, gaps in a network.
Liveself_nearest
Which schools are more than 1 km from the nearest other school?The 5 most isolated waste containers.Benches with no other bench within 200 m.
Variants
A distance threshold, or a ranking from most to least isolated. Filters decide both which objects are reported and which count as neighbours.
Scope
Within one dataset. “Far from a hydrant” is a find-and-filter question.
Measure size
Area and perimeter of areas, length of lines, when the data has no stored size column.
Livegeometry_measure
Total area of all parks in Amstelveen.Length of the main sewer network in Aalsmeer.The perimeter of the 5 largest ponds.
Variants
Per-feature values ranked, plus the total; rank by one measure and report another; conversion to hectares or kilometres done by code.
Guards
Points cannot be measured. A stored size column is preferred when one exists.
Ratios between datasets
Per-area ratios between two independent datasets, and “areas where the other dataset’s figure is above or below T”.
Livecross_layer_ratio
Square metres of green space per resident per district.How many solar-suitable roofs are there in neighbourhoods with an average income below €30,000?
Honesty
Areas are matched by name, so the answer states how many matched out of each side. Same-named areas elsewhere in the country are kept out of the denominator.
Current limitsTwo spatial conditions joined by or (“in the noise zone or the tram zone”) are refused instead of silently treated as and; support is planned. Distance bands (“0–50 m, 50–100 m, …”) and questions anchored on a street address are also on the roadmap. See Current limits.
Technical noteThe eight families live in one operation registry, which is also published through the API (see Integration). The planner may only produce these operations; the executor builds each query from the structured plan.