Cadastral boundary data for select countries
Guidance for AI agents and automated clients that work with this catalog.
One rule survives every edit to this file. Every claim here is quoted from a source or measured from the data. If you cannot point at where a fact came from, it does not belong in this file. An agent that acts on an invented join key or an invented column name gives a confident wrong answer, and nothing downstream catches it.
Every count below came from a query over all rows of the published file. The queries are in the per-collection agent guides.
Root: https://data.source.coop/tristangruppwri/cadastral/catalog.json
Three national rural cadastral parcel collections, each a single GeoParquet 1.1 file in EPSG:4326 with a bbox covering column and ZSTD compression.
brazil-car-area-imovel carries a second asset, suspect, with 2 rows. It is
GeoParquet 1.0.0 in EPSG:4674, not EPSG:4326, and it has no bbox covering
column. It is a quarantine sidecar, not part of the main dataset.
No credentials. Each file is one object over HTTPS with range support, so a query reads only the row groups it needs.
There is no partition:glob anywhere in this catalog. Every asset is a single
file, so plain HTTPS is the whole access path and nothing here needs s3://.
No collection joins to another. The three cadastres are separate national registries with separate identifier schemes and no shared key.
Inside a collection, no identifier is unique. Measured over every row:
cod_imovel is the join key from Brazilian CAR property boundaries to the
other CAR theme layers, which this catalog does not hold. It is the closest
thing here to a primary key and it still repeats on 15,614 rows.
No key is unique. See the table above. COUNT(*) counts geometries, not
properties. A join on any of these columns fans out.
The Brazilian suspect sidecar is in EPSG:4674, not EPSG:4326. It also
declares GeoParquet 1.0.0 while the main file declares 1.1.0. Reading both
into one frame mixes coordinate systems. Its 2 geometries have deliberately
impossible coordinates, reaching latitude 239,074,544.
Paraguay dpto is a letter code, not a name. The published values are
single characters such as L and K. There is no department-name column.
Paraguay obs is uncontrolled free text copied from the source registry.
886,763 of 2,192,890 rows are not blank. Its content is not a controlled
vocabulary and does not parse. The same text is repeated as the last
pipe-delimited field of clave_comparacion in 822,579 rows, so a query that
drops obs still returns the text through clave_comparacion.
Brazil des_condic has 16 distinct values, not 10. Documentation that
lists ten statuses is incomplete. Five of the sixteen begin with "Cancelado",
and together they cover 152,344 rows.
Brazil nom_tema is constant. All 8,453,552 rows carry Area do Imovel.
It is not a filter.
Uruguay AREAHA is an int64, not a float. A parcel smaller than one
hectare rounds. AREAMC, in square metres, is a double.
Every parquet object is served with Content-Type: binary/octet-stream.
The collections declare application/vnd.apache.parquet. A client that
dispatches on the served header, rather than on the STAC declaration, sees an
opaque blob.
Every collection declares other, not an SPDX identifier, and carries a
rel:license link. Read that link before you redistribute anything. Two of
the three upstream sources publish no licence at all. This is an open
question, not a settled value.
Assets and structural links resolve relative to the object that carries them.
Catalogs here carry no self link, so a client tracks its own location.