IBAMA — Embargos Ambientais¶
Visao Geral¶
| Item | Detalhe |
|---|---|
| Provedor | IBAMA (Instituto Brasileiro do Meio Ambiente e dos Recursos Naturais Renovaveis) |
| Dados | Termos de embargo por infracoes ambientais (sistema de fiscalizacao do IBAMA) |
| Acesso | CSV do conjunto "Fiscalização - termo de embargo" no portal de dados abertos do IBAMA |
| Formato | CSV UTF-8 com BOM, ;, campos entre aspas, ~208 MB sem compressão (a fonte não publica versão compactada), geometrias WKT |
| Autenticação | Nenhuma |
| Licença | "Outra (Aberta)" no catálogo; dados abertos federais, uso livre com crédito da fonte (detalhes) |
| Registros | 116.332 termos (edição de 23/09/2026), atualização diária |
Desde a 2.0.0 o agrobr lê o recurso vigente do conjunto. O ZIP antigo (
dadosabertos.ibama.gov.br/dados/SIFISC/termo_embargo/termo_embargo/termo_embargo_csv.zip) parou em 03/05/2026 e não está mais no catálogo. O link do catálogo para o CSV tem erro de caminho (dados/TERMOS/TERMO_EMBARGO/..., 404); o arquivo publicado está no endereço abaixo.
Acesso¶
| Parâmetro | Valor |
|---|---|
| URL | stibamadadosabertosprd.blob.core.windows.net/dados-abertos/dados/TERMOS_DE_EMBARGO/TERMO_EMBARGO/termo_de_embargo.csv |
| Catálogo | dadosabertos.ibama.gov.br/dataset/fiscalizacao-termo-de-embargo |
| Atualização | Diária; a edição lida (ULTIMA_ATUALIZACAO_RELATORIO, horário de Brasília) vai em meta.source_details["ultima_atualizacao_relatorio"] |
| Filtros | uf e bbox aplicados client-side após o download |
Exemplo de Uso¶
import asyncio
from agrobr import ibama
async def main():
# Todos os embargos do Brasil
df = await ibama.embargos()
# Filtrar por UF
df = await ibama.embargos(uf="MT")
# Com geometria WKT (requer geopandas — extra [geo])
gdf = await ibama.embargos_geo(uf="RR")
gdf = await ibama.embargos_geo(bbox=(-56, -16, -54, -14))
# Com metadados (edição da fonte em meta.source_details)
df, meta = await ibama.embargos(return_meta=True)
# Polars
df = await ibama.embargos(as_polars=True)
# Ignorar o cache e baixar de novo
df = await ibama.embargos(use_cache=False)
asyncio.run(main())
Colunas¶
| Coluna | Tipo | Descrição |
|---|---|---|
| seq_tad | str | Identificador do termo no sistema de fiscalizacao (vazio nos 2.862 termos do AIe) |
| numero_tad | str | Número do Termo de Embargo (numérico até 07/10/2019; alfanumérico no AIe) |
| data_embargo | datetime | Data e hora da lavratura, horário de Brasília sem fuso |
| num_processo | str | Número do processo administrativo |
| descricao | str | Descrição do embargo, texto livre da fonte |
| codigo_municipio | str | Código IBGE do município (7 dígitos; 2 termos trazem 431173, 6 dígitos e espaço, como na fonte) |
| municipio | str | Município |
| uf | str | UF (sigla) |
| latitude / longitude | float | Ponto de referência do termo, como na fonte: 94.655 termos com ponto; 4.416 com os dois zerados (0 = não informado) e 17.261 com coordenada vazia; 387 pontos fora do retângulo do Brasil |
| area_embargada_ha | float | Area embargada em hectares (4 casas decimais com vírgula na fonte; área com ponto levanta ParseError) |
| nome_imovel | str | Nome do imovel |
| status | str | Situação do termo: Lavrado, Cancelado, Substituído por outro, Excluído (vazio nos termos do AIe) |
| cancelado | bool | SIT_CANCELADO = S |
| data_desembargo | datetime | Data do registro do desembargo; NaT = sem desembargo registrado (a fonte marca SIT_DESEMBARGO = S exatamente nesses termos) |
embargos_geo adiciona geometry (Polygon/MultiPolygon) lida do WKT do próprio CSV — somente registros com
poligono (58.984 na edição de 23/09/2026). O CSV não declara SRID; a base de origem no GIS do IBAMA
(adm_embargos_ibama_a) está em SIRGAS 2000 (EPSG:4674), e o agrobr rotula EPSG:4326 sem reprojetar (a
transformação SIRGAS 2000 → WGS 84 da EPSG é nula).
Particularidades¶
- Dado pessoal: o CSV da fonte traz nome e CPF/CNPJ do embargado; as tabelas do agrobr não expõem esses
campos (política do projeto).
descricaoé texto livre da fonte. O cache de 1 hora, porém, guarda o arquivo inteiro, com essas colunas, e a primeira gravação avisa comUserWarning. Quem não quer o dado pessoal em disco usause_cache=False, que não grava nada, ou apaga a pastaibama/do cache depois da consulta. Quem precisar dos campos para compliance pode baixar o CSV bruto da fonte. - Datas sujas na fonte: há datas fora de qualquer faixa plausível (anos 1667, 2063, 2080, 2090 e 2925). Pela regra
de datas do agrobr (Normalização), igual no pandas 2 e no 3, vira
NaTa data com ano fora de 1900–2099 (1667 e 2925) e a de dia posterior à edição do próprio arquivo (ULTIMA_ATUALIZACAO_RELATORIO; na de 23/09/2026, 2063, 2080 e 2090): um termo não pode ser datado depois do arquivo que o publica. A consulta avisa comUserWarninge emmeta.validation_warnings, com a coluna e a quantidade. As duas colunas de data saem emdatetime64[ns]. A edição é a maior data válida (ano de 1900 a 2099) da colunaULTIMA_ATUALIZACAO_RELATORIO; valor ilegível ou fora dessa faixa não conta. Se nenhum valor for válido, a consulta avisa que não leu a edição e não anulou a data posterior a ela, eultima_atualizacao_relatoriosaiNone. - bbox:
embargos(bbox=...)filtra pelo ponto de referência (lat/lon) do termo;embargos_geo(bbox=...)filtra pela interseção do polígono com a caixa. Os dois podem divergir: no bbox do exemplo, 9 termos têm o ponto dentro e o polígono fora, e 4 têm o polígono dentro e o ponto fora ou ausente. O ponto com latitude e longitude zeradas (não informado) fica fora do filtro deembargos(bbox=...), mesmo numa caixa que contém (0, 0); sembbox, sai como na fonte. - Geometrias: 1 WKT ilegível (anel aberto) é descartado com aviso no log; 129 polígonos com topologia inválida saem como publicados.
- Cache de 1 hora: o CSV (~208 MB) fica em
ibama/termo_embargo.csvna pasta de cache, com um manifesto (SHA-256 e hora da coleta), e é reusado por 1 hora a partir da coleta. Chamadas seguidas, com filtros diferentes, baixam o arquivo uma vez só, inclusive quando rodam juntas. OMetaInfotrazfrom_cache=Truee, emfetched_at, a hora da coleta, e não a da chamada.use_cache=Falsebaixa de novo sem ler nem gravar o cache. Arquivo corrompido ou vencido é baixado outra vez. O arquivo vencido não é apagado: fica no disco até a próxima coleta sobrescrevê-lo. - Geo sem filtro:
embargos_geo()semuf/bboxparseia WKT do Brasil inteiro (~4 s); um warning e emitido. Combbox, o WKT de toda a seleção é lido.
Limitacoes¶
- Geometria presente em parte dos registros (embargos sem poligono ficam fora do geo)
- O arquivo inteiro (~208 MB) é baixado, e os filtros são locais; o cache de 1 hora evita repetir o download
- Licença: ver Licenças
Coleta bruta¶
agrobr.bruto.coletar("ibama", "termos_embargo", ...) guarda o CSV de termos de embargo inteiro (~209 MB) como o
IBAMA publica, sem cache nem leitura das colunas; embargos() e embargos_geo() seguem com o cache de 1 hora. O IBAMA
não publica edição: selecao.edicao fica null, e a data do arquivo está em cabecalhos (last-modified). UF e bbox
são recusadas.
Dado pessoal: o arquivo traz nome e CPF/CNPJ das pessoas físicas e jurídicas embargadas, colunas que as funções de tabela não leem. Quem guarda o arquivo bruto guarda dado pessoal e deve tratá-lo conforme a LGPD. Veja a API da coleta bruta e o contrato do manifesto.
Geometria inválida¶
A geometria das saídas _geo sai como a fonte publica, sem reparo; geometria inválida gera aviso e contagem no MetaInfo. Veja Geometrias publicadas.