TGIS v.0

TGIS v0

The model

Underneath every answer is the registry: a database of who holds what data, how to reach it, and what it is really like once you do. This page covers how that knowledge is shaped and how it grows with every question asked. What it holds right now is on the registry.

For how a single question travels through the system, see how this works. The precise vocabulary the code uses is in the technical reference.

The registry, right now

Open the registry →

137

sources

67

reachable now

40

gaps with a named holder

58

concepts

Concepts, places and sources

Every question is pulled apart into the same three things. The registry is the join between them.

ConceptPlaceSourceSource nobody can reach
The question 'How many people live within 500 metres of a bus stop in Bole?' splits into what is measured (population count, transit stop location), where (Bole subcity, inside Addis Ababa, inside Ethiopia), and who has it (four reachable sources and one gap). The registry joins the three.How many people live within 500 m of a bus stop in Bole?WHAT IS MEASURED · a conceptpopulation_counttransit_stop_locationOne of 30 concepts: a shared vocabularyevery source is filed under. A personadds to it; a run never coins one.WHERE · a placeEthiopiaAddis AbabaBole subcity640 administrative units, inEthiopia and Indonesia, each with thecodes different publishers key on.WHO HAS IT · sourcesWorldPop population gridKontur subcity outlinesAnbessa bus stops (GTFS)Sheger bus stops (GTFS)Bus ridership countsgapFiltered by place and date,then ranked by what they measure.
Concept

What is measured, from a shared list: population count, transit stop location, surface temperature. The question is matched to concepts, not to dataset names, so a source nobody has heard of can still turn up.

Place

An administrative unit, from the country down to the subcity, carrying the codes different publishers use for it. No city is written into the code: the registry decides what Addis Ababa means.

Source

One dataset, its publisher and the way in. A source nobody can reach is a row too, with its way in left empty and a named holder, so a gap comes out of the same lookup as a hit.

Tags and descriptions

A NASA air quality model describes itself as producing NO2 and PM2.5, but was filed only under PM2.5. A run asked about NO2, read the filing, and told a planner nothing reachable measured it, naming a holder. A missing tag does not produce a silence. It produces a confident gap. So the agent now reads each source’s own description beside its filing, and a check compares the two.

Learning from use

A row in the registry is not a dataset somebody listed. It is something the system has learned, mostly by calling it.

The registryThe agentData providers
The loop: a run reads the registry, calls providers, and every call leaves an observation. A fetch rewrites the source's profile; a run that learned something queues a guidance revision, applied when the run ends. The next run starts from all of it.The registrysourceswho holds whatprofilewhat the file looks likeguidancehow to use it correctlyobservationswhat happened when calledA runone questionProvidersthe real world1. reads at the start2. callsand what came back3. writes at the endevery call leaves an observation: speed, size, hit or missevery fetch rewrites the source’s profile from the file itselfa run that learned something revises the source’s guidanceNothing a run writes can steer that same run. What it learnedreaches the next question instead.

821

calls recorded, each with what came back

30

disagreements between sources, written down

37

fetched files kept, so nobody pays for them twice

127

questions asked so far

Claimed vs observed

OpenAQ lists eleven air quality stations around Addis Ababa. Four are reference monitors, and none had reported in ninety days. Nothing in the provider’s own listing says so. Only calling it does. Because every call is recorded, which sources are healthy, which disagree and which combine are questions the registry answers from experience, not from a list somebody keeps.

Calling a source also teaches the registry how to ask for it. A fetch refused because a dataset holds several files records the list, and the next run sees the files before it fetches. What is kept about a source’s shape is what the source is— its columns, bands and units, layer by layer — never what one city’s download happened to contain.

The same goes for growth. Open data portals and satellite catalogues are searched live when the registry has nothing, so a dataset earns its row the first time a run actually uses it. The registry grows in the direction real questions pull it.

Curated and generated entries

Some of the registry is decided by a person. Most of it is written by the system as it works, and says so.

A person decidesThe system writesBoth
What a person decides sits on the slow-growing end: kinds of door, concepts, holders, connectors. What the system writes as it runs grows fast and is marked provisional: sources, profiles, observations, figures. Guidance is the one thing both write, so every revision is kept.A PERSON DECIDESwith AI doing the reading. Reviewed, trusted by default.Kinds of doora fixed fewConcepts30, governedHoldersonce per countryConnectorsabout tenTHE SYSTEM WRITESwhile it works. Provisional until somebody reads it.Sourcesfirst use or harvestProfilesevery fetchObservationsevery callFiguresevery questionGuidanceboth; every version keptgrows slowlygrows with every questionHuman judgement goes where it pays back most. A holder is researched once per country and read on every gap answer there.

“A person decides” means deciding, not typing. The reading and drafting behind a connector, a concept or a holder’s contact route are done with AI. What makes a row curated is that somebody chose it and put their name to it. Everything else renders as Provisional in an answer, however good it looks.

Guidance is the one piece both write: a short document per source on how to use it correctly, such as “read the row where sex and age are both all; never sum the bands”. A run that learns something revises it after the run ends, every version is kept, and a person reviews the change.

Two shapes of answer

Most of a planner's questions want one number for one place and one year. A few need several datasets combined. The two take different routes.

SourceWorkspaceFigure
Two shapes of answer. One number: a source is read directly into a value, with no workspace. An assembly: sources land as layers in the workspace, operations combine them, and values come out.One numbermost planning questions · seconds · no workspaceA sourcea table, an APIread one cell directlyA figurewith its sourceAn assemblythe minority that needs combining · minutesSourcesseveralLayerslanded in the workspaceOperationsbuffer, sum, count, or the agent's own codeFigureseach with its chainThe same source can serve both. Which shape a question takes is decided per question, never per source.

Population, households, vehicle ownership, employment, crash counts: each is a number for an admin unit for a year, and is read straight off the provider. The workspace is what the corridor question needs, and overhead for the population one.

Measured coverage

An average over a whole subcity and an average over the clear corner of one are the same digits and different claims.

A window of pixels over one area, most of it masked as cloud. Only 29% of the pixels can be measured, and the figure carries that fraction.29% measurable · grey cells are cloud, masked out before anything is averaged

One Landsat scene over Addis Ababa declared 21.8% cloud. The satellite’s own quality band removed 72% of the city window, and per subcity what survived ran from 0.7% to 48%. Without the mask, one subcity averaged −10.5 °C, because a thermal band reads a cloud top as very cold ground. With the mask but without the fraction, an answer called all ten subcities “directly comparable”.

Coverage on every figure

Every average over an area carries how much of the area it covered, and the answer reports it. In the population run, that is how a reader learns the WorldPop sum reached only 60% of the city outline. A wrong coverage figure is worse than none: it is the sentence the reader trusts before the number.

Growth

Three ways, from cheapest to most expensive. None of them adds a tool the agent has to learn.

$

A new dataset

No code, and often no person. A row, written the first time a run uses it or by a harvest of a catalogue.

$$

A new door

A connector for a kind of portal TGIS does not speak yet. Someone explores the provider, then it is a row and a short piece of code.

$$$

A new kind of data

Documents, live feeds, formats not met yet. The one that is not built.

The plan for each, and the lines every change has to pass, are on up next. The exact terms the code uses for everything on this page are in the technical reference.