Raw collection¶
Raw mode stores the sources' original files and responses, with provenance and integrity
checks. The asynchronous API is agrobr.bruto.coletar; the same operation is available
through agrobr.sync.bruto.coletar. It does not require the geo extra.
The public manifesto.jsonl contract is 1.0.0, independent of the library version
and table contracts. It describes acquisition, not the schema of attributes published
by a source. Original formats are ZIP, CSV, Esri JSON, GML and GeoJSON.
API and resources¶
from os import PathLike
from typing import Literal
from agrobr import bruto
async def coletar(
fonte: str,
recurso: str,
*,
destino: str | PathLike[str],
nome: str | None = None,
uf: str | None = None,
bbox: tuple[float, float, float, float] | None = None,
bbox_crs: Literal["EPSG:4674", "EPSG:4326"] = "EPSG:4674",
tamanho_pagina: int | None = None,
compactar: bool = True,
retomar: bool = False,
limites: bruto.LimitesBrutos | None = None,
) -> bruto.ColetaBruta: ...
fonte and recurso are the exact identifiers in the table. They are not URLs or free-form
names. bbox_crs accepts only EPSG:4674 and EPSG:4326.
| Source | Resource | Selection | Format / pagination identity |
|---|---|---|---|
ana |
massas_dagua |
UF and/or bbox required | esri_json / FID |
cnuc |
ucs |
UF, bbox, both or Brazil; mandatory limite=uc filter |
gml / cd_cnuc |
ibge |
malha_municipal |
UF, bbox, both or Brazil | geojson / cd_mun |
ibge |
areas_urbanizadas |
bbox or Brazil; UF is not accepted | geojson / fid |
funai |
terras_indigenas |
Brazil; UF and bbox are not accepted; default tamanho_pagina 20 |
geojson / gid |
funai |
terras_indigenas_pontos |
Brazil; UF and bbox are not accepted | geojson / gid |
incra |
quilombolas |
Brazil; UF, bbox and tamanho_pagina are not accepted; single page |
geojson / feature.id |
acervo_fundiario |
sigef_publico |
UF required; bbox is not accepted | zip |
acervo_fundiario |
sigef_privado |
UF required; bbox is not accepted | zip |
acervo_fundiario |
snci_publico |
UF required; bbox is not accepted | zip |
acervo_fundiario |
snci_privado |
UF required; bbox is not accepted | zip |
acervo_fundiario |
snci_brasil |
UF required; that state's Brasil file | zip |
acervo_fundiario |
assentamentos |
Brazil; UF and bbox are not accepted | zip |
cnuc |
cadastro |
Brazil; UF and bbox are not accepted | csv |
ibama |
termos_embargo |
Brazil; UF and bbox are not accepted | csv |
ibge |
malha_municipal_zip |
Brazil; UF and bbox are not accepted | zip |
ibge |
areas_urbanizadas_zip |
Brazil; UF and bbox are not accepted | zip |
sfb |
cnfp |
Brazil; UF and bbox are not accepted; the whole country needs tamanho_pagina=20 and a 24 MiB max_bytes_pagina |
esri_json / fid |
sicar |
imoveis |
UF required; bbox optional | geojson / feature.id |
UF accepts a state abbreviation, normalized to uppercase. Combining UF and bbox means
intersection. The bbox is (minx, miny, maxx, maxy), always longitude/latitude at input,
with finite numbers, -180 <= minx < maxx <= 180 and -90 <= miny < maxy <= 90.
It cannot cross the antimeridian. The adapter serializes the axis order required by the
protocol; it does not reproject the response. Without a bbox, bbox_crs is null
in the manifest.
nome identifies the selection: it defaults to the UF, or brasil without a selection.
With a bbox, nome is mandatory, including when a UF is also provided. It accepts
[A-Za-z0-9][A-Za-z0-9_-]{0,63}; Windows device names such as CON, NUL and COM1
are rejected case-insensitively. Names differing only in case collide on every platform.
The name does not apply a filter.
tamanho_pagina=None resolves to 100 for paginated queries, except for funai/terras_indigenas
(20) and incra/quilombolas (a single page, which does not accept the parameter). An explicit value must
be an integer from 1 to 1,000, never a boolean. For files (ZIP or CSV), it must be None. It divides
the acquisition; it does not limit the total feature count. compactar=True applies
gzip to pages and controls, with mtime=0 and no original filename in the header;
files (ZIP or CSV) receive no additional compression. compactar=False preserves the same bodies
without gzip.
Municipal boundaries use layer CGMAT:qg_2025_030_munic, edition 2025; urbanized areas
use CGEO:AU_2026_AreasUrbanizadas2022_Brasil, edition 2022. The edition is recorded in
selecao.edicao, not inferred from the collection year. Raw mode requests every
attribute and the geometry. ANA explicitly requests outSR=4674 and
returnGeometry=true; CNUC and IBGE do not request an output CRS and check the
declared native CRS, EPSG:4674. An incompatible CRS fails the query. ZIP preserves
its PRJ; crs=null means the file's CRS was not verified.
SICAR (sicar/imoveis) uses the state's layer, sicar:sicar_imoveis_<uf>, requests no output CRS and
checks the native CRS, EPSG:4674. It keeps every published version of a property and counts by feature.id,
not by cod_imovel. Because SICAR publishes no sortable identifier, pages use
sortBy=cod_imovel A,dat_criacao A, and a collection only closes ok when the pair (cod_imovel,
dat_criacao) strictly increases across the whole collection: two versions with the same dat_criacao, a pair
out of order or a date in another format fail the query. An ok proves the order of the features received in
that collection, not that the pair is unique across the whole database.
FUNAI's Indigenous lands (funai/terras_indigenas, layer Funai:tis_poligonais, and
funai/terras_indigenas_pontos, layer Funai:tis_pontos) are always national: UF and bbox are rejected and
selecao.edicao is null, because the layers publish no edition. Pages use sortBy=gid, without srsName or
propertyName, and a collection only closes ok when gid is an integer that strictly increases across the whole
collection. The GeoServer rejects resultType=hits (HTTP 403): the counts before and after are the numberMatched
of a GeoJSON GetFeature with count=1 in the same order, kept as a json control. The checked native CRS is
EPSG:4674. The polygons are large: on 2026-10-04 there were 665 features and 49.3 MB, the largest at 2.95 MB; with
the default of 20 per page, the largest page had 5.6 MB, and 40 or more per page exceed the 8 MiB page limit. The
points (163 features, about 100 kB) keep the default of 100.
Quilombola territories (incra/quilombolas) come from layer CMR-PUBLICO:lim_quilombolas_a, INCRA's, published
on the CMR GeoServer, always national: UF and bbox are rejected and selecao.edicao is null. The layer has no
unique or sortable attribute, so it is not paginated: tamanho_pagina is not accepted and the collection is a
single page (count=1000&startIndex=0, without sortBy and without an output CRS), recorded with
opcoes.tamanho_pagina=1000. This is the exception to checking order by field: ok requires the count
(resultType=hits) before and after to equal the features received and the page's numberMatched, with every
feature.id present and distinct (cobertura.campo_id="feature.id"). A count above 1,000 fails the collection with
ParseError before the page is requested; a page above max_bytes_pagina, with ResourceLimitError. The checked
native CRS is EPSG:4674; on 2026-10-04 there were 445 features in a 6.7 MB page.
CNFP (sfb/cnfp) is layer Hosted/CNFP_v19_03_retificado_17072025/FeatureServer/9 of SFB's ArcGIS, always
national: UF and bbox are rejected. The edition in selecao.edicao is 20250717, the rectification date in the service
name; the layer's last edit only shows in the responses' etag (ArcGIS lastEditDate, in milliseconds). agrobr
counts, reads the official fid list and requests pages by fid range, with orderByFields=fid, every attribute and
the geometry, without outSR. Each page must bring exactly the range's fid values, in ascending order, and the
declared native CRS (wkid 102100, latestWkid 3857), recorded as EPSG:3857. The polygons are large: on 2026-10-04
there were 20,829 features, the largest at 5.52 MB, and 100-feature pages reached 37.7 MB. No page size
fits the default limits (3 or more features per page exceed 8 MiB; 2 or fewer exceed max_paginas), and the default
call stops early, on the 4th page, with a ResourceLimitError that states the page, the fid range and
max_bytes_pagina. For the whole country, use tamanho_pagina=20 and
limites=bruto.LimitesBrutos(max_bytes_pagina=24 * 1024**2): the 2026-10-04 collection closed ok with 1,042 pages (980 MB),
the largest 19.3 MB, in 37.5 minutes.
The five national files (acervo_fundiario/assentamentos, cnuc/cadastro, ibama/termos_embargo,
ibge/malha_municipal_zip and ibge/areas_urbanizadas_zip) come in a single GET with no selection: UF and bbox are rejected and the default
nome is brasil. The body is stored as the source publishes it, including the CSV encoding, separator and line
endings. Before publishing it, agrobr checks only the beginning: the ZIP signature or, for CSV, the first line with the
columns that identify the table (Código UC for CNUC; SEQ_TAD and NUM_TAD for IBAMA). An error HTML page, an XLSX
spreadsheet labeled as CSV or an empty body in HTTP 200 fail the collection with ParseError. The edition is in
selecao.edicao: 2025 for municipal boundaries (BR_Municipios_2025.zip), 2022 for urbanized areas
(AreasUrbanizadas2022_Brasil.zip, the same release as the WFS layer), 202607 (year and month) for the CNUC
registry and null for IBAMA embargo terms and INCRA settlements, which publish no edition; the file date is in
cabecalhos (last-modified). Settlements are the Land Registry's national Assentamento Brasil.zip, not a state's
file; the other Land Registry resources remain per state.
The CNUC registry is the CSV of the July 2026 edition in MMA's open data catalog. Before the GET, agrobr checks in the
catalog (package_show?id=unidadesdeconservacao) that the CNUC_2026_07 CSV resource points to the URL pinned in the
library. A different URL (edition republished or withdrawn) fails the collection with ParseError, and an unavailable
catalog with SourceUnavailableError. The catalog request counts toward the call's budget, deadline and attempts
(capped at max_bytes_pagina) and is not stored in the manifest; if it fails, erro.url is the catalog's. A new
registry edition ships with a new agrobr version.
The IBAMA embargo terms CSV contains the names and CPF/CNPJ of the embargoed individuals and companies. It is personal
data: store and process the file in accordance with the LGPD. The collection warns with UserWarning (once per process)
and records the same notice in the entry's avisos.
The ColetaBruta return value has three required attributes:
| Attribute | Python type | Example / meaning |
|---|---|---|
manifesto |
pathlib.Path |
Absolute path to destino/manifesto.jsonl |
entrada |
bruto.RecursoBruto |
Pydantic model of the entry; entrada.status and entrada.model_dump(mode="json") |
reutilizado |
bool |
True only when retomar=True reused a verified ok resource without network access |
The function returns for ok and ausente_na_fonte. Acquisition failures record
erro when possible and raise the exception described below. There is no successful
partial return.
Representation and layout¶
The manifest uses UTF-8 without BOM, LF and one complete JSON line per resource,
including a final LF. It contains no comments, blank lines, header or study-area entry.
The key is (fonte, recurso, nome), with a single current entry.
Line order has no meaning. The order of paginas does: contiguous numbers starting at
1, in acquisition order, without sorting or modifying feature bytes.
coleta/
manifesto.jsonl
ana/massas_dagua/AL/<coleta_id>/p000001.esri.json.gz
ana/massas_dagua/AL/<coleta_id>/controles/c000001.json.gz
cnuc/ucs/brasil/<coleta_id>/p000001.gml.gz
ibge/malha_municipal/AL/<coleta_id>/p000001.geojson.gz
ibge/areas_urbanizadas/area_teste/<coleta_id>/p000001.geojson.gz
acervo_fundiario/snci_publico/AL/<coleta_id>/original.zip
cnuc/cadastro/brasil/<coleta_id>/original.csv
.bruto/lock
.bruto/<coleta_id>/checkpoint.json
.bruto/<coleta_id>/diagnostico/
Every arquivo field contains a path relative to destino, using /, never an
absolute path, .. or a link/junction escaping the destination. coleta_id is opaque:
do not extract a date from it. The .gz suffix exists only with compressao="gzip".
Controls use their body's extension, JSON or XML; the arquivo-mode file is original.zip or
original.csv, matching formato. Readers must use formato and
compressao instead of guessing from extensions.
.bruto is private state with no public schema; it is not a source of consumable resources.
Bodies are written to .part temporary files and published after closing and verification.
Only then is the manifest replaced atomically. A failure may leave orphan artifacts,
but must never publish an ok entry pointing to a partial body.
Replacing an entry preserves the other entries. There is an exclusive destination lock,
effective across threads and processes and released by the operating system when the
process exits. Another writer immediately raises ResourceLimitError rather than queuing.
bytes and sha256 describe the body after HTTP Content-Encoding decoding and before
local gzip. They are not connection bytes, a hash of extracted ZIP contents or a hash
of local gzip. Text encoding, whitespace, properties, line endings, attributes and
geometries remain unchanged. bytes_armazenados is the on-disk artifact size; it may
exceed bytes for small compressed bodies. Reading, decompressing when indicated and
computing SHA-256 must reproduce sha256. An ETag does not replace this hash.
Schema 1.0.0: resource entry¶
Every key in the tables is required. null is an allowed value only where stated,
not permission to omit the key. Empty objects and lists are {} and [].
Integers do not accept booleans; numbers do not accept NaN or infinity.
UTC in the tables means an RFC 3339 string ending in Z, with an optional fraction of a second of
1 to 6 digits, such as 2026-10-02T20:00:00Z or 2026-10-02T20:00:00.125Z. A hash is a SHA-256 string of 64 lowercase hexadecimal digits.
| Field | JSON type | Required | Example / rule |
|---|---|---|---|
schema_version |
string | Yes | "1.0.0" |
tipo |
string literal | Yes | "recurso" |
fonte |
string | Yes | "ana"; registered identifier from the API table |
recurso |
string | Yes | "massas_dagua"; allowed for that source |
nome |
string | Yes | "AL" |
consulta_id |
hash | Yes | Opaque normalized query identity; not a data hash |
coleta_id |
nonempty string | Yes | "exemplo-ana-001"; distinguishes whole-resource attempts |
status |
enum | Yes | "ok", "erro" or "ausente_na_fonte" |
inicio |
UTC | Yes | Start of the resource attempt |
fim |
UTC | Yes | End of the attempt; inicio <= fim |
registrado_em |
UTC | Yes | Entry publication; fim <= registrado_em |
url_solicitada |
HTTPS URL string | Yes | File URL; for pagination, endpoint URL without query string |
url |
HTTPS URL string | Yes | Final file GET URL; for paginated queries, the same logical URL as url_solicitada |
parametros |
string → string object | Yes | {"outFields":"*","outSR":"4674"}; every logical parameter, excluding pagination; {} for files |
selecao |
Selection object | Yes | Selection and publication, defined below |
opcoes |
Options object | Yes | Effective options and limits for this attempt |
modo |
enum | Yes | "arquivo" or "paginado" |
formato |
enum | Yes | "zip", "csv", "esri_json", "gml" or "geojson"; zip and csv only for files |
crs |
string or null | Yes | "EPSG:4674" when verified; null when unverified |
crs_evidencia |
CRSEvidence object or null | Yes | null exactly when crs=null |
http_status |
integer 100–599 or null | Yes | Last file GET, e.g. 200 or 404; null for paginated queries or no response |
http_inicio |
UTC or null | Yes | Start of the last file GET; null for paginated queries or a GET not started |
http_fim |
UTC or null | Yes | End of that GET; null under the same conditions |
arquivo |
path string or null | Yes | "acervo_fundiario/snci_publico/AL/exemplo-001/original.zip" |
sha256 |
hash or null | Yes | Complete file hash; null for paginated queries or no valid file |
bytes |
integer >= 0 or null | Yes | 11900; original size, not a feature count |
bytes_armazenados |
integer >= 0 or null | Yes | Equals bytes for files (ZIP or CSV), without additional compression |
compressao |
enum | Yes | "nenhuma" for files and at the paginated entry root; gzip is recorded on each artifact |
cabecalhos |
string → string object | Yes | Headers of the last file GET, including 404; {} for paginated queries |
paginas |
list of Page | Yes | [] for files and zero-feature paginated selections |
controles |
list of Control | Yes | Count, ID and/or CRS responses; [] if none |
feicoes |
integer >= 0 or null | Yes | Declared total before pagination; null for files or unknown counts |
cobertura |
Coverage object | Yes | Verification result, not a transactional guarantee |
erro |
Error object or null | Yes | null only for ok |
avisos |
list of strings | Yes | [] when empty; never a substitute for an integrity failure |
agrobr_version |
string | Yes | "2.0.0"; version that acquired the bodies |
The four fields arquivo, sha256, bytes and bytes_armazenados are either all
populated or all null. For modo="arquivo", status="ok" they are populated and
http_status=200. For paginated entries they are always null: there is no concatenated
file or implicit aggregate hash. At the paginated entry root, URLs describe the logical
request; executed URLs, including redirects and pagination, are in pages and controls.
Query identity¶
consulta_id is SHA-256 of a UTF-8 canonical JSON object with exactly these keys:
fonte, recurso, nome, url_solicitada, parametros, selecao, modo, formato,
tamanho_pagina and compactar. The first eight values come from the entry; the last two
come from opcoes. Serialization uses ensure_ascii=False, sort_keys=True,
separators=(",", ":") and allow_nan=False, without a final newline.
Normalization converts UF to uppercase, bbox coordinates to floats (negative zero to
0.0), fills selection keys with null when inapplicable, and resolves effective options.
Names retain their spelling; a different spelling differing only in case is a collision.
Limits, timestamps, library version and retomar are excluded.
For pagination, top-level URLs identify the endpoint without a query string;
parametros contains the complete logical query. Page/control URLs include the actual
query string. A page's parametros records its original request, including when redirected;
url records the final response URL.
Selection, options and CRS evidence¶
| Object.field | Type | Required | Example / rule |
|---|---|---|---|
selecao.uf |
string or null | Yes | "AL" |
selecao.bbox |
list of four numbers or null | Yes | [-48.1,-16.1,-47.9,-15.9] |
selecao.bbox_crs |
enum or null | Yes | "EPSG:4674", "EPSG:4326"; null without bbox |
selecao.camada |
string or null | Yes | "CGMAT:qg_2025_030_munic"; null for files |
selecao.edicao |
integer or null | Yes | 2025, or 202607 (year and month) for the CNUC registry; null when no edition is identified by the source |
selecao.natureza |
enum or null | Yes | "publico", "privado"; null for SNCI Brasil and other sources |
opcoes.tamanho_pagina |
integer 1–1000 or null | Yes | 100; null for files |
opcoes.compactar |
boolean | Yes | true; effective false for files |
opcoes.limites |
Limits object | Yes | All effective values defined in Limits |
crs_evidencia.tipo |
enum | Yes, in object | "pagina", "controle" or "prj" |
crs_evidencia.arquivo |
path | Yes, in object | An artifact belonging to this entry |
crs_evidencia.localizador |
nonempty string | Yes, in object | "/spatialReference/wkid", GML/XML XPath or PRJ member name |
crs_evidencia.valor |
nonempty string | Yes, in object | "4674" or the URN/WKT actually read |
Evidence points to preserved bytes, not an assumption based on the endpoint.
For a query without features, crs=null is allowed if no control verified its CRS.
For a query with features, all pages must declare the expected CRS and agree; the
entry may reference the first piece of evidence. Reading PRJ is optional, subject to an
expansion limit and does not extract the ZIP.
Page and control¶
Every Page or Control contains all of these common fields:
| Field | Type | Required | Example / rule |
|---|---|---|---|
numero |
integer >= 1 | Yes | 1; sequential within its own list |
url_solicitada |
HTTPS URL | Yes | Full GET URL, including the query actually sent |
url |
HTTPS URL | Yes | Final response URL |
parametros |
string → string object | Yes | Effective original request query, including count/startIndex or FID range |
inicio |
UTC | Yes | Start of the request that supplied the body |
fim |
UTC | Yes | End of body reading; within the resource interval |
http_status |
integer literal | Yes | 200; error bodies go to private diagnostics |
arquivo |
path | Yes | "ibge/malha_municipal/AL/exemplo-001/p000001.geojson.gz" |
sha256 |
hash | Yes | SHA-256 of the complete original body |
bytes |
integer >= 0 | Yes | 73038 |
bytes_armazenados |
integer >= 0 | Yes | Stored body size, including local gzip |
compressao |
enum | Yes | "gzip" or "nenhuma" |
formato |
enum | Yes | Page: esri_json/gml/geojson; control: json/xml |
cabecalhos |
string → string object | Yes | {"etag":"W/\"abc\""} or {} |
In addition to the common fields, a Page contains:
| Field | Type | Required | Example / rule |
|---|---|---|---|
paginacao |
discriminated object | Yes | One of the two forms below |
feicoes_recebidas |
integer >= 0 | Yes | Features in the envelope, before any processing |
ids_distintos |
integer >= 0 | Yes | Distinct IDs within this page, not the accumulated count |
total_declarado |
integer >= 0, literal "unknown" or null |
Yes | "unknown" for CNUC GML; null if the envelope declares no total |
crs |
string or null | Yes | "EPSG:4674"; null is only allowed in a page of a failed resource |
The two complete paginacao forms are:
| Form | Required fields, types and example |
|---|---|
| WFS | {"tipo":"offset","inicio":0,"quantidade":100}; inicio integer >= 0, quantidade integer >= 1, both from the request |
| ANA | {"tipo":"fid","min":1,"max":100,"quantidade":100}; min/max integers, min <= max; quantidade counts expected IDs, not numeric range width |
A Control adds papel (required, enum contagem_antes, contagem_depois, ids or
crs) and valor_declarado (required, integer >= 0, "unknown" or null).
Counts use the literal envelope value; IDs and CRS use null. A Control has no
paginacao, feicoes_recebidas, ids_distintos, total_declarado or crs fields.
cabecalhos allows only the lowercase keys last-modified, etag,
content-type, content-length, content-encoding, date, retry-after and location.
Only received headers appear, with their textual values, preserving ETag quotes and W/.
It contains no cookies, Authorization or secrets. Headers belong to the corresponding
GET response; a subsequent HEAD is not attributed to those bytes.
content-length is not comparable to bytes when Content-Encoding changes the representation.
Coverage and error¶
| Object.field | Type | Required | Example / rule |
|---|---|---|---|
cobertura.total_antes |
integer >= 0 or null | Yes | Total from the preceding control; null when unknown |
cobertura.total_depois |
integer >= 0 or null | Yes | Total from the subsequent control |
cobertura.recebidas |
integer >= 0 or null | Yes | Sum of features in preserved pages |
cobertura.ids_distintos |
integer >= 0 or null | Yes | Cardinality of the union of received IDs |
cobertura.ids_repetidos |
integer >= 0 or null | Yes | Excess occurrences, including across pages |
cobertura.campo_id |
string or null | Yes | "FID", "cd_cnuc", "cd_mun" or "fid" |
cobertura.estado |
enum | Yes | "conferida", "divergente", "nao_comprovada" or "nao_aplicavel" |
cobertura.completa |
boolean | Yes | true only for an ok resource |
cobertura.snapshot_transacional |
boolean literal | Yes | false |
cobertura.controles |
list of paths | Yes | References to controls used; all must exist in controles |
erro.tipo |
enum | Yes, in object | "HTTP404", "SourceUnavailableError", "ParseError", "ResourceLimitError", "ContractViolationError", "OSError", "CancelledError" or "KeyboardInterrupt" |
erro.mensagem |
nonempty string | Yes, in object | "Contagem mudou durante a coleta"; in Portuguese |
erro.http_status |
integer 100–599 or null | Yes, in object | 404; null if there was no causal HTTP response |
erro.url |
HTTPS URL or null | Yes, in object | Failed request; null for a purely local failure |
For files, counts and campo_id are null, state is nao_aplicavel and coverage
references are []. completa=true proves file acquisition, not thematic completeness
or the validity of every geometry.
For a paginated ok entry, the required equality is
total_antes == total_depois == feicoes == recebidas == ids_distintos,
with ids_repetidos=0, IDs present and estado="conferida". References include the
before/after counts and, for ANA and CNFP, the official ID list. Received IDs must exactly
match the list, both per range and overall. For WFS, order and progress must be checked
using the field in the API table (except the single page of incra/quilombolas, checked as described
above). Duplicate or null IDs, repeated pages, a short page
before the end, a changed total, unexpected CRS or unproven continuity prevent ok.
A numeric total declared in a page must agree with the control count.
"unknown" does not mean zero: only controls with a known total allow completion.
Zero confirmed before/after is ok with paginas=[] and zero counts; ANA and CNFP also verify
an empty ID list. Without pages, recebidas, ids_distintos and ids_repetidos start
at zero for paginated entries. An incomplete attempt uses nao_comprovada; an observed
inconsistency uses divergente.
Inconsistencies established by the adapter, including FIDs outside the requested range and changed counts, end collection with ParseError, status="erro" and cobertura.estado="divergente". An unreadable response without enough evidence to compare coverage remains nao_comprovada.
Checking counts and IDs does not detect every attribute update made during acquisition.
Therefore snapshot_transacional=false remains mandatory.
Status, errors and limits¶
| Situation | Manifest / return |
|---|---|
| Intact file or fully verified query | ok; returns ColetaBruta |
| Original file GET returns 404 | ausente_na_fonte, erro.tipo="HTTP404"; returns normally |
| 404 in a page or control | erro; raises SourceUnavailableError |
| 403, timeout, network failure, 429/5xx after attempts | erro; raises SourceUnavailableError |
| OGC/ArcGIS error inside HTTP 200, invalid envelope, HTTP 200 file in another format or divergent coverage | erro; raises ParseError |
| Budget exceeded | erro if acquisition started; raises ResourceLimitError |
| Invalid argument, selection, destination, key collision or write version | InvalidParameterError before network access and without changing the manifest |
| Invalid existing-entry integrity or manifest invariant | ContractViolationError; preserves the previous manifest |
| Disk, permissions or publication failure | Propagates OSError; attempts to record erro only if safe publication remains possible |
| Cancellation or cooperative interruption | Propagates CancelledError/KeyboardInterrupt; best-effort erro entry |
| Forced termination or power failure | There may be no error entry; previous manifest and checkpoint remain for resumption |
404 is a timestamped observation, not proof of permanent absence. There is no UF blacklist or negative cache: the next resumption retries it. HTTP 200 with zero features is an empty success, never absence.
There is one active request per collection, sequential pages and no process pool. Retry,
user agent, TLS and pauses respect source policy and the shared rate limiter.
The HTTP default is three total attempts per request, configurable through
HTTPSettings.max_retries (zero means one attempt); only transient failures are retried.
403/404, inconsistencies, limits and disk errors are not retried automatically.
Retry and rate-limit waits consume the total deadline. There is no fallback to another source.
LimitesBrutos contains the fields below; all appear in opcoes.limites.
Integers must be positive and the deadline positive and finite; booleans are rejected.
| Field | Type | Default and example | Application |
|---|---|---|---|
max_bytes_recurso |
int | 4294967296 (4 GiB) |
Separate encoded and decoded HTTP byte counters, both limited, including controls, pages, file, the CNUC catalog request and failed attempts |
max_bytes_pagina |
int | 8388608 (8 MiB) |
Each page/control, for both counters; does not limit the original file to 8 MiB |
max_paginas |
int | 10000 |
Logical data pages; controls are excluded; attempts count toward bytes and deadline |
max_ids |
int | 500000 |
Declared total and retained IDs; also limits ANA's ID list before pagination |
max_bytes_ids |
int | 67108864 (64 MiB) |
Accounted memory of ID structures, including keys and containers; only the bounded page being processed is additional |
max_segundos |
number | 3600.0 |
Monotonic operation deadline, including local verification, network, waits and publication |
The effective file (ZIP or CSV) limit is the smaller of max_bytes_recurso and 4 GiB. Limits are
enforced during streaming, including HTTP expansion, before retaining blocks beyond the
budget. The ID budget is not a limit on total process RSS. Local gzip is read incrementally
on resumption, limited by declared size and page/resource ceilings.
ZIP members, if read, go through agrobr's expansion helpers and their limits.
The manifest has a 64 MiB read/write limit, checked before publication.
Limits do not truncate selections or discard pages to manufacture success. For a larger
resource, reduce the selection or configure appropriate limits; the maximum file limit
still applies. Budgets apply per call, not cumulatively to the destination: old-attempt
evidence and compression overhead also occupy disk space. If a limit prevents publishing
even an error entry, the previous manifest is preserved and ResourceLimitError propagates.
The deadline is checked around I/O and processing steps; it cannot preempt a blocking
operating-system call at the exact deadline.
Resumption¶
- For a new destination, validate arguments and create the collection. Different resources can be added sequentially to the same destination.
- If the key already exists,
retomar=Falserejects the operation without network access.retomar=Truerequires the same normalized query: source, resource, name, selection, layer/edition, logical parameters, format, page size and effective compression. Limits may change; they are not part of that identity. - If the entry is
ok, verify schema, invariants, paths, stored size, original hash and original size of every artifact, including controls. Reuse without HEAD or GET, retaining IDs and timestamps and returningreutilizado=True. The manifest is unchanged. This verifies the local collection; it does not confirm the source is still unchanged. - Missing files, corruption or incorrect hashes in
okraiseContractViolationError; evidence is not silently replaced. A limit too low for verification raisesResourceLimitError, also without changing the entry. - An error, absence, checkpoint or
.partrestarts the whole resource, with a newcoleta_id. Files restart at byte zero and paginated queries at the first page, with new controls. The new entry replaces the previous one only when the attempt ends. Previous artifacts remain separate; they are neither merged nor automatically deleted.
A new temporal capture uses another destination. Version 1.0.0 has no Range downloads, remote page resumption, conditional revalidation of completed resources or incremental collection.
Complete usage¶
These calls cover 17 of the 19 resources: CNFP (sfb/cnfp), whose whole-of-Brazil request needs tamanho_pagina=20 and a 24 MiB max_bytes_pagina, and SICAR (sicar/imoveis), which requires a state, are left out. The urban bbox is only a selection example,
not a guarantee of acquisition volume or duration.
import asyncio
import json
from pathlib import Path
from agrobr import bruto
async def main() -> None:
destino = Path("coleta-exemplo")
pedidos = [
("ana", "massas_dagua", {"uf": "AL"}),
("cnuc", "ucs", {"uf": "AL"}),
("ibge", "malha_municipal", {"uf": "AL"}),
(
"ibge",
"areas_urbanizadas",
{"nome": "area_teste", "bbox": (-48.1, -16.1, -47.9, -15.9)},
),
("funai", "terras_indigenas", {}),
("funai", "terras_indigenas_pontos", {}),
("incra", "quilombolas", {}),
("acervo_fundiario", "sigef_publico", {"uf": "AL"}),
("acervo_fundiario", "sigef_privado", {"uf": "AL"}),
("acervo_fundiario", "snci_publico", {"uf": "AL"}),
("acervo_fundiario", "snci_privado", {"uf": "AL"}),
("acervo_fundiario", "snci_brasil", {"uf": "AL"}),
("acervo_fundiario", "assentamentos", {}),
("cnuc", "cadastro", {}),
("ibama", "termos_embargo", {}),
("ibge", "malha_municipal_zip", {}),
("ibge", "areas_urbanizadas_zip", {}),
]
for fonte, recurso, selecao in pedidos:
resultado = await bruto.coletar(
fonte, recurso, destino=destino, retomar=True, **selecao
)
print(recurso, resultado.entrada.status, resultado.reutilizado)
with (destino / "manifesto.jsonl").open(encoding="utf-8") as arquivo:
entradas = [json.loads(linha) for linha in arquivo]
print([(e["fonte"], e["recurso"], e["nome"], e["status"]) for e in entradas])
asyncio.run(main())
In a synchronous script, the same call returns the same type:
from agrobr import sync
resultado = sync.bruto.coletar(
"acervo_fundiario",
"snci_publico",
uf="AL",
destino="coleta-exemplo",
retomar=True,
)
print(resultado.manifesto, resultado.entrada.status)
For example, use tamanho_pagina=10 with paginated resources to reduce memory per page.
Use another name/destination when changing that value, because the previous collection's
pagination identity differs.
Complete manifest examples¶
The following examples are illustrative and synthetic: they are not observed responses, goldens, current counts or hashes of official files. Endpoints and request profiles follow the adapters; body values, totals, timestamps, IDs and hashes only illustrate the contract. Each block contains one complete JSON line with no omitted fields. The ten lines can form a manifest. Their hashes are computed from synthetic example bodies, not from official files. The usage example above performs real requests and will produce different counts, hashes and timestamps.
ana / massas_dagua¶
{"agrobr_version":"2.0.0","arquivo":null,"avisos":[],"bytes":null,"bytes_armazenados":null,"cabecalhos":{},"cobertura":{"campo_id":"FID","completa":true,"controles":["ana/massas_dagua/AL/exemplo-ana-massas_dagua/controles/c000001.json.gz","ana/massas_dagua/AL/exemplo-ana-massas_dagua/controles/c000002.json.gz","ana/massas_dagua/AL/exemplo-ana-massas_dagua/controles/c000003.json.gz"],"estado":"conferida","ids_distintos":1,"ids_repetidos":0,"recebidas":1,"snapshot_transacional":false,"total_antes":1,"total_depois":1},"coleta_id":"exemplo-ana-massas_dagua","compressao":"nenhuma","consulta_id":"5611a8c3667d66d56bbf8bbb390e2449c408bc376c228661f621be70b6cb44a7","controles":[{"arquivo":"ana/massas_dagua/AL/exemplo-ana-massas_dagua/controles/c000001.json.gz","bytes":11,"bytes_armazenados":31,"cabecalhos":{"content-type":"application/json"},"compressao":"gzip","fim":"2026-10-02T20:00:02Z","formato":"json","http_status":200,"inicio":"2026-10-02T20:00:01Z","numero":1,"papel":"contagem_antes","parametros":{"f":"json","outFields":"*","outSR":"4674","returnCountOnly":"true","returnGeometry":"true","where":"(nmufe = 'ALAGOAS' OR nmufe LIKE 'ALAGOAS, %' OR nmufe LIKE '%, ALAGOAS' OR nmufe LIKE '%, ALAGOAS, %')"},"sha256":"6aea6dfe6561984cdc5c54ead84d47d2cf29e48253ae282aef237404adad4661","url":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29&outFields=%2A&outSR=4674&f=json&returnGeometry=true&returnCountOnly=true","url_solicitada":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29&outFields=%2A&outSR=4674&f=json&returnGeometry=true&returnCountOnly=true","valor_declarado":1},{"arquivo":"ana/massas_dagua/AL/exemplo-ana-massas_dagua/controles/c000002.json.gz","bytes":43,"bytes_armazenados":56,"cabecalhos":{"content-type":"application/json"},"compressao":"gzip","fim":"2026-10-02T20:00:04Z","formato":"json","http_status":200,"inicio":"2026-10-02T20:00:03Z","numero":2,"papel":"ids","parametros":{"f":"json","outFields":"*","outSR":"4674","returnGeometry":"true","returnIdsOnly":"true","where":"(nmufe = 'ALAGOAS' OR nmufe LIKE 'ALAGOAS, %' OR nmufe LIKE '%, ALAGOAS' OR nmufe LIKE '%, ALAGOAS, %')"},"sha256":"7a3c54cbac7a424181b4b1604e2d49ac58188682f239d00b15e3ad754bba4ac2","url":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29&outFields=%2A&outSR=4674&f=json&returnGeometry=true&returnIdsOnly=true","url_solicitada":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29&outFields=%2A&outSR=4674&f=json&returnGeometry=true&returnIdsOnly=true","valor_declarado":null},{"arquivo":"ana/massas_dagua/AL/exemplo-ana-massas_dagua/controles/c000003.json.gz","bytes":11,"bytes_armazenados":31,"cabecalhos":{"content-type":"application/json"},"compressao":"gzip","fim":"2026-10-02T20:00:08Z","formato":"json","http_status":200,"inicio":"2026-10-02T20:00:07Z","numero":3,"papel":"contagem_depois","parametros":{"f":"json","outFields":"*","outSR":"4674","returnCountOnly":"true","returnGeometry":"true","where":"(nmufe = 'ALAGOAS' OR nmufe LIKE 'ALAGOAS, %' OR nmufe LIKE '%, ALAGOAS' OR nmufe LIKE '%, ALAGOAS, %')"},"sha256":"6aea6dfe6561984cdc5c54ead84d47d2cf29e48253ae282aef237404adad4661","url":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29&outFields=%2A&outSR=4674&f=json&returnGeometry=true&returnCountOnly=true","url_solicitada":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29&outFields=%2A&outSR=4674&f=json&returnGeometry=true&returnCountOnly=true","valor_declarado":1}],"crs":"EPSG:4674","crs_evidencia":{"arquivo":"ana/massas_dagua/AL/exemplo-ana-massas_dagua/p000001.esri.json.gz","localizador":"/spatialReference/wkid","tipo":"pagina","valor":"4674"},"erro":null,"feicoes":1,"fim":"2026-10-02T20:00:09Z","fonte":"ana","formato":"esri_json","http_fim":null,"http_inicio":null,"http_status":null,"inicio":"2026-10-02T20:00:00Z","modo":"paginado","nome":"AL","opcoes":{"compactar":true,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":100},"paginas":[{"arquivo":"ana/massas_dagua/AL/exemplo-ana-massas_dagua/p000001.esri.json.gz","bytes":179,"bytes_armazenados":158,"cabecalhos":{"content-type":"application/json"},"compressao":"gzip","crs":"EPSG:4674","feicoes_recebidas":1,"fim":"2026-10-02T20:00:06Z","formato":"esri_json","http_status":200,"ids_distintos":1,"inicio":"2026-10-02T20:00:05Z","numero":1,"paginacao":{"max":1,"min":1,"quantidade":1,"tipo":"fid"},"parametros":{"f":"json","outFields":"*","outSR":"4674","returnGeometry":"true","where":"((nmufe = 'ALAGOAS' OR nmufe LIKE 'ALAGOAS, %' OR nmufe LIKE '%, ALAGOAS' OR nmufe LIKE '%, ALAGOAS, %')) AND FID >= 1 AND FID <= 1"},"sha256":"9470996f4054dc75f0bffb7d229836d567f8a30168021f627469baaeda329671","total_declarado":null,"url":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29%29+AND+FID+%3E%3D+1+AND+FID+%3C%3D+1&outFields=%2A&outSR=4674&f=json&returnGeometry=true","url_solicitada":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query?where=%28%28nmufe+%3D+%27ALAGOAS%27+OR+nmufe+LIKE+%27ALAGOAS%2C+%25%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%27+OR+nmufe+LIKE+%27%25%2C+ALAGOAS%2C+%25%27%29%29+AND+FID+%3E%3D+1+AND+FID+%3C%3D+1&outFields=%2A&outSR=4674&f=json&returnGeometry=true"}],"parametros":{"f":"json","outFields":"*","outSR":"4674","returnGeometry":"true","where":"(nmufe = 'ALAGOAS' OR nmufe LIKE 'ALAGOAS, %' OR nmufe LIKE '%, ALAGOAS' OR nmufe LIKE '%, ALAGOAS, %')"},"recurso":"massas_dagua","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":"Massa_dagua/MapServer/0","edicao":null,"natureza":null,"uf":"AL"},"sha256":null,"status":"ok","tipo":"recurso","url":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query","url_solicitada":"https://www.snirh.gov.br/arcgis/rest/services/SPR/Massa_dagua/MapServer/0/query"}
cnuc / ucs¶
{"agrobr_version":"2.0.0","arquivo":null,"avisos":[],"bytes":null,"bytes_armazenados":null,"cabecalhos":{},"cobertura":{"campo_id":"cd_cnuc","completa":true,"controles":["cnuc/ucs/AL/exemplo-cnuc-ucs/controles/c000001.xml.gz","cnuc/ucs/AL/exemplo-cnuc-ucs/controles/c000002.xml.gz"],"estado":"conferida","ids_distintos":1,"ids_repetidos":0,"recebidas":1,"snapshot_transacional":false,"total_antes":1,"total_depois":1},"coleta_id":"exemplo-cnuc-ucs","compressao":"nenhuma","consulta_id":"0bf3f67dfeb6a36c6d111cac85136e18a86aee2c04702752cea1ef117b4bc299","controles":[{"arquivo":"cnuc/ucs/AL/exemplo-cnuc-ucs/controles/c000001.xml.gz","bytes":104,"bytes_armazenados":112,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","fim":"2026-10-02T20:00:02Z","formato":"xml","http_status":200,"inicio":"2026-10-02T20:00:01Z","numero":1,"papel":"contagem_antes","parametros":{"FILTER":"<fes:Filter xmlns:fes='http://www.opengis.net/fes/2.0' xmlns:gml='http://www.opengis.net/gml/3.2'><fes:And><fes:PropertyIsEqualTo><fes:ValueReference>limite</fes:ValueReference><fes:Literal>uc</fes:Literal></fes:PropertyIsEqualTo><fes:PropertyIsLike wildCard='%' singleChar='_' escapeChar='!'><fes:ValueReference>uf</fes:ValueReference><fes:Literal>%ALAGOAS%</fes:Literal></fes:PropertyIsLike></fes:And></fes:Filter>","MAP":"/var/www/storage/app/mapfiles/ucs.map","REQUEST":"GetFeature","RESULTTYPE":"hits","SERVICE":"WFS","TYPENAMES":"ms:ucs_selected","VERSION":"2.0.0"},"sha256":"b9eafd2e580456593d4eecd2d6ca89abd174349ffce0a18f2dfb00289ec4bbbf","url":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?MAP=%2Fvar%2Fwww%2Fstorage%2Fapp%2Fmapfiles%2Fucs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=ms%3Aucs_selected&FILTER=%3Cfes%3AFilter+xmlns%3Afes%3D%27http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%27+xmlns%3Agml%3D%27http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%27%3E%3Cfes%3AAnd%3E%3Cfes%3APropertyIsEqualTo%3E%3Cfes%3AValueReference%3Elimite%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3Euc%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsEqualTo%3E%3Cfes%3APropertyIsLike+wildCard%3D%27%25%27+singleChar%3D%27_%27+escapeChar%3D%27%21%27%3E%3Cfes%3AValueReference%3Euf%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E%25ALAGOAS%25%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AAnd%3E%3C%2Ffes%3AFilter%3E&RESULTTYPE=hits","url_solicitada":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?MAP=%2Fvar%2Fwww%2Fstorage%2Fapp%2Fmapfiles%2Fucs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=ms%3Aucs_selected&FILTER=%3Cfes%3AFilter+xmlns%3Afes%3D%27http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%27+xmlns%3Agml%3D%27http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%27%3E%3Cfes%3AAnd%3E%3Cfes%3APropertyIsEqualTo%3E%3Cfes%3AValueReference%3Elimite%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3Euc%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsEqualTo%3E%3Cfes%3APropertyIsLike+wildCard%3D%27%25%27+singleChar%3D%27_%27+escapeChar%3D%27%21%27%3E%3Cfes%3AValueReference%3Euf%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E%25ALAGOAS%25%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AAnd%3E%3C%2Ffes%3AFilter%3E&RESULTTYPE=hits","valor_declarado":1},{"arquivo":"cnuc/ucs/AL/exemplo-cnuc-ucs/controles/c000002.xml.gz","bytes":104,"bytes_armazenados":112,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","fim":"2026-10-02T20:00:08Z","formato":"xml","http_status":200,"inicio":"2026-10-02T20:00:07Z","numero":2,"papel":"contagem_depois","parametros":{"FILTER":"<fes:Filter xmlns:fes='http://www.opengis.net/fes/2.0' xmlns:gml='http://www.opengis.net/gml/3.2'><fes:And><fes:PropertyIsEqualTo><fes:ValueReference>limite</fes:ValueReference><fes:Literal>uc</fes:Literal></fes:PropertyIsEqualTo><fes:PropertyIsLike wildCard='%' singleChar='_' escapeChar='!'><fes:ValueReference>uf</fes:ValueReference><fes:Literal>%ALAGOAS%</fes:Literal></fes:PropertyIsLike></fes:And></fes:Filter>","MAP":"/var/www/storage/app/mapfiles/ucs.map","REQUEST":"GetFeature","RESULTTYPE":"hits","SERVICE":"WFS","TYPENAMES":"ms:ucs_selected","VERSION":"2.0.0"},"sha256":"b9eafd2e580456593d4eecd2d6ca89abd174349ffce0a18f2dfb00289ec4bbbf","url":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?MAP=%2Fvar%2Fwww%2Fstorage%2Fapp%2Fmapfiles%2Fucs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=ms%3Aucs_selected&FILTER=%3Cfes%3AFilter+xmlns%3Afes%3D%27http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%27+xmlns%3Agml%3D%27http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%27%3E%3Cfes%3AAnd%3E%3Cfes%3APropertyIsEqualTo%3E%3Cfes%3AValueReference%3Elimite%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3Euc%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsEqualTo%3E%3Cfes%3APropertyIsLike+wildCard%3D%27%25%27+singleChar%3D%27_%27+escapeChar%3D%27%21%27%3E%3Cfes%3AValueReference%3Euf%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E%25ALAGOAS%25%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AAnd%3E%3C%2Ffes%3AFilter%3E&RESULTTYPE=hits","url_solicitada":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?MAP=%2Fvar%2Fwww%2Fstorage%2Fapp%2Fmapfiles%2Fucs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=ms%3Aucs_selected&FILTER=%3Cfes%3AFilter+xmlns%3Afes%3D%27http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%27+xmlns%3Agml%3D%27http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%27%3E%3Cfes%3AAnd%3E%3Cfes%3APropertyIsEqualTo%3E%3Cfes%3AValueReference%3Elimite%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3Euc%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsEqualTo%3E%3Cfes%3APropertyIsLike+wildCard%3D%27%25%27+singleChar%3D%27_%27+escapeChar%3D%27%21%27%3E%3Cfes%3AValueReference%3Euf%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E%25ALAGOAS%25%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AAnd%3E%3C%2Ffes%3AFilter%3E&RESULTTYPE=hits","valor_declarado":1}],"crs":"EPSG:4674","crs_evidencia":{"arquivo":"cnuc/ucs/AL/exemplo-cnuc-ucs/p000001.gml.gz","localizador":"//*[local-name()='Polygon']/@srsName","tipo":"pagina","valor":"urn:ogc:def:crs:EPSG::4674"},"erro":null,"feicoes":1,"fim":"2026-10-02T20:00:09Z","fonte":"cnuc","formato":"gml","http_fim":null,"http_inicio":null,"http_status":null,"inicio":"2026-10-02T20:00:00Z","modo":"paginado","nome":"AL","opcoes":{"compactar":true,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":100},"paginas":[{"arquivo":"cnuc/ucs/AL/exemplo-cnuc-ucs/p000001.gml.gz","bytes":582,"bytes_armazenados":324,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","crs":"EPSG:4674","feicoes_recebidas":1,"fim":"2026-10-02T20:00:06Z","formato":"gml","http_status":200,"ids_distintos":1,"inicio":"2026-10-02T20:00:05Z","numero":1,"paginacao":{"inicio":0,"quantidade":100,"tipo":"offset"},"parametros":{"COUNT":"100","FILTER":"<fes:Filter xmlns:fes='http://www.opengis.net/fes/2.0' xmlns:gml='http://www.opengis.net/gml/3.2'><fes:And><fes:PropertyIsEqualTo><fes:ValueReference>limite</fes:ValueReference><fes:Literal>uc</fes:Literal></fes:PropertyIsEqualTo><fes:PropertyIsLike wildCard='%' singleChar='_' escapeChar='!'><fes:ValueReference>uf</fes:ValueReference><fes:Literal>%ALAGOAS%</fes:Literal></fes:PropertyIsLike></fes:And></fes:Filter>","MAP":"/var/www/storage/app/mapfiles/ucs.map","REQUEST":"GetFeature","SERVICE":"WFS","SORTBY":"cd_cnuc","STARTINDEX":"0","TYPENAMES":"ms:ucs_selected","VERSION":"2.0.0"},"sha256":"3969b3ffe691dff13fad926492fe18bb1f0499bd38172fd3df8d7f659f400903","total_declarado":"unknown","url":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?MAP=%2Fvar%2Fwww%2Fstorage%2Fapp%2Fmapfiles%2Fucs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=ms%3Aucs_selected&FILTER=%3Cfes%3AFilter+xmlns%3Afes%3D%27http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%27+xmlns%3Agml%3D%27http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%27%3E%3Cfes%3AAnd%3E%3Cfes%3APropertyIsEqualTo%3E%3Cfes%3AValueReference%3Elimite%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3Euc%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsEqualTo%3E%3Cfes%3APropertyIsLike+wildCard%3D%27%25%27+singleChar%3D%27_%27+escapeChar%3D%27%21%27%3E%3Cfes%3AValueReference%3Euf%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E%25ALAGOAS%25%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AAnd%3E%3C%2Ffes%3AFilter%3E&SORTBY=cd_cnuc&COUNT=100&STARTINDEX=0","url_solicitada":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv?MAP=%2Fvar%2Fwww%2Fstorage%2Fapp%2Fmapfiles%2Fucs.map&SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature&TYPENAMES=ms%3Aucs_selected&FILTER=%3Cfes%3AFilter+xmlns%3Afes%3D%27http%3A%2F%2Fwww.opengis.net%2Ffes%2F2.0%27+xmlns%3Agml%3D%27http%3A%2F%2Fwww.opengis.net%2Fgml%2F3.2%27%3E%3Cfes%3AAnd%3E%3Cfes%3APropertyIsEqualTo%3E%3Cfes%3AValueReference%3Elimite%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3Euc%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsEqualTo%3E%3Cfes%3APropertyIsLike+wildCard%3D%27%25%27+singleChar%3D%27_%27+escapeChar%3D%27%21%27%3E%3Cfes%3AValueReference%3Euf%3C%2Ffes%3AValueReference%3E%3Cfes%3ALiteral%3E%25ALAGOAS%25%3C%2Ffes%3ALiteral%3E%3C%2Ffes%3APropertyIsLike%3E%3C%2Ffes%3AAnd%3E%3C%2Ffes%3AFilter%3E&SORTBY=cd_cnuc&COUNT=100&STARTINDEX=0"}],"parametros":{"FILTER":"<fes:Filter xmlns:fes='http://www.opengis.net/fes/2.0' xmlns:gml='http://www.opengis.net/gml/3.2'><fes:And><fes:PropertyIsEqualTo><fes:ValueReference>limite</fes:ValueReference><fes:Literal>uc</fes:Literal></fes:PropertyIsEqualTo><fes:PropertyIsLike wildCard='%' singleChar='_' escapeChar='!'><fes:ValueReference>uf</fes:ValueReference><fes:Literal>%ALAGOAS%</fes:Literal></fes:PropertyIsLike></fes:And></fes:Filter>","MAP":"/var/www/storage/app/mapfiles/ucs.map","REQUEST":"GetFeature","SERVICE":"WFS","SORTBY":"cd_cnuc","TYPENAMES":"ms:ucs_selected","VERSION":"2.0.0"},"recurso":"ucs","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":"ms:ucs_selected","edicao":null,"natureza":null,"uf":"AL"},"sha256":null,"status":"ok","tipo":"recurso","url":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv","url_solicitada":"https://cnuc-mapserv.mma.gov.br/cgi-bin/mapserv"}
ibge / malha_municipal¶
{"agrobr_version":"2.0.0","arquivo":null,"avisos":[],"bytes":null,"bytes_armazenados":null,"cabecalhos":{},"cobertura":{"campo_id":"cd_mun","completa":true,"controles":["ibge/malha_municipal/AL/exemplo-ibge-malha_municipal/controles/c000001.xml.gz","ibge/malha_municipal/AL/exemplo-ibge-malha_municipal/controles/c000002.xml.gz"],"estado":"conferida","ids_distintos":1,"ids_repetidos":0,"recebidas":1,"snapshot_transacional":false,"total_antes":1,"total_depois":1},"coleta_id":"exemplo-ibge-malha_municipal","compressao":"nenhuma","consulta_id":"bb53d383d933f7bd1789bbe15a80f635980df52b04e9dd29766e88ead1ab423b","controles":[{"arquivo":"ibge/malha_municipal/AL/exemplo-ibge-malha_municipal/controles/c000001.xml.gz","bytes":104,"bytes_armazenados":112,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","fim":"2026-10-02T20:00:02Z","formato":"xml","http_status":200,"inicio":"2026-10-02T20:00:01Z","numero":1,"papel":"contagem_antes","parametros":{"CQL_FILTER":"sigla_uf='AL'","request":"GetFeature","resultType":"hits","service":"WFS","typeNames":"CGMAT:qg_2025_030_munic","version":"2.0.0"},"sha256":"b9eafd2e580456593d4eecd2d6ca89abd174349ffce0a18f2dfb00289ec4bbbf","url":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGMAT%3Aqg_2025_030_munic&CQL_FILTER=sigla_uf%3D%27AL%27&resultType=hits","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGMAT%3Aqg_2025_030_munic&CQL_FILTER=sigla_uf%3D%27AL%27&resultType=hits","valor_declarado":1},{"arquivo":"ibge/malha_municipal/AL/exemplo-ibge-malha_municipal/controles/c000002.xml.gz","bytes":104,"bytes_armazenados":112,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","fim":"2026-10-02T20:00:08Z","formato":"xml","http_status":200,"inicio":"2026-10-02T20:00:07Z","numero":2,"papel":"contagem_depois","parametros":{"CQL_FILTER":"sigla_uf='AL'","request":"GetFeature","resultType":"hits","service":"WFS","typeNames":"CGMAT:qg_2025_030_munic","version":"2.0.0"},"sha256":"b9eafd2e580456593d4eecd2d6ca89abd174349ffce0a18f2dfb00289ec4bbbf","url":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGMAT%3Aqg_2025_030_munic&CQL_FILTER=sigla_uf%3D%27AL%27&resultType=hits","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGMAT%3Aqg_2025_030_munic&CQL_FILTER=sigla_uf%3D%27AL%27&resultType=hits","valor_declarado":1}],"crs":"EPSG:4674","crs_evidencia":{"arquivo":"ibge/malha_municipal/AL/exemplo-ibge-malha_municipal/p000001.geojson.gz","localizador":"/crs/properties/name","tipo":"pagina","valor":"urn:ogc:def:crs:EPSG::4674"},"erro":null,"feicoes":1,"fim":"2026-10-02T20:00:09Z","fonte":"ibge","formato":"geojson","http_fim":null,"http_inicio":null,"http_status":null,"inicio":"2026-10-02T20:00:00Z","modo":"paginado","nome":"AL","opcoes":{"compactar":true,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":100},"paginas":[{"arquivo":"ibge/malha_municipal/AL/exemplo-ibge-malha_municipal/p000001.geojson.gz","bytes":337,"bytes_armazenados":232,"cabecalhos":{"content-type":"application/json"},"compressao":"gzip","crs":"EPSG:4674","feicoes_recebidas":1,"fim":"2026-10-02T20:00:06Z","formato":"geojson","http_status":200,"ids_distintos":1,"inicio":"2026-10-02T20:00:05Z","numero":1,"paginacao":{"inicio":0,"quantidade":100,"tipo":"offset"},"parametros":{"CQL_FILTER":"sigla_uf='AL'","count":"100","outputFormat":"application/json","request":"GetFeature","service":"WFS","sortBy":"cd_mun","startIndex":"0","typeNames":"CGMAT:qg_2025_030_munic","version":"2.0.0"},"sha256":"7df21d94f4b8d6bddc13ffd21967fe1a2c9f4601c6be9588c1c900c4c41a13f7","total_declarado":1,"url":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGMAT%3Aqg_2025_030_munic&outputFormat=application%2Fjson&sortBy=cd_mun&CQL_FILTER=sigla_uf%3D%27AL%27&count=100&startIndex=0","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGMAT%3Aqg_2025_030_munic&outputFormat=application%2Fjson&sortBy=cd_mun&CQL_FILTER=sigla_uf%3D%27AL%27&count=100&startIndex=0"}],"parametros":{"CQL_FILTER":"sigla_uf='AL'","outputFormat":"application/json","request":"GetFeature","service":"WFS","sortBy":"cd_mun","typeNames":"CGMAT:qg_2025_030_munic","version":"2.0.0"},"recurso":"malha_municipal","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":"CGMAT:qg_2025_030_munic","edicao":2025,"natureza":null,"uf":"AL"},"sha256":null,"status":"ok","tipo":"recurso","url":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverIBGE/wfs"}
ibge / areas_urbanizadas¶
{"agrobr_version":"2.0.0","arquivo":null,"avisos":[],"bytes":null,"bytes_armazenados":null,"cabecalhos":{},"cobertura":{"campo_id":"fid","completa":true,"controles":["ibge/areas_urbanizadas/area_teste/exemplo-ibge-areas_urbanizadas/controles/c000001.xml.gz","ibge/areas_urbanizadas/area_teste/exemplo-ibge-areas_urbanizadas/controles/c000002.xml.gz"],"estado":"conferida","ids_distintos":1,"ids_repetidos":0,"recebidas":1,"snapshot_transacional":false,"total_antes":1,"total_depois":1},"coleta_id":"exemplo-ibge-areas_urbanizadas","compressao":"nenhuma","consulta_id":"f55a4460e91eec1c635203ddc587e5eb2b7b67df52e76f0116b721eacbb0bee2","controles":[{"arquivo":"ibge/areas_urbanizadas/area_teste/exemplo-ibge-areas_urbanizadas/controles/c000001.xml.gz","bytes":104,"bytes_armazenados":112,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","fim":"2026-10-02T20:00:02Z","formato":"xml","http_status":200,"inicio":"2026-10-02T20:00:01Z","numero":1,"papel":"contagem_antes","parametros":{"CQL_FILTER":"BBOX(geom,-48.1,-16.1,-47.9,-15.9,'EPSG:4674')","request":"GetFeature","resultType":"hits","service":"WFS","typeNames":"CGEO:AU_2026_AreasUrbanizadas2022_Brasil","version":"2.0.0"},"sha256":"b9eafd2e580456593d4eecd2d6ca89abd174349ffce0a18f2dfb00289ec4bbbf","url":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGEO%3AAU_2026_AreasUrbanizadas2022_Brasil&CQL_FILTER=BBOX%28geom%2C-48.1%2C-16.1%2C-47.9%2C-15.9%2C%27EPSG%3A4674%27%29&resultType=hits","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGEO%3AAU_2026_AreasUrbanizadas2022_Brasil&CQL_FILTER=BBOX%28geom%2C-48.1%2C-16.1%2C-47.9%2C-15.9%2C%27EPSG%3A4674%27%29&resultType=hits","valor_declarado":1},{"arquivo":"ibge/areas_urbanizadas/area_teste/exemplo-ibge-areas_urbanizadas/controles/c000002.xml.gz","bytes":104,"bytes_armazenados":112,"cabecalhos":{"content-type":"text/xml"},"compressao":"gzip","fim":"2026-10-02T20:00:08Z","formato":"xml","http_status":200,"inicio":"2026-10-02T20:00:07Z","numero":2,"papel":"contagem_depois","parametros":{"CQL_FILTER":"BBOX(geom,-48.1,-16.1,-47.9,-15.9,'EPSG:4674')","request":"GetFeature","resultType":"hits","service":"WFS","typeNames":"CGEO:AU_2026_AreasUrbanizadas2022_Brasil","version":"2.0.0"},"sha256":"b9eafd2e580456593d4eecd2d6ca89abd174349ffce0a18f2dfb00289ec4bbbf","url":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGEO%3AAU_2026_AreasUrbanizadas2022_Brasil&CQL_FILTER=BBOX%28geom%2C-48.1%2C-16.1%2C-47.9%2C-15.9%2C%27EPSG%3A4674%27%29&resultType=hits","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGEO%3AAU_2026_AreasUrbanizadas2022_Brasil&CQL_FILTER=BBOX%28geom%2C-48.1%2C-16.1%2C-47.9%2C-15.9%2C%27EPSG%3A4674%27%29&resultType=hits","valor_declarado":1}],"crs":"EPSG:4674","crs_evidencia":{"arquivo":"ibge/areas_urbanizadas/area_teste/exemplo-ibge-areas_urbanizadas/p000001.geojson.gz","localizador":"/crs/properties/name","tipo":"pagina","valor":"urn:ogc:def:crs:EPSG::4674"},"erro":null,"feicoes":1,"fim":"2026-10-02T20:00:09Z","fonte":"ibge","formato":"geojson","http_fim":null,"http_inicio":null,"http_status":null,"inicio":"2026-10-02T20:00:00Z","modo":"paginado","nome":"area_teste","opcoes":{"compactar":true,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":100},"paginas":[{"arquivo":"ibge/areas_urbanizadas/area_teste/exemplo-ibge-areas_urbanizadas/p000001.geojson.gz","bytes":318,"bytes_armazenados":209,"cabecalhos":{"content-type":"application/json"},"compressao":"gzip","crs":"EPSG:4674","feicoes_recebidas":1,"fim":"2026-10-02T20:00:06Z","formato":"geojson","http_status":200,"ids_distintos":1,"inicio":"2026-10-02T20:00:05Z","numero":1,"paginacao":{"inicio":0,"quantidade":100,"tipo":"offset"},"parametros":{"CQL_FILTER":"BBOX(geom,-48.1,-16.1,-47.9,-15.9,'EPSG:4674')","count":"100","outputFormat":"application/json","request":"GetFeature","service":"WFS","sortBy":"fid","startIndex":"0","typeNames":"CGEO:AU_2026_AreasUrbanizadas2022_Brasil","version":"2.0.0"},"sha256":"0b688742a3f7a99e91dae04260370827649a2475790b157b5bf1ca9d1f897f96","total_declarado":1,"url":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGEO%3AAU_2026_AreasUrbanizadas2022_Brasil&outputFormat=application%2Fjson&sortBy=fid&CQL_FILTER=BBOX%28geom%2C-48.1%2C-16.1%2C-47.9%2C-15.9%2C%27EPSG%3A4674%27%29&count=100&startIndex=0","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=CGEO%3AAU_2026_AreasUrbanizadas2022_Brasil&outputFormat=application%2Fjson&sortBy=fid&CQL_FILTER=BBOX%28geom%2C-48.1%2C-16.1%2C-47.9%2C-15.9%2C%27EPSG%3A4674%27%29&count=100&startIndex=0"}],"parametros":{"CQL_FILTER":"BBOX(geom,-48.1,-16.1,-47.9,-15.9,'EPSG:4674')","outputFormat":"application/json","request":"GetFeature","service":"WFS","sortBy":"fid","typeNames":"CGEO:AU_2026_AreasUrbanizadas2022_Brasil","version":"2.0.0"},"recurso":"areas_urbanizadas","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":[-48.1,-16.1,-47.9,-15.9],"bbox_crs":"EPSG:4674","camada":"CGEO:AU_2026_AreasUrbanizadas2022_Brasil","edicao":2022,"natureza":null,"uf":null},"sha256":null,"status":"ok","tipo":"recurso","url":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs","url_solicitada":"https://geoservicos.ibge.gov.br/geoserverCGEO/wfs"}
acervo_fundiario / sigef_publico¶
{"agrobr_version":"2.0.0","arquivo":"acervo_fundiario/sigef_publico/AL/exemplo-acervo_fundiario-sigef_publico/original.zip","avisos":[],"bytes":1220,"bytes_armazenados":1220,"cabecalhos":{"content-length":"1220","content-type":"application/x-zip-compressed","etag":"\"exemplo-sigef_publico\"","last-modified":"Fri, 02 Oct 2026 20:00:00 GMT"},"cobertura":{"campo_id":null,"completa":true,"controles":[],"estado":"nao_aplicavel","ids_distintos":null,"ids_repetidos":null,"recebidas":null,"snapshot_transacional":false,"total_antes":null,"total_depois":null},"coleta_id":"exemplo-acervo_fundiario-sigef_publico","compressao":"nenhuma","consulta_id":"090ff8e709fb9534ad3e40d8bd925cd7c5ea396043896cd485c87342f31154ef","controles":[],"crs":null,"crs_evidencia":null,"erro":null,"feicoes":null,"fim":"2026-10-02T20:00:09Z","fonte":"acervo_fundiario","formato":"zip","http_fim":"2026-10-02T20:00:08Z","http_inicio":"2026-10-02T20:00:01Z","http_status":200,"inicio":"2026-10-02T20:00:00Z","modo":"arquivo","nome":"AL","opcoes":{"compactar":false,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":null},"paginas":[],"parametros":{},"recurso":"sigef_publico","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":null,"edicao":null,"natureza":"publico","uf":"AL"},"sha256":"7f17928b731c64b486004a94e74194ef6037acf7fe57c0ec70433d4117f27f47","status":"ok","tipo":"recurso","url":"https://certificacao.incra.gov.br/csv_shp/zip/Sigef%20P%C3%BAblico_AL.zip","url_solicitada":"https://certificacao.incra.gov.br/csv_shp/zip/Sigef%20P%C3%BAblico_AL.zip"}
acervo_fundiario / sigef_privado¶
{"agrobr_version":"2.0.0","arquivo":"acervo_fundiario/sigef_privado/AL/exemplo-acervo_fundiario-sigef_privado/original.zip","avisos":[],"bytes":1220,"bytes_armazenados":1220,"cabecalhos":{"content-length":"1220","content-type":"application/x-zip-compressed","etag":"\"exemplo-sigef_privado\"","last-modified":"Fri, 02 Oct 2026 20:00:00 GMT"},"cobertura":{"campo_id":null,"completa":true,"controles":[],"estado":"nao_aplicavel","ids_distintos":null,"ids_repetidos":null,"recebidas":null,"snapshot_transacional":false,"total_antes":null,"total_depois":null},"coleta_id":"exemplo-acervo_fundiario-sigef_privado","compressao":"nenhuma","consulta_id":"b4babc34fe42b1f367a37f197ad34ea6d9acc79edd78e6705671540e74536a77","controles":[],"crs":null,"crs_evidencia":null,"erro":null,"feicoes":null,"fim":"2026-10-02T20:00:09Z","fonte":"acervo_fundiario","formato":"zip","http_fim":"2026-10-02T20:00:08Z","http_inicio":"2026-10-02T20:00:01Z","http_status":200,"inicio":"2026-10-02T20:00:00Z","modo":"arquivo","nome":"AL","opcoes":{"compactar":false,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":null},"paginas":[],"parametros":{},"recurso":"sigef_privado","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":null,"edicao":null,"natureza":"privado","uf":"AL"},"sha256":"d2d49150be8ec0612161b1a8506ceb3e9c2a96297eec39f69463a3177b7e04fc","status":"ok","tipo":"recurso","url":"https://certificacao.incra.gov.br/csv_shp/zip/Sigef%20Privado_AL.zip","url_solicitada":"https://certificacao.incra.gov.br/csv_shp/zip/Sigef%20Privado_AL.zip"}
acervo_fundiario / snci_publico¶
{"agrobr_version":"2.0.0","arquivo":"acervo_fundiario/snci_publico/AL/exemplo-acervo_fundiario-snci_publico/original.zip","avisos":[],"bytes":1200,"bytes_armazenados":1200,"cabecalhos":{"content-length":"1200","content-type":"application/x-zip-compressed","etag":"\"exemplo-snci_publico\"","last-modified":"Fri, 02 Oct 2026 20:00:00 GMT"},"cobertura":{"campo_id":null,"completa":true,"controles":[],"estado":"nao_aplicavel","ids_distintos":null,"ids_repetidos":null,"recebidas":null,"snapshot_transacional":false,"total_antes":null,"total_depois":null},"coleta_id":"exemplo-acervo_fundiario-snci_publico","compressao":"nenhuma","consulta_id":"2f24eecf6f90be43d50a64ee4ded68d323d68dc8eefbb30f1624ae5225924d25","controles":[],"crs":null,"crs_evidencia":null,"erro":null,"feicoes":null,"fim":"2026-10-02T20:00:09Z","fonte":"acervo_fundiario","formato":"zip","http_fim":"2026-10-02T20:00:08Z","http_inicio":"2026-10-02T20:00:01Z","http_status":200,"inicio":"2026-10-02T20:00:00Z","modo":"arquivo","nome":"AL","opcoes":{"compactar":false,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":null},"paginas":[],"parametros":{},"recurso":"snci_publico","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":null,"edicao":null,"natureza":"publico","uf":"AL"},"sha256":"85843e54d72b4cd5d6397bda0bda995f9a356668bcc489f5f70ab5815aa34e25","status":"ok","tipo":"recurso","url":"https://certificacao.incra.gov.br/csv_shp/zip/Im%C3%B3vel%20certificado%20SNCI%20P%C3%BAblico_AL.zip","url_solicitada":"https://certificacao.incra.gov.br/csv_shp/zip/Im%C3%B3vel%20certificado%20SNCI%20P%C3%BAblico_AL.zip"}
acervo_fundiario / snci_privado¶
{"agrobr_version":"2.0.0","arquivo":"acervo_fundiario/snci_privado/AL/exemplo-acervo_fundiario-snci_privado/original.zip","avisos":[],"bytes":1200,"bytes_armazenados":1200,"cabecalhos":{"content-length":"1200","content-type":"application/x-zip-compressed","etag":"\"exemplo-snci_privado\"","last-modified":"Fri, 02 Oct 2026 20:00:00 GMT"},"cobertura":{"campo_id":null,"completa":true,"controles":[],"estado":"nao_aplicavel","ids_distintos":null,"ids_repetidos":null,"recebidas":null,"snapshot_transacional":false,"total_antes":null,"total_depois":null},"coleta_id":"exemplo-acervo_fundiario-snci_privado","compressao":"nenhuma","consulta_id":"6004975a7070092d9c0c32870150bf54196b711b27853db9032be8ce009e5130","controles":[],"crs":null,"crs_evidencia":null,"erro":null,"feicoes":null,"fim":"2026-10-02T20:00:09Z","fonte":"acervo_fundiario","formato":"zip","http_fim":"2026-10-02T20:00:08Z","http_inicio":"2026-10-02T20:00:01Z","http_status":200,"inicio":"2026-10-02T20:00:00Z","modo":"arquivo","nome":"AL","opcoes":{"compactar":false,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":null},"paginas":[],"parametros":{},"recurso":"snci_privado","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":null,"edicao":null,"natureza":"privado","uf":"AL"},"sha256":"0a4ce6e02cb4ef3cb49187accdd78a328066854abaab11fe087c2e062a1af651","status":"ok","tipo":"recurso","url":"https://certificacao.incra.gov.br/csv_shp/zip/Im%C3%B3vel%20certificado%20SNCI%20Privado_AL.zip","url_solicitada":"https://certificacao.incra.gov.br/csv_shp/zip/Im%C3%B3vel%20certificado%20SNCI%20Privado_AL.zip"}
acervo_fundiario / snci_brasil¶
{"agrobr_version":"2.0.0","arquivo":"acervo_fundiario/snci_brasil/AL/exemplo-acervo_fundiario-snci_brasil/original.zip","avisos":[],"bytes":1180,"bytes_armazenados":1180,"cabecalhos":{"content-length":"1180","content-type":"application/x-zip-compressed","etag":"\"exemplo-snci_brasil\"","last-modified":"Fri, 02 Oct 2026 20:00:00 GMT"},"cobertura":{"campo_id":null,"completa":true,"controles":[],"estado":"nao_aplicavel","ids_distintos":null,"ids_repetidos":null,"recebidas":null,"snapshot_transacional":false,"total_antes":null,"total_depois":null},"coleta_id":"exemplo-acervo_fundiario-snci_brasil","compressao":"nenhuma","consulta_id":"e808c06ffe8258cc91b2093abe6522022ceb697c3d1285db4cb76e157398129f","controles":[],"crs":null,"crs_evidencia":null,"erro":null,"feicoes":null,"fim":"2026-10-02T20:00:09Z","fonte":"acervo_fundiario","formato":"zip","http_fim":"2026-10-02T20:00:08Z","http_inicio":"2026-10-02T20:00:01Z","http_status":200,"inicio":"2026-10-02T20:00:00Z","modo":"arquivo","nome":"AL","opcoes":{"compactar":false,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":null},"paginas":[],"parametros":{},"recurso":"snci_brasil","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":null,"edicao":null,"natureza":null,"uf":"AL"},"sha256":"2427aab938541297a1d359016d1e5c90180ad1879af9e7d0a870417f318f5124","status":"ok","tipo":"recurso","url":"https://certificacao.incra.gov.br/csv_shp/zip/Im%C3%B3vel%20certificado%20SNCI%20Brasil_AL.zip","url_solicitada":"https://certificacao.incra.gov.br/csv_shp/zip/Im%C3%B3vel%20certificado%20SNCI%20Brasil_AL.zip"}
cnuc / cadastro¶
{"agrobr_version":"2.0.0","arquivo":"cnuc/cadastro/brasil/exemplo-cnuc-cadastro/original.csv","avisos":[],"bytes":70,"bytes_armazenados":70,"cabecalhos":{"content-type":"text/csv","etag":"\"exemplo-cnuc-cadastro\"","last-modified":"Fri, 02 Oct 2026 20:00:00 GMT"},"cobertura":{"campo_id":null,"completa":true,"controles":[],"estado":"nao_aplicavel","ids_distintos":null,"ids_repetidos":null,"recebidas":null,"snapshot_transacional":false,"total_antes":null,"total_depois":null},"coleta_id":"exemplo-cnuc-cadastro","compressao":"nenhuma","consulta_id":"45ae513cfc8f1b6abac604d10e862c323fb575b76025ee67774268263f8e4e75","controles":[],"crs":null,"crs_evidencia":null,"erro":null,"feicoes":null,"fim":"2026-10-02T20:00:09Z","fonte":"cnuc","formato":"csv","http_fim":"2026-10-02T20:00:08Z","http_inicio":"2026-10-02T20:00:01Z","http_status":200,"inicio":"2026-10-02T20:00:00Z","modo":"arquivo","nome":"brasil","opcoes":{"compactar":false,"limites":{"max_bytes_ids":67108864,"max_bytes_pagina":8388608,"max_bytes_recurso":4294967296,"max_ids":500000,"max_paginas":10000,"max_segundos":3600.0},"tamanho_pagina":null},"paginas":[],"parametros":{},"recurso":"cadastro","registrado_em":"2026-10-02T20:00:10Z","schema_version":"1.0.0","selecao":{"bbox":null,"bbox_crs":null,"camada":null,"edicao":202607,"natureza":null,"uf":null},"sha256":"7413cd5659ddc0c54b8dc6fbcad667ba52bcc197fa83da49509a8a98c257f6ff","status":"ok","tipo":"recurso","url":"https://dados.mma.gov.br/dataset/44b6dc8a-dc82-4a84-8d95-1b0da7c85dac/resource/72dd3d2d-3cca-4b97-b382-a1c90531e379/download/cnuc_2026_07.csv","url_solicitada":"https://dados.mma.gov.br/dataset/44b6dc8a-dc82-4a84-8d95-1b0da7c85dac/resource/72dd3d2d-3cca-4b97-b382-a1c90531e379/download/cnuc_2026_07.csv"}
Scope and compatibility¶
Raw mode does not normalize attributes, reproject or repair geometries, deduplicate
versions or merge public/private ZIPs, and does not promise that their union equals the
Brasil file. It does not compare collections or detect thematic changes: a rewritten
ZIP or a WFS timeStamp can change the hash without changing the data relevant to the consumer.
It offers no DataFrame, Parquet, as_polars, return_meta, free-form SQL/CQL, arbitrary
URL, local filter presented as a remote selection or study-area selection.
External readers must be adapted by their consumers.
It does not use agrobr's semantic snapshot format.
Table APIs retain their contracts and CRS. acervo_fundiario.snci() and snci_geo()
without natureza still read that state's Brasil file. Opting in with
natureza="publico" or "privado" is separate from this file API.
ANA page hashes in MetaInfo are also not a file manifest:
they provide no paths and do not establish that bodies were stored.
Every raw-mode source is livre in the source licenses, so collection emits
no license warning. Preserving a body does not change its license or validate its thematic content.
Names, types, required fields and the meaning of status, hashes, CRS, paths and coverage are part of the contract. Incompatible changes require a schema major version; new optional fields, minor; compatible fixes, patch. Source payloads are not versioned by agrobr. Readers accept additional optional fields within a known major and reject unknown majors. Writers only modify manifest versions they can preserve in full; in 1.0.0, other versions are rejected before network access. See the versioning policy.