# CATÁLOGO DE DADOS — Triagem de terrenos industriais/logísticos, Guarulhos e entorno
Novaterra x iAgroSat · análise / beta privado · setembro de 2026

**Procedência, não fé pública. Triagem: sinal, não prova.** Cada camada que a entrega usa está aqui com fonte, data, script, número de linhas medido, hash de um export determinístico (comando reproduzível), método, confiança, limites e cadência de verificação. Política em `METODOLOGIA_HONESTIDADE.md`.

Camadas catalogadas: **298** (114 visíveis ao cliente) · campos no dicionário: **1093** · verificações registradas: **668** (última rodada automática: 142 passa · 12 atenção · 6 falha).

## 1. Catálogo de camadas

| Tabela | O que é | Fonte | Data do dado | Acesso | Script | Linhas | SHA-256 (12) | Método | Confiança | Limites | Frescor | Próxima verif. | Resp. | Validado em | Resultado |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| acesso_polos | 1.085.546 tempos e distâncias de rota até 14 polos logísticos (GRU Cargo, Viracopos, Porto de Santos, Rodoanel, centro de SP, Congonhas e 8 cabeças de rodovia) por célula, imóvel CAR e lote urbano | OSRM próprio sobre OpenStreetMap, recorte RMSP + Campinas + Santos ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | OSM 2026-08-27T20:21:06Z | 2026-08-30 | pipeline/88a_polos_geom.py + osm/polos/build_osrm_polos.sh + pipeline/88b_acesso_polos.py |  |  | rota do centroide da célula e do ponto interior do imóvel; Santos = mínimo entre 3 portões de contêiner; NULL quando a via mais próxima está a mais de 1.000 m (cobertura 95,7 % das células, 98,9 % dos imóveis) | alta (método) / fluxo livre | fluxo livre, perfil de automóvel: no pico da RMSP os tempos reais são 1,5 a 2,5× maiores; o Rodoanel Norte está como highway=construction no OSM e o tempo pelo vetor norte está SUPERESTIMADO; 'cabeça de rodovia mais próxima' NÃO atribui corredor de escoamento | semestral |  | agente |  |  |
| anuncio_ponto | Posição final de cada anúncio ou lote de leilão (79.641 de 88.564 com posição) com a classe de precisão medida | derivada de cbre.anuncios + anuncio_geo | 2026-08-30 | 2026-08-30 | geocode/40_recalculo.sql |  |  | coordenada da fonte quando existe, senão a cascata; classe (lote/quadra/setor/bairro/suspeito) ancorada no erro MEDIDO contra gabarito cego, não no raio declarado | alta só na classe 'lote' | centroide de bairro nunca conta como 'anúncio dentro do imóvel'; 40 pontos publicados pela fonte caem fora do município que a própria fonte declara e ficam marcados 'suspeito' | semanal |  | agente |  |  |
| anuncios | Anúncios e lotes de leilão coletados (portais, leiloeiros, carteiras); preço pedido, nunca transação | Chaves na Mão, Portal Zuk, Mega Leilões, Superbid, Caixa, LOG CP, Bresco, Herzog ([url](https://venda-imoveis.caixa.gov.br/listaweb/Lista_imoveis_SP.csv)) | 2026-08-28 em diante (cron) | 2026-08-28 | mercado/run_all.sh (semanal) + run_leiloes_diario.sh (diário) → load.py | 88564 | 61f407bfb552 | cadência 2-4 s, parada no 1º 403/429; geom só com lat/lon nativo | pedida ≠ transação | só ~1,7 % com coordenada; ZAP/VivaReal/OLX bloqueiam | semanal | 2026-09-06 | agente | 2026-08-30T00:00:00+00:00 | atencao |
| aprm_ae | APRM Alto Tietê Cabeceiras e Alto Juquery + mananciais de Guarulhos | DataGeo/IDEA-SP (Leis 15.913/2015, 15.790/2015) + SDU Guarulhos ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageo/ows?service=WFS&request=GetCapabilities)) | 2015 | 2026-08-28 | pipeline/45_mananciais.sql | 6 | 962668638427 | união das três camadas | alta (fonte) | Guarapiranga/Billings e APMs 1975/76 NÃO carregadas: aprm=0 não é 'fora de manancial' | anual | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| area_estudo_municipios | Os 9 municípios com código IBGE e área | malha municipal IBGE | malha 2022 | 2026-08-28 |  | 9 | 2d9373d7ca4f | seleção | alta | — | estatico | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| aruja_perimetro_urbano_lc42 | Perímetro urbano de Arujá (atual + ampliado, 68,8 km²) vetorizado da Planta 1 da LC 42/2019 | Câmara Municipal de Arujá (siscam), LC 42/2019 Planta 1 — Novo Perímetro Urbano ([url](https://camaraaruja.sp.gov.br)) | 2019 | 2026-08-29 | pipeline/zon_aruja/15_assemble.py + 15b_table.sql |  |  | 66 GCPs de interseção da grade UTM, modelo afim, RMSE 13,7 m | alta/media | é o único perímetro urbano lido de LEI entre os 9 municípios; nos outros 8 o perímetro é INFERIDO da macrozona + zona de uso; separa também 'branco = ZUPI-1' de 'branco = Z-R' na Planta 2 | semestral |  | agente |  |  |
| assemblagem | Radar de remembramento (rotulo publicado; tabela mantida como "assemblagem"): quadras fiscais de Sao Paulo com 3+ lotes distintos de terreno/industria/armazens transacionados na mesma janela movel de 730 dias, com ITBI pago. E a COMPRA SUCESSIVA de lotes na mesma quadra, que costuma preceder o remembramento; o remembramento em si (fusao de matriculas, art. 234 da Lei 6.015/1973) so aparece na matricula, que nao lemos. | derivada de cbre.itbi_sp (ITBI/PMSP) x cbre.cad_lote x cbre.cad_sp_quadra x cbre.itbi_sp_lote_zona ([url](https://prefeitura.sp.gov.br/web/fazenda/w/acesso_a_informacao/31501)) | transacoes 2022-2026 | 2026-08-30 | cbre/valor/30_assemblagem.sql + 31_assemblagem_tabela.sql | 422 |  | janela movel de 730 dias por quadra fiscal (setor+quadra do SQL); area combinada somada por LOTE DISTINTO; exclui proporcao < 100% e fracao ideal <> 1 | media | NAO prova comprador unico: adjacencia na mesma quadra nao identifica adquirente e a fonte nao publica nome. Valor declarado nao e preco pago. Quadra fiscal nao e quadra fisica. Lote transacionado nao e lote a venda. | mensal | 2026-09-30 | agente |  |  |
| cad_fonte | Catálogo das fontes de cadastro municipal e estadual consultadas: URL, formato, licença, CRS, se há dado pessoal, contagem e caminho de atualização | registro próprio (research/31) | 2026-08-30 | 2026-08-30 | pipeline/cadastro/30_normaliza.sql |  |  | uma linha por fonte consultada, inclusive as ABANDONADAS | n.a. | registra também o que NÃO foi ingerido de propósito: Mogi das Cruzes (campo proprietario) e Salvador (CPF/nome do contribuinte) foram abandonados no ponto em que a identidade aparece | trimestral |  | humano |  |  |
| cad_galpao_oficial | Os 343 galpões e condomínios logísticos cadastrados pela Secretaria da Fazenda de Guarulhos, com a empresa ocupante | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sf_galpoes ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 |  |  |  | carga do WFS | alta (cadastro oficial do município) | a empresa ocupante é pessoa jurídica (não é dado pessoal); cadastro fiscal pode atrasar em relação à ocupação real; é ponto, não polígono do galpão | trimestral |  | agente |  |  |
| cad_lote | Lote urbano normalizado de São Paulo (polígono) e Guarulhos (ponto), com vacância decidida por duas fontes independentes | GeoSampa geoportal:lote_cidadao (1.687.715 lotes) + GeoServer de Guarulhos geocorppg:pg_subblocos (394.861 registros / 216.172 lotes) ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS; lido em 30/08/2026 | 2026-08-30 | pipeline/cadastro/10_geosampa_lote.py + 20_guarulhos_wfs.sh + 30_normaliza.sql + 35_guarulhos_voronoi.sql + 41_vacancia_osm.sql |  |  | um lote só é 'vazio' quando o cadastro (ou a edificação municipal) E a pegada OSM concordam em zero — regra DECLARADA; em Guarulhos o polígono só existe quando a quadra física tem um único lote (metodo_geom = quadra_lote_unico), senão fica area_aprox_m2 por Voronoi dentro da quadra | alta em São Paulo / declarada em Guarulhos | lote cadastral NÃO é matrícula e NÃO é disponibilidade (o cadastro é fiscal, existe para lançar IPTU, e atrasa em relação à realidade); a área por Voronoi de Guarulhos NÃO é área de lote; a camada de edificação de Guarulhos é marcada 'descontinuada' pelo próprio produtor; ausência de pegada é indício, não vistoria; 2 dos 9 municípios publicam lote e só 1 publica polígono — somar os 9 é erro | trimestral |  | agente |  |  |
| cad_lote_x | O lote urbano cruzado com zona, macrozona, acesso, anúncio, leilão, estoque logístico, CAR e vacância | derivada de cad_lote × camadas da frente | 2026-08-30 | 2026-08-30 | pipeline/cadastro/40_cruzamento.sql + 41_vacancia_osm.sql + 41b_vacancia_sp.sql + 42_zona_galpao_sp_gu.sql + 43_car_mercado.sql |  |  | junção espacial; o acesso é HERDADO da célula de 250 m | declarada | valem todas as ressalvas de cad_lote; a cobertura desigual entre municípios não se dissolve numa média | trimestral |  | agente |  |  |
| cad_zona_galpao | Leitura declarada de 'galpão entra' por sigla de zona de São Paulo e de Guarulhos, para aplicar ao lote urbano | glossário das leis municipais (research/14) + cbre.zoneamento_parametros | leis vigentes (SP Lei 18.177/2024; Guarulhos Lei 7.888/2021) | 2026-08-30 | pipeline/cadastro/42_zona_galpao_sp_gu.sql |  |  | uma linha por (município, sigla); em Guarulhos e São Paulo a lei ainda não está em cbre.zoneamento_parametros, então a regra é DECLARADA aqui a partir do glossário | leitura da lei, não parecer | não é certidão de uso do solo; sigla ambígua é resolvida pela interpretação MAIS RESTRITIVA | anual |  | humano |  |  |
| car_status | 7.395 imóveis CAR ≥ 2 ha com situação de uso 2014-2024, NDVI, zona, UC, APRM | SICAR + MapBiomas + Sentinel-2 + zoneamento | 28-29/08/2026 | 2026-08-29 | pipeline/83_car_parado_status.sql + 84 + 84b + 85_car_parado_ndvi_update.sql | 7395 | 2918845d140b | classe e classe_alt; anos_sem_cultura; ndvi_corrobora | triagem | MapBiomas 30 m; classe mosaico indistinta | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| catalogo_camadas | A ficha de procedência de cada camada (esta tabela): fonte, URL, licença, data do dado, método, confiança, limites, frescor, responsável e se o cliente vê | registro próprio (REGRA_DE_ENTRADA.md) | 2026-08-30 | 2026-08-30 | pipeline/qa/00_schema.sql + 20_catalogo.py (n_linhas/sha256/validado_em vêm de catalogo_refresh.py) |  |  | uma linha por tabela; campo desconhecido = NULL + motivo_null, nunca inventado | n.a. | a ficha declara PROCEDÊNCIA, não confere o dado: quem confere é qa_checks.py e o log em cbre.validacao | semanal |  | humano |  |  |
| com_alvo | As mesmas medidas por ALVO: imóvel do CAR, lote urbano vazio do cadastro, matrícula urbana do ONR e item da lista de mercado Industrial & Logística | derivada de cbre.com_favela e cbre.com_zeis sobre os quatro universos de alvo | ver com_favela e com_zeis | 2026-08-31 | comunidades/40_metricas.sql · 50_fator.sql | 14084 |  | sobreposição medida na geometria do próprio alvo onde ele tem polígono; onde o alvo é PONTO (anúncio, lote publicado por Guarulhos como ponto) a sobreposição é binária, dentro/fora, sem fração — e isso está na coluna geom_tipo | alta para alvo com polígono; média para alvo pontual | Alvo pontual não tem fração: um anúncio cujo ponto cai dentro de uma comunidade pode ser um imóvel vizinho, porque a geocodificação tem raio. Ver cbre.anuncio_ponto para a classe de precisão. Sobreposição não é decisão: é entrada da triagem. | trimestral | 2026-11-30 | agente | 2026-08-31T13:14:25.256979+00:00 | passa |
| com_favela | Polígono de favela / comunidade urbana / núcleo / loteamento irregular nos 9 municípios, com toponímio, domicílios ou população onde a fonte publica, e estágio de intervenção onde a fonte declara | IBGE Favelas e Comunidades Urbanas (Censo 2022) + cadastro municipal de São Paulo (SEHAB/Habitasampa) e de Guarulhos (Secretaria de Habitação) ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urbanas_Resultados_do_universo/arquivos_vetoriais/)) | IBGE Censo 2022 (malha 08/11/2024, revisão das não setorizadas 10/04/2026); São Paulo 06/2026; Guarulhos sem campo de data, referências internas até 2019 | 2026-08-31 | comunidades/10_ibge_fcu.sh · 20_geosampa_habi.sh · 25_guarulhos_habi.sh · 30_normaliza.sql · 32_preferida.sql | 6271 |  | carga vetorial das fontes; município SEMPRE por junção espacial com cbre.area_estudo_municipios, nunca pelo rótulo da fonte; geometrias validadas (ST_MakeValid + CollectionExtract 3) e projetadas para 31983 | alta como geometria oficial; média como inventário (nenhuma fonte é completa) | O polígono do IBGE é AGREGADO DE SETOR CENSITÁRIO: a borda é a do setor, não o limite físico da ocupação, e não serve como limite cadastral. Os domicílios de São Paulo são ESTIMATIVA declarada pela SEHAB, sem data e sem fonte (colunas fonte_totd/data_totdo nulas em ~99 %) — não é contagem datada. "Moradores em DPPO" do IBGE não é o mesmo que "população residente" da tabela SIDRA 9888. O cadastro de Guarulhos é de PROCESSO de regularização, não inventário. Nenhuma coluna de pessoa: `nome` é topônimo do núcleo; o endereço publicado pelas fontes de São Paulo foi descartado; o dicionário da SEHAB declara nome_proprietario, que não existe no arquivo publicado. | trimestral | 2026-11-30 | agente | 2026-08-31T13:14:25.256979+00:00 | passa |
| com_fonte | Catálogo das fontes desta camada: objeto, nível (censo nacional × cadastro municipal), licença, se traz domicílios/população/estágio, e a coluna de dado pessoal que existe na fonte e não foi ingerida | declarado por nós a partir das fontes | 31/08/2026 | 2026-08-31 | comunidades/32_preferida.sql | 6 |  | escrito à mão no script, versionado junto | declarado | é o registro da escolha, não a medição dela; os números da comparação entre fontes estão em research/38 | estatico |  | agente | 2026-08-31T13:14:25.256979+00:00 | passa |
| com_zeis | Polígono de Zona Especial de Interesse Social (ZEIS) em 8 dos 9 municípios, com sigla, subtipo, lei e o efeito que a lei dá ao galpão | Carta de zoneamento vetorizada (São Paulo Lei 18.177/2024, Mairiporã, Santa Isabel, Arujá) + camada própria de Guarulhos (geocorppg:tm_sdu_zeis, Lei 7.730/2019) + GeoMogi (Mogi das Cruzes) + mapa oficial de Itaquaquecetuba (LC 399/2024, My Maps) ([url](http://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs)) | São Paulo Lei 18.177/2024; Guarulhos Lei 7.730/2019; Itaquaquecetuba LC 399/2024; Mogi e Mairiporã sem data declarada | 2026-08-31 | comunidades/30_normaliza.sql · 26_outros_municipios.sh · 35_regras_zeis.sql | 4080 |  | polígonos das cartas já vetorizadas na frente (research/19) mais as camadas municipais próprias; subtipo lido da sigla ou do campo da fonte; o efeito jurídico vem de cbre.com_zeis_regra | alta em São Paulo, Guarulhos, Mogi e Itaquaquecetuba (vetor oficial); baixa em Arujá (vetorização de PDF, RMSE 18,8 m) | ZEIS 3 e ZEIS 4 existem na lei de Guarulhos (art. 61 da Lei 7.730/2019) e NÃO estão mapeadas — a própria Lei 7.888/2021 art. 16 §1º diz que só as ZEIS 1 e 2 constam dos Mapas 19 e 20. Cajamar publica ZEIS só em DWG/PDF e Nazaré Paulista não tem LUOS: os dois estão ausentes desta tabela e viraram pedido. 2 polígonos ZEIS-1 da carta de São Paulo caem fora da malha municipal IBGE da área de estudo e foram excluídos (município é por junção espacial). | anual | 2027-02-28 | agente | 2026-08-31T13:14:25.256979+00:00 | passa |
| com_zeis_regra | O que a ZEIS faz com um galpão, lei a lei e artigo a artigo: percentual mínimo de HIS, teto de uso não residencial e categorias admitidas | leitura direta das leis municipais em fonte primária ([url](https://legislacao.prefeitura.sp.gov.br/leis/lei-16050-de-31-de-julho-de-2014)) | PDE 2014 e LPUOS 2016 de São Paulo; Guarulhos: consolidações de 16/04/2024 (Lei 7.730) e 03/08/2026 (Lei 7.888) | 2026-08-31 | comunidades/35_regras_zeis.sql | 9 |  | artigo lido, citado e transcrito no campo texto_regra; onde a lei não foi lida a regra é NEUTRA (50) e assim declarada | alta onde a lei foi lida em fonte primária; "não lido" nos 5 municípios restantes, com esse rótulo na própria linha | NÃO é parecer jurídico: é leitura de texto legal publicado, para triagem. Não se verificou se Guarulhos editou a "legislação específica de HIS" prevista no art. 16 §3º da Lei 7.888/2021 — se ela existir, supera o art. 145 e a leitura da ZEIS 2 / ZEIS G muda inteira (pedido registrado em cbre.pedidos_dado). Guarulhos: "ZEIS G" é GLEBA (Lei 6.253/2007 art. 34 III), não "gravada". A área vinculada é "área construída total", nunca "computável". | anual | 2027-02-28 | agente | 2026-08-31T13:14:25.256979+00:00 | passa |
| conversao_regras | As 28 regras do caminho de conversão, cada uma com texto, prazo, procedência (DECLARADO/LITERATURA) e URL da fonte legal | texto das leis (6.766/1979, 12.651/2012, 10.257/2001, Dec. SP 66.960/2022, CTN, leis municipais) | leis vigentes | 2026-08-30 | pipeline/9x_perfil_conversao_20_perfil.sql |  |  | uma linha por regra; a URL da fonte legal vai na própria tabela | leitura da lei, não parecer | INCRA (anuência do art. 53) e CETESB continuam sem fonte de prazo: o passo está na lista de etapas, o prazo não tem fonte | anual |  | humano |  |  |
| dicionario_campos | O que cada coluna significa e em que unidade | registro próprio (REGRA_DE_ENTRADA.md item 3) | 2026-08-30 | 2026-08-30 | pipeline/qa/00_schema.sql + pipeline/qa/10_dicionario.sql |  |  | uma linha por (tabela, campo) | n.a. | cobre as tabelas que o cliente vê; o que ainda falta é listado a cada rodada por pipeline/qa/40_entrada_gate.py | semanal |  | humano |  |  |
| embargo_ae | Embargos IBAMA na área de estudo (polígonos + termos) | IBAMA dados abertos (ibama_embargos_clean, ibama_termo_embargo) | 2026 | 2026-08-28 | pipeline/40_restricoes.sql | 552 | 50d196c67f5b | contagem por célula | alta (fonte) | contexto, nunca acusação | mensal | 2026-09-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| estoque_fii | 236 imóveis de carteira de fundos imobiliários na RMSP e no eixo Jundiaí (160 logísticos), com ABL declarada, vacância e % das receitas do fundo | B3/FNET — Informe Trimestral Estruturado (Anexo 39-II, RCVM 175) + cadastro CVM de FII ([url](https://fnet.bmfbovespa.com.br/fnet/publico/abrirGerenciadorDocumentosCVM?cnpjFundo=<cnpj>)) | 2T26 (data de referência 30/06/2026) | 2026-08-29 | mercado/fii/fnet.py + fetch_all.py + parse.py + pipeline/98_estoque_fii.py |  |  | 160 fundos selecionados por segmento/nome/ticker, 158 com informe; município lido do endereço; geocodificação só por meios próprios (nome do galpão → logradouro OSM → centroide do município) | declarada pelo administrador do fundo | o campo do Anexo 39-II é 'Área (m2)' sem definição: os fundos ora declaram ABL, ora área construída, ora terreno; 4 ABLs improváveis marcadas (abl_suspeito) e fora de toda soma; 103 dos 236 só no centroide do município e esses NÃO entram na métrica espacial; vacância e % de receita são DECLARADOS; nada aqui é transação | trimestral |  | agente |  |  |
| estoque_fii_valor | Valor contábil/justo declarado por ativo imobiliário, casado com o estoque logístico de FII, e o R$/m² de ABL resultante | B3/FNET — Informe ANUAL Estruturado, seção 'Relação de ativos imobiliários' ([url](https://fnet.bmfbovespa.com.br/fnet/publico/abrirGerenciadorDocumentosCVM?cnpjFundo=<cnpj>)) | informe anual (exercício declarado no próprio documento) | 2026-08-30 | valor/41_fii_ativo_valor.py + valor/42_fii_valor_join.sql | 236 |  | casamento ativo × imóvel por NOME normalizado (exato / prefixo / contido), com o método gravado em metodo_casamento | declarada (casamento por nome) | valor contábil/justo do laudo do fundo NÃO é preço de transação; é TETO de referência para galpão PRONTO E LOCADO e nunca preço de terreno; a ABL é a área declarada no informe trimestral | trimestral |  | agente |  |  |
| estoque_logistico | Galpões OSM > 5.000 m² (580) + condomínios de carteira (170) | OSM + cbre.anuncios (Herzog, LOG, Bresco) ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27/28 | 2026-08-29 | pipeline/97_polos_se_estoque.sql | 818 | 89f30119e77f | módulos ≤ 150 m = um condomínio | alta onde mapeado | footprint ≠ ABL; FII não carregado; carteira pode duplicar | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| fatores | Os 19 fatores do motor: fonte, critério, transformação, veto | documentação própria | 29/08/2026 | 2026-08-29 | pipeline/85_fatores.sql + 97 | 20 | 4d251e795198 | uma linha por fator | declarada | fatores 12-15 ainda descritos como 'gancho' no texto embora carregados | estatico | 2027-08-30 | humano | 2026-08-30T00:00:00+00:00 | atencao |
| fatores_extra_parametros | Os parâmetros declarados das transformações dos fatores extra (P95 do roubo de carga, faixas de renda, cortes de tributação) | registro próprio, medido sobre as 73.115 células | 2026-08-29 | 2026-08-29 | pipeline/96_fatores_extra.sql |  |  | o parâmetro é medido na própria grade e gravado para que a transformação seja reproduzível | declarada | parâmetro declarado e reproduzível não é calibração contra resultado de mercado | trimestral |  | agente |  |  |
| glebas_candidatas | 171 áreas aptas (manchas contíguas de células ≥ 0,45) — FUNDO, não imóvel | derivada de hex_score | 2026-08-29 | 2026-08-29 | pipeline/81_glebas.sql | 171 | ef51f85ee65d | cluster de células contíguas | declarada | gleba não é lote nem matrícula | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| guarulhos_macrozoneamento_pd2019 | As 7 macrozonas do Plano Diretor de Guarulhos (Lei 7.730/2019) | GeoServer da Prefeitura de Guarulhos ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei 7.730/2019 | 2026-08-28 |  |  |  | carga do WFS | alta (vetor oficial) | Guarulhos não tem macrozona rural nominal: a MAAP (153,61 km², 48 % do município) faz esse papel; a LUOS permite onde o PD protege (obstáculo macrozona_protecao) | anual |  | agente |  |  |
| guarulhos_zupi_1978 | ZUPI estadual de 1978 dentro de Guarulhos (Lei estadual 1.817/1978): ZUPI1 23,32 + ZUPI2 4,78 = 28,10 km² | GeoServer da Prefeitura de Guarulhos (versão vetorial municipal da carta estadual) ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei estadual 1.817/1978 | 2026-08-28 |  |  |  | carga do WFS | alta (vetor oficial) | zona estadual de 1978; quem decide hoje é a LPUOS municipal (Lei 7.888/2021) — sobre a ZUPI incidem 15,61 km² de ZI, 7,17 de ZAE e 4,42 de zona mista | anual |  | agente |  |  |
| hex_comunidade | Por célula de 250 m: distância à comunidade mais próxima, fração da célula dentro de comunidade, área e população de comunidade em 500 m / 1 km / 2 km, fração em ZEIS e a favorabilidade do fator 26 | derivada de cbre.com_favela e cbre.com_zeis sobre cbre.hex | ver com_favela e com_zeis | 2026-08-31 | comunidades/40_metricas.sql · 50_fator.sql | 73115 |  | interseção em UTM 31983 com a união das fontes; população no entorno rateada pela ÁREA de interseção de cada polígono (densidade uniforme dentro do polígono, premissa DECLARADA) | média: a geometria é oficial, o rateio de população é premissa nossa | A população por buffer supõe densidade uniforme dentro do polígono da comunidade, o que não é verdade — serve para ordem de grandeza, nunca para contagem. Distância e vizinhança são CONTEXTO e não entram no fator. n_com_2km conta polígonos das fontes preferidas e em Guarulhos duas fontes se sobrepõem, então o número é de polígonos, não de comunidades distintas. | trimestral | 2026-11-30 | agente | 2026-08-31T13:14:25.256979+00:00 | passa |
| hex_fav | Favorabilidade 0-100 por fator (19) por célula, base do motor multicritério | derivada de hex_score + hex_fatores_extra | 29/08/2026 | 2026-08-29 | pipeline/85_fatores.sql | 73115 | 7a4c2be8ad85 | transformações declaradas em cbre.fatores; veto zera a célula | declarada | célula vetada sai independentemente dos pesos | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| hex_score | Score 0-1 por célula (zoneamento, acesso, relevo, disponibilidade, energia) com vetos e descontos | derivada de hex, zoneamento, isocronas, rodovias, RBCV | 29/08/2026 | 2026-08-29 | pipeline/80_score.sql | 73115 | 7e46197013f5 | média geométrica ponderada 0,25/0,30/0,20/0,15/0,10; pesos DECLARADOS | declarada, a calibrar | veto não é certidão; várzea é proxy; pesos não medidos | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| hidro_ae | Trechos de drenagem BC250 1:250.000 na bbox (2.126) | IBGE BC250 (hidro_nacional_bc250) | 2023 | 2026-08-28 | pipeline/40_restricoes.sql | 2498 | 49648bbe25d8 | KNN dist_hidro_m; app_30m | alta (fonte) / escala grossa | app_30m é PISO; APP real exige 1:10.000 | estatico | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| imoveis_candidatos | O objeto: 4.346 imóveis CAR ≥ 5 ha com score, zona, galpão-entra, veto e ranking (617 elegíveis) | SICAR (car_imovel_4674) + derivadas | SICAR 2026; score 29/08/2026 | 2026-08-29 | pipeline/83_imoveis_candidatos.sql (+98 mineração) | 4346 | 41b47a7f9298 | score médio ponderado por área × parte apta; rank se < 50 % vetado | triagem | CAR autodeclarado; código, nunca titular; nada visto em campo | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| imoveis_fav | Favorabilidade 0-100 dos 19 fatores por imóvel | derivada de imoveis_candidatos + hex_fav | 29/08/2026 | 2026-08-29 | pipeline/85_fatores.sql | 4346 | f264d3ea5b2d | agregação área-ponderada das células não vetadas | declarada | idem hex_fav | trimestral | 2026-11-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| imoveis_urbanos | Lista curta Industrial & Logística do objeto urbano: 78 lotes com matrícula ONR, ≥ 5.000 m², em zona que admite galpão e sem veto | derivada de onr_urbano_fx + onr_urbano_mercado | 2026-08-30 | 2026-08-30 | onr/25_imoveis_urbanos.sql |  |  | mesmas transformações de cbre.fatores, fator a fator, com PESO 1 para todos os fatores aplicados; fator 5 (disponibilidade da terra) excluído por ser desenhado para o objeto rural — exclusão declarada | declarada, não calibrada com a CBRE | funil medido 116 → 89 → 78; a camada repete a mesma matrícula em objectid diferentes (178209 e 176606); 5 dos 46 de Guarulhos são usucapião/REURB: matrícula georreferenciada não quer dizer imóvel disponível | trimestral |  | agente |  |  |
| imovel_aprm_sub | Subárea de APRM por imóvel (SCA, SBD, SOD, SUC, SUCt, SER…) e a lei aplicável | DataGeo/IDEA-SP — Leis SP 15.913/2015 (Alto Tietê Cabeceiras) e 15.790/2015 (Alto Juquery) ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | 2015 | 2026-08-30 | pipeline/9x_perfil_conversao_20_perfil.sql |  |  | subárea dominante por área; APRM é regime de baixa densidade e NÃO é veto | alta (fonte) | a Área de Restrição à Ocupação (ARO) não está na camada e os parâmetros por subárea não foram lidos artigo a artigo; a Lei 15.913 não cobre Guarulhos (art. 1 §2) | anual |  | agente |  |  |
| imovel_brownfield | Indício de uso industrial ou mineral anterior no imóvel (gatilho de diligência CETESB de área contaminada) | OpenStreetMap + MapBiomas Coleção 10 ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | OSM 2026-08-27; MapBiomas 2014-2024 | 2026-08-30 | pipeline/9x_perfil_conversao_20_perfil.sql |  |  | landuse industrial/brownfield/quarry/construction ≥ 5 %, edifício industrial ≥ 2 % ou classe mineração ≥ 5 % em 2014-2024 (limiares declarados) | indício declarado | NÃO é o cadastro CETESB de áreas contaminadas (Lei SP 13.577/2009): é indício de uso anterior; 114 imóveis marcados | anual |  | agente |  |  |
| imovel_inundacao | % inundável e pior classe de inundação por imóvel CAR | derivada de cbre.inundacao_oficial | 2026-08-29 | 2026-08-29 | pipeline/98b_inundacao.sql |  |  | mesma regra da célula, recortada ao polígono do imóvel | declarada | o fator 9 desconta (≥ 50 % → 10), NÃO veta: mancha modelada não é laudo | anual |  | agente |  |  |
| imovel_macrozona | Macrozona dominante do Plano Diretor por imóvel (sigla, nome, classe canônica, % e confiança) | cbre.macrozoneamento (nível 1, research/25) | 2006-2025 conforme município | 2026-08-30 | pipeline/9x_perfil_conversao_20_perfil.sql |  |  | dominante por área | herda a confiança do nível 1 | o Plano Diretor descreve território e diretriz, não permissão de uso; 5 dos 9 PDs não têm nenhuma macrozona de vocação econômica | anual |  | agente |  |  |
| imovel_mineracao | Veredito de mineração por imóvel (ANM × Sentinel-2 mensal × MapBiomas classe 30) | ANM SIGMINE + Sentinel-2 L2A (Earth Search) + MapBiomas col. 10 | ANM 09/08/2026; S2 2020-01..2026-08 | 2026-08-29 | pipeline/98_mineracao_dinamica.sql | 2956 | 37eaf796fa28 | regras e limiares declarados (bare_frac 0,30; sazonalidade 0,05/0,08) | declarada, não calibrada em campo | S2 não distingue cava de terraplenagem; polígono ANM ≠ cava operando | mensal | 2026-09-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| imovel_perfil_conversao | Caminho de conversão do imóvel rural em lote industrial, por imóvel CAR (4.346): fatos do CAR, situação territorial, caminho, prazo, etapas, obstáculos e score de conversão | derivada de SICAR + SIGEF + zoneamento/macrozoneamento + inundação + mineração + APRM + rede MT | 2026-08-30 | 2026-08-30 | pipeline/9x_perfil_conversao_10_car_attr.sql + _20_perfil.sql + _30_motor.sql |  |  | 28 regras declaradas em cbre.conversao_regras; score_conversao = 0,55 base do caminho + 0,15 área útil + 0,10 título + 0,10 inundação + 0,10 banda GRU − 4 por obstáculo | declarada, não calibrada | não é parecer jurídico; os prazos são faixas DECLARADAS a partir de prazo legal e prática, sem série medida nos 9 municípios; o perímetro urbano é INFERIDO (macrozona do PD + zona de uso), não lido de camada oficial; 'área consolidada' do SICAR-SP está vazia (4 de 4.346) e o proxy é MapBiomas 2014 | trimestral |  | agente |  |  |
| imovel_sigef | Cobertura SIGEF por imóvel: parcelas certificadas, % da área, NÚMEROS de matrícula e data de certificação | INCRA SIGEF (public.sigef_parcelas_certificadas, UF SP) | 2026 | 2026-08-30 | pipeline/9x_perfil_conversao_20_perfil.sql |  |  | interseção com o polígono do imóvel; sliver descartado (< 10 % da parcela e < 5 % do imóvel); 'certificado' = parcela cobrindo ≥ 50 % da área | alta (fonte) | só o NÚMERO da matrícula, nunca o titular; a matrícula declarada na certificação pode estar desatualizada; 684 de 4.346 certificados e 172 com mais de uma matrícula | trimestral |  | agente |  |  |
| imovel_situacao_uso | Situação de uso de cada um dos 4.346 imóveis candidatos: em uso agrícola, pasto, silvicultura, mosaico/indefinido, sem cultura há N safras, construído/urbanizado, mineração, vegetação nativa ou sem dado | MapBiomas col.10 (cbre.car_uso) + Sentinel-2 L2A NDVI (cbre.car_ndvi/car_status) + ANM SIGMINE (cbre.imovel_mineracao) + OSM (cbre.imovel_brownfield) ([url](https://brasil.mapbiomas.org/)) | MapBiomas 2024; NDVI 2026; ANM 09/08/2026; OSM 27/08/2026 | 2026-08-31 | pipeline/9s_situacao_uso.sql | 4346 |  | 9 regras de precedência com limiares declarados (cbre.situacao_uso_limiares); a primeira que fecha define o rótulo | triagem: sinal, não prova; limiares declarados, nenhum calibrado em campo | MapBiomas para em 2024 e a classe 21 (mosaico) não separa lavoura de pastagem; NDVI é do ano-safra 2026 e não vê o que está sob o dossel; "em uso" descreve cobertura observada, nunca intenção de venda do proprietário; nada visto em campo; nunca titular | anual | 2027-08-31 | agente | 2026-08-31T02:29:18.172007+00:00 | passa |
| inundacao_oficial | 13.528 feições de mancha e suscetibilidade a inundação nos 9 municípios — substitui o proxy de várzea no fator 9 do motor | SGB/CPRM + IPT (RIGeo) · GeoSampa · GeoServer de Guarulhos · setorização de risco SGB · IG-SP/CPLA ([url](https://rigeo.sgb.gov.br/handle/doc/15178)) | 2014-2018 (cartas SGB/IPT); 2026-08-10 (manchas de SP); 2019-2026 (setores de risco) | 2026-08-29 | pipeline/98b_inundacao.sql (brutos por geo/raw/inundacao/fetch_geosampa_mancha.sh, fetch_sgb.sh, harvest_ubc.py, load_mancha.sh) |  |  | união das 5 fontes com classe harmonizada; conta_inundavel = classe Alta/Média (SGB/IPT), mancha TR ≤ 25 anos (SP) ou setor de risco R3/R4 — regra DECLARADA; Baixa e TR 100 relatados à parte e não descontam | alta (fonte) / é modelagem do órgão | suscetibilidade e mancha são MODELAGEM, não laudo: não substituem estudo hidrológico do lote nem consulta de cota de enchente; as cartas são de 2014-2018 e obras de drenagem posteriores não aparecem; a mancha do DAEE/PDMAT-3 (a que cobre o Tietê metropolitano de ponta a ponta) NÃO existe em vetor público; Nazaré Paulista tem produto grosseiro (3 polígonos) | anual |  | agente |  |  |
| isocronas | Isócronas de 15/30/45/60 min em fluxo livre a partir de 5 âncoras (GRU Cargo etc.) | OSRM local (car.lua) sobre OSM Geofabrik ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | OSM 2026-08-27 | 2026-08-28 | osm/sql/30_isocronas.sql | 40 | 51d489f59a02 | união de células de 500 m com tempo ≤ faixa; buffer ±250 m | alta (método) / fluxo livre | pico 1,5-2,5× maior; 60 min truncada pelo buffer | semestral | 2027-02-28 | agente | 2026-08-30T00:00:00+00:00 | passa |
| itbi_sp | Transacoes imobiliarias com ITBI-IV pago no municipio de Sao Paulo (2022-2026), com valor declarado, data, SQL cadastral, matricula, cartorio, areas e uso do IPTU | Prefeitura de Sao Paulo / Secretaria Municipal da Fazenda ([url](https://prefeitura.sp.gov.br/web/fazenda/w/acesso_a_informacao/31501)) | exercicios 2022 a 2026 (transacoes ate 07/08/2026) | 2026-08-30 | cbre/valor/10_itbi_sp_parse.py + 11/12/13_itbi_sp_*.sql | 890105 |  | ingestao direta do .xlsx oficial (degrau 1), normalizacao e juncao ao lote do GeoSampa pelo SQL de 11 digitos | alta | valor DECLARADO pelo contribuinte e base de calculo do imposto, nao preco verificado em escritura; a aba do arquivo e o mes de PAGAMENTO e nao o da transacao; a fonte exclui imovel rural e ITBI pago via PPI; nome e CPF nao existem na fonte (suprimidos pela Prefeitura). Amarracao ao lote do GeoSampa pelo SQL de 11 digitos: 266.080 de 890.105 linhas (29,9%) com cad_lote_gid e geom - terreno 39,3%, industria/armazens 55,5%; o restante e unidade autonoma de condominio (inexistente na camada de LOTE) ou SQL cancelado (2,2% de casamento contra 41,6% em SQL ativo). Contagem conferida linha a linha contra cbre.itbi_sp_raw. | mensal | 2026-09-30 | agente |  |  |
| leilao_detalhe | 29 fichas de lote de leilão lidas uma a uma (praças, matrícula, ônus, zona, galpão-entra), sem dado pessoal | Portal Zuk, Mega Leilões, Superbid, Caixa (páginas de lote) | 2026-08-29 | 2026-08-29 | mercado/leilao_detalhe.py + leilao_detalhe_enrich.sql + leilao_detalhe_pos.py | 29 | 7ab22e39b59c | 3 s entre pedidos; enriquecimento com zona/rodovia/isócrona/CAR ≤ 500 m | alta (leitura) | praça é lance mínimo; 5 lotes sem coordenada | diario | 2026-08-31 | agente | 2026-08-30T00:00:00+00:00 | atencao |
| leilao_historico | 299 lotes de leilão fechados (173 no recorte de 24 meses da RMSP): praças, valor e data de arrematação, desconto e status | Mega Leilões, Superbid, Portal Zuk e Grupo Lance (páginas de leilão já encerrado) ([url](https://www.megaleiloes.com.br/leiloes-realizados)) | fechamento a partir de 29/08/2024 | 2026-08-29 | mercado/leilao_historico.py + mercado/run_leiloes_historico.sh (cron do dev, dia 2 às 06:50) |  |  | cadência 2-4 s, parada imediata em 403/429; chave = URL do lote; desconto = 1 − arrematação/avaliação (na Mega, sobre a 1ª praça, porque a fonte não publica avaliação) | média (série enviesada para Mega e Superbid) | arrematação NÃO é transação nem escritura (pode ser condicional, cancelada ou não homologada); praça é lance mínimo; o statusId da Superbid é INFERIDO; Sodré (403), Frazão, Biasi e Caixa não publicam resultado e o Zuk só mostra os 30 últimos; dedupe por URL, não por matrícula; nenhum nome de pessoa | mensal |  | agente |  |  |
| leilao_onus | O que o documento do proprio leilao diz de cada lote: ocupacao, IPTU, condominio, outros onus e QUEM PAGA os debitos, com trecho citado, documento, pagina e confianca | Edital, matricula, laudo de avaliacao e certidoes publicados pelos leiloeiros (Mega Leiloes, Superbid) + ficha do lote (Zuk, Caixa) ([url](https://www.megaleiloes.com.br/)) | praças de agosto a novembro de 2026 | 2026-08-31 | mercado/run_leilao_onus.sh (leilao_docs.py -> leilao_ficha_txt.py -> leilao_ocr.py -> leilao_onus.py -> leilao_onus_cross*.sql) | 29 |  | extracao por regras sobre o texto dos documentos, com hierarquia edital > matricula > laudo > certidao > ficha; texto-padrao do site (boilerplate) excluido do reconhecimento; PDF achatado por pagina; IPTU so somado quando o documento soma; nome de pessoa e CPF suprimidos na leitura | alta quando ha edital (13 lotes); media/baixa quando so ha ficha (16 lotes); baixa no que veio de OCR (tesseract so com idioma ingles instalado) | Edital e declaracao da parte que vende, NAO e certidao: onus pode existir e nao aparecer. Ocupacao muda. Nada e orientacao juridica. Praca e lance minimo e arrematacao nao e transacao de mercado livre. Soma de IPTU rotulada como nossa quando o documento nao soma. Zuk (13 lotes) tem o edital vedado no robots: vale a ficha. Nenhum nome de pessoa ou CPF e gravado. | diario | 2026-09-07 | agente |  |  |
| leilao_onus_item | Um onus, ponto positivo ou ponto negativo por linha, com a frase citada do documento, a pagina e a confianca | mesmos documentos de leilao_onus ([url](idem)) | praças de agosto a novembro de 2026 | 2026-08-31 | mercado/leilao_onus.py | 109 |  | uma linha por ocorrencia reconhecida; classe = onus \| positivo \| negativo; "penhora citada Nx" e ordem de grandeza (ocorrencias da palavra), nao numero de averbacoes | media | Item e o que o documento DIZ, nao o que existe. Ausencia de item nao e ausencia de onus. 26 dos 109 itens tem trecho parcialmente suprimido por conter nome de pessoa. | diario | 2026-09-07 | agente |  |  |
| leilao_resultado | Acompanhamento de status/praça/arrematação por lote | mesmas páginas de lote | 2026-08-29+ | 2026-08-29 | pipeline/94_leilao_resultado.py + mercado/leilao_detalhe_pos.py | 39 | 2bdf4880ec88 | releitura; resultado não exposto pelas fontes | baixa (fonte não expõe) | 0 vendidos lidos; só o tempo resolve | diario | 2026-08-31 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| lote_s2_veredito | Veredito por lote da leitura Sentinel-2: estavel / mudou / inconclusivo, com o ano em que a mudanca aparece, os deltas contra a linha de base do proprio lote e o nivel de cobertura atual. | derivada de cbre.lote_serie_s2 e cbre.tmp_lote_s2_alvo (cbre.cad_lote_x) | 2017-2026 | 2026-08-31 | pipeline/cadastro/61_lote_s2_agrega.py | 835 |  | Base = mediana dos anos validos de 2017-2019; recente = mediana dos anos validos de 2025-2026. Limiares DECLARADOS, calibrados no p95 da distribuicao nula medida nos 150 lotes de controle: mudou se (d_NDBI >= +0,13 ou d_NDVI <= -0,16 ou d_solo >= +0,19) E o sinal persiste em todos os anos validos a partir do ano indicado; estavel se \|d_NDVI\| <= 0,12 e \|d_NDBI\| <= 0,09 e \|d_solo\| <= 0,16 (p90 do mesmo controle); o resto e inconclusivo. Exige >= 6 anos validos, >= 2 na base e >= 2 no recente. | media — regra de limiar, calibrada contra dois grupos de controle (141 lotes que a pegada oficial do GeoSampa reclassificou como construidos e 150 lotes construidos por cadastro+OSM) | Sinal de mudanca NAO e alvara, obra licenciada nem edificacao: terraplenagem, patio, deposito a ceu aberto e estacionamento produzem o mesmo sinal. Estavel NAO significa juridicamente vago. Construcao anterior a 2017 nao gera mudanca — por isso a coluna nivel_cobertura. Falso positivo medido no controle: 4 de 150 (2,7%). | anual | 2027-02-28 | agente |  |  |
| lote_urbano_veto | Veto do objeto urbano (Linha 1) aplicado lote a lote: 578 lotes do cadastro + 78 matriculas do ONR | derivada: cbre.cad_lote_x, cbre.imoveis_urbanos, cbre.ti_ae, cbre.uc_ae, cbre.embargo_ae, cbre.inundacao_oficial, public.amc_anm_sigmine, cbre.hex/hex_rbcv | camadas de 2024-2026 conforme a ficha de cada uma | 2026-08-31 | cbre/pipeline/9y_veto_urbano.sql | 656 |  | medicao no poligono do lote onde a camada permite; onde o publicador so da PONTO (Guarulhos) e ponto-em-poligono; RBCV, agua e declividade continuam por celula de 250 m (declarado em veto_regras_urbano.medido_em) | media | veto nao e certidao: e triagem sobre camada publica. Onde o lote e PONTO a fracao de sobreposicao nao existe e a regra vira tudo-ou-nada. A zona do lote prevalece sobre a da celula, mas quando a propria zona do lote e de categoria protecao_ambiental (ZPDS/ZPDSr em Sao Paulo) o veto fica de pe mesmo com galpao_entra = condicionado | trimestral | 2026-11-30 | agente |  |  |
| macrozoneamento | Nível 1 do zoneamento: as 47 macrozonas do Plano Diretor dos 9 municípios, reduzidas a 6 classes canônicas, com lei, método, confiança e nota de ambiguidade | WFS de Guarulhos e GeoSampa, GeoMogi, KMZ oficial de Mairiporã, cartas georreferenciadas e texto de lei (URL por linha) ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | 2006-2025 conforme município | 2026-08-29 | pipeline/zon_catalogo/20_macrozoneamento_cbre.sql |  |  | a classe é lida no ARTIGO que define a macrozona, nunca no nome; método por linha (wfs / app_json / kmz / georref_pdf / mesmo_instrumento / derivado_nivel2 / proxy_texto) | por linha (alta a baixa; proxy_texto é baixa por definição) | o PD descreve território e diretriz, NÃO permissão de uso: 5 dos 9 planos não têm macrozona de vocação econômica e o nível 1 sozinho erraria metade do estoque industrial; Arujá e Nazaré Paulista são proxy de texto (o mapa não foi publicado); Santa Isabel cobre 83,8 % e Cajamar 89,1 % da divisa; 25 das 47 macrozonas exigiram nota de ambiguidade; não é certidão de zoneamento | anual |  | agente |  |  |
| mercado_il | 10.749 itens de Industrial & Logística nos 9 municípios (terreno urbano ≥ 1.000 m², galpão/armazém/depósito e lote de leilão), com preço PEDIDO, zona, macrozona, acesso e classe de precisão | derivada de cbre.anuncios + anuncio_ponto × zoneamento / macrozoneamento / OSM / isócronas / estoque logístico | coleta de 30/08/2026 | 2026-08-30 | geocode/50_mercado_il.sql |  |  | regra de entrada DECLARADA (o que entra e o que não entra); índice = 0,30 zona + 0,20 banda GRU + 0,20 rodovia + 0,20 porte + 0,10 preço pedido/m²; galpao_entra='nao' é veto (índice 0 e o item continua na lista, marcado) | declarada, a calibrar com a CBRE | preço pedido é do vendedor e NÃO é transação; 6.537 dos 10.749 estão só no nível do bairro (erro mediano medido 2,2 km) e nunca contam como anúncio dentro de um imóvel; 1.340 republicações do mesmo ativo marcadas; ZAP, VivaReal, Imovelweb e OLX bloqueiam o nosso IP — lacuna de acesso, não de método | semanal |  | agente |  |  |
| mogi_zede_sobreposicao | As 46 ZEDE de Mogi das Cruzes (zonas especiais de desenvolvimento econômico): ZEDE-1 mineração 31,03 km², ZEDE-2 turismo rural 31,36, ZEDE-3 indução a indústrias 21,77 | GeoMogi — Prefeitura de Mogi das Cruzes (Lei 7.200/2016) ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento)) | 2016 (consolidada 2018) | 2026-08-28 |  |  |  | separada do zoneamento porque INCIDE sobre ele | alta (vetor oficial) | é SOBREPOSIÇÃO: não soma com o zoneamento; a ZEDE-3 é o argumento industrial de Mogi e aparece no site como camada própria | anual |  | agente |  |  |
| onr_matricula | 32.905 matrículas georreferenciadas do ONR (863 nos 9 municípios + 32.042 nas praças da CBRE): polígono, número da matrícula, cartório, CNS e classificação registral — sem titular | ONR — Mapa do Registro de Imóveis, FeatureServer imoveis_georreferenciamento ([url](https://gis-mapas.onr.org.br/onrgisserver/rest/services/Hosted/imoveis_georreferenciamento/FeatureServer/0/query)) | camada sem safra declarada; consulta de 30/08/2026 | 2026-08-30 | onr/fetch_onr.py + fetch_onr_bbox.py + fetch_onr_scope.py + load_onr.py |  |  | token público (POST, expira em 8 h), páginas de 2.000 por envelope; o município é atribuído por junção espacial com a malha IBGE, NUNCA pelo rótulo cidade/uf do ONR | alta (fonte oficial) / precisão do polígono não declarada | só a matrícula que já foi georreferenciada e enviada (863 contra 4.346 imóveis CAR); os campos nome_imovel e descricao contêm nome de pessoa e NÃO são carregados; 22 polígonos do 'Cartório Teste'; 863 linhas para 748 chaves; inteiro teor é pago e nunca é buscado | mensal |  | agente |  |  |
| onr_urbano_fx | Ficha das 863 matrículas urbanas: zona, macrozona, UC, APRM, RBCV, inundação, ANM, rede MT, subestação, rodovia e banda GRU, mais os fatores herdados da célula de 250 m | derivada de onr_matricula × camadas da frente | 2026-08-30 | 2026-08-30 | onr/20_enriquece.sql + 21_enriquece_restricoes.sql + 22_enriquece_infra.sql + 23_enriquece_hex.sql |  |  | medido NO LOTE onde há camada vetorial; declividade, cobertura, pressão urbana, densidade, roubo de carga, renda, polos e veto são HERDADOS da célula de 250 m e marcados como tal | por atributo (medido no lote × herdado da grade) | o que é herdado tem resolução de 250 m; 1 lote de São Paulo cai fora da grade; galpao_admite em Guarulhos/SP/Mogi vem da CATEGORIA da carta, não da lei | trimestral |  | agente |  |  |
| osm_buildings_ind | Edificações industriais/galpões OSM (warehouse/industrial/factory ou > 2.000 m²) (7.728) | OpenStreetMap ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-28 | osm/sql/10_derivar.sql | 7728 | 9a74ec3adf2a | filtro por tag building + área | alta onde mapeado | footprint ≠ ABL; piso | mensal | 2026-09-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| osm_landuse | Uso do solo OSM (industrial, comercial, residencial…) (16.073) | OpenStreetMap ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-28 | osm/sql/10_derivar.sql | 16073 | 98108295e27f | tag landuse; ST_MakeValid | alta onde mapeado | piso do que está mapeado | mensal | 2026-09-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| pedidos_dado | Fila de aquisição: o que não está aberto, por qual canal se pede (e-SIC/LAI/convênio), prazo legal, esforço de digitalização e status | registro próprio (AQUISICAO_DADO.md, degraus 1 a 4) | 2026-08-30 | 2026-08-30 | valor/60_pedidos_dado.sql + uf/pedidos_estaduais.sql |  |  | uma linha por (município/ente, camada); canal e URL verificados um a um | n.a. | 'preparado' NÃO é 'protocolado': nada foi protocolado sem autorização; a regra da casa é nunca dizer 'a cidade não tem', e sim em que degrau o dado está | mensal |  | humano |  |  |
| polos_logisticos | Os 14 polos logísticos do motor: chave, nome, tipo, nº de pontos, como foi verificado e o método | OpenStreetMap (feições verificadas uma a uma) + a régua publicada pela própria CBRE (Raio 30/60) ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | OSM 2026-08-27 | 2026-08-30 | pipeline/88a_polos_geom.py |  |  | todos os 14 são ROTEADOS, nenhum é estimado; 'cabeça de rodovia' = ponto da via (motorway com o nome exato) mais próximo da Praça da Sé — regra DECLARADA | alta | Congonhas não tem terminal de carga mapeado no OSM: o polo é o terminal de passageiros (courier e belly cargo); só 4 polos viraram fator, os demais ficam medidos em acesso_polos | estatico |  | agente |  |  |
| polos_trafego | 3.804 polos geradores de tráfego (escola, hospital, shopping, estação, terminal, aeroporto…) | OpenStreetMap ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-29 | pipeline/97_polos_se_estoque.sql | 3804 | 929b9228ee86 | tags + ST_ClusterDBSCAN ≤ 150 m | alta onde mapeado | proxy por tipo, sem contagem volumétrica | semestral | 2027-02-28 | agente | 2026-08-30T00:00:00+00:00 | passa |
| rodovias_principais | Rodovias motorway/trunk/primary com nome canônico (15.676 trechos) | OpenStreetMap, extrato Geofabrik sudeste ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27T20:21:06Z | 2026-08-28 | osm/load_ogr.sh + osm/sql/10_derivar.sql | 15676 | 4445783634c4 | ref com fallback name; GiST | alta onde mapeado | hierarquia é a dos mapeadores | mensal | 2026-09-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| servico:analise_sob_demanda | Leitura sob demanda de uma area qualquer: o cliente entrega poligono/ponto/arquivo e recebe zona, restricoes, inundacao, mineracao, acesso, energia, mercado e favorabilidade do Motor, cada valor com procedencia | derivado: as proprias camadas do schema cbre (lista branca de GRANT SELECT) + public.amc_anm_sigmine ([url](https://cbre.iagrointel.com/analisar.html)) |  | 2026-08-31 | cbre/analise/app.py + consulta.py + prova.py + presets.py (unit systemd cbre-analise, 127.0.0.1:8129) |  |  | consulta PostGIS ao vivo, somente leitura (role cbre_ana_app, default_transaction_read_only, statement_timeout 25s, work_mem 16MB, sem paralelismo); a geometria entra como parametro EWKB constante nos SRID 4674 e 31983 para usar o indice GiST de cada camada | derivada — a confianca de cada valor e a da camada de origem | teto de 50 km2 por leitura; fora dos 9 municipios medidos quase toda camada volta vazia; relevo, cobertura, acesso, seguranca e renda sao HERDADOS da grade de 250 m; nunca proprietario, nome ou CPF; nao e laudo nem certidao | diario |  | agente |  |  |
| situacao_uso_limiares | Os 9 limiares declarados (regra, condição, movimento) que produzem cbre.imovel_situacao_uso | declarado por nós (não é fonte externa) | 31/08/2026 | 2026-08-31 | pipeline/9s_situacao_uso.sql | 9 |  | escrito à mão no script, versionado junto da tabela derivada | declarado | limiar é escolha nossa, não medida da fonte; muda se a CBRE calibrar | estatico |  | agente | 2026-08-31T02:29:18.172007+00:00 | passa |
| sp_aprm_alto_juquery_limite_2015 | Limite da bacia da APRM Alto Juquery (367 km²) (1 feições) | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camada datageo:APRMAJ_LIMITE_BACIA_2015_POL ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | 2015 | 2026-08-28 | pipeline/45_mananciais.sql consome a camada (a carga do WFS é anterior) |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | a Área de Restrição à Ocupação (ARO) não está na camada; APRM é regime de baixa densidade, não veda parcelamento; a Lei 15.913 não cobre Guarulhos (art. 1 §2) | anual |  | agente |  |  |
| sp_aprm_alto_juquery_zoneamento_2015 | Subáreas da APRM Alto Juquery (Lei SP 15.790/2015): SBD1-3, SOD, SUC, SUCt, SUICt, SER (257 feições) | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camada datageo:APRMAJ_ZONEAMENTO_10_SMA_2015_POL ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | 2015 | 2026-08-28 | pipeline/45_mananciais.sql consome a camada (a carga do WFS é anterior) |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | a Área de Restrição à Ocupação (ARO) não está na camada; APRM é regime de baixa densidade, não veda parcelamento; a Lei 15.913 não cobre Guarulhos (art. 1 §2) | anual |  | agente |  |  |
| sp_aprm_alto_tiete_cabeceiras_limite_2015 | Limite da bacia da APRM Alto Tietê Cabeceiras (1.259 km²) (1 feições) | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camada datageo:APRMATC_LIMITE_BACIA_2015_POL ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | 2015 | 2026-08-28 | pipeline/45_mananciais.sql consome a camada (a carga do WFS é anterior) |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | a Área de Restrição à Ocupação (ARO) não está na camada; APRM é regime de baixa densidade, não veda parcelamento; a Lei 15.913 não cobre Guarulhos (art. 1 §2) | anual |  | agente |  |  |
| sp_aprm_alto_tiete_cabeceiras_subareas_2015 | Subáreas da APRM Alto Tietê Cabeceiras (Lei SP 15.913/2015), com CA, taxa de permeabilidade e IAV; a SCA sozinha cobre 1.180,7 km² (80 feições) | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camada datageo:APRMATC_SUBAREAS_2015_POL ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | 2015 | 2026-08-28 | pipeline/45_mananciais.sql consome a camada (a carga do WFS é anterior) |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | a Área de Restrição à Ocupação (ARO) não está na camada; APRM é regime de baixa densidade, não veda parcelamento; a Lei 15.913 não cobre Guarulhos (art. 1 §2) | anual |  | agente |  |  |
| sp_pde_macroarea_lei_18209 | As 173 feições das 8 macroáreas do PDE de São Paulo (Lei 16.050/2014 revista pela Lei 18.209/2024) | GeoSampa — Prefeitura de São Paulo, camada geoportal:pde_macroarea_lei_18209 ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | 2024 | 2026-08-28 |  |  |  | GetFeature WFS | alta (vetor oficial) | cobre 96,4 % da divisa (o WFS não fecha a divisa); é planejamento, NÃO mancha de risco nem permissão de uso | anual |  | agente |  |  |
| sp_rbcv_zoneamento_wms | Zoneamento da Reserva da Biosfera do Cinturão Verde (797 polígonos vetorizados de WMS) | Instituto Florestal via WMS DataGeo ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 | geo/rbcv/rbcv_wms_raster.py | 797 | 9545849f89df | wms_raster: 30 tiles a ~11 m, classificação por cor da SLD, sieve, poligonização | media | vetorização por cor, não vetor de origem | anual | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | atencao |
| sp_uc_apa_serra_itapeti_ff | APA Serra do Itapeti | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camadas Areas_Protegidas_US_* e VWM_UC_ESTADUAL_* ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | camada estadual de UC; o recorte usado no motor é cbre.uc_ae (CNUC/MMA), que agrega as três esferas | semestral |  | agente |  |  |
| sp_uc_apa_sistema_cantareira | APA Sistema Cantareira (Mairiporã e Nazaré Paulista; 0,1 km² em Guarulhos) | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camadas Areas_Protegidas_US_* e VWM_UC_ESTADUAL_* ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | camada estadual de UC; o recorte usado no motor é cbre.uc_ae (CNUC/MMA), que agrega as três esferas | semestral |  | agente |  |  |
| sp_uc_fe_guarulhos | Floresta Estadual de Guarulhos | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camadas Areas_Protegidas_US_* e VWM_UC_ESTADUAL_* ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | camada estadual de UC; o recorte usado no motor é cbre.uc_ae (CNUC/MMA), que agrega as três esferas | semestral |  | agente |  |  |
| sp_uc_pe_itaberaba | Parque Estadual Itaberaba | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camadas Areas_Protegidas_US_* e VWM_UC_ESTADUAL_* ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | camada estadual de UC; o recorte usado no motor é cbre.uc_ae (CNUC/MMA), que agrega as três esferas | semestral |  | agente |  |  |
| sp_uc_pe_itapetinga | Parque Estadual Itapetinga | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camadas Areas_Protegidas_US_* e VWM_UC_ESTADUAL_* ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | camada estadual de UC; o recorte usado no motor é cbre.uc_ae (CNUC/MMA), que agrega as três esferas | semestral |  | agente |  |  |
| sp_ucs_uso_sustentavel_sigam | 220 unidades de conservação estaduais de uso sustentável (APA Cajamar, Jundiaí, Várzea do Tietê, Cantareira, Itapeti…) | DataGeo / IDEA-SP (SIMA-SP), WFS do workspace datageo — camadas Areas_Protegidas_US_* e VWM_UC_ESTADUAL_* ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | GetFeature WFS no workspace datageo | alta (vetor oficial) | camada estadual de UC; o recorte usado no motor é cbre.uc_ae (CNUC/MMA), que agrega as três esferas | semestral |  | agente |  |  |
| ssp_carga_pontos | BOs georreferenciados de roubo/furto de carga (SP) e de veículo (9 municípios), 2024-2026/06, agora com o TIPO DO VEÍCULO trazido da base "Veículos subtraídos"; sem logradouro, sem placa e sem nº do BO | SSP-SP Transparência/SPDados + SSP-SP Veículos subtraídos ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCriminais_2025.xlsx)) | 2024-01..2026-06 | 2026-08-31 | pipeline/101_ssp_junta_tipo_veiculo.py (re-ingestão de 90_ssp_roubo_carga.py) | 153768 | 3572732f1839 | dedupe por (NUM_BO, ANO_BO, delegacia, natureza); tipo/marca/ano de fabricação vêm da base de veículos pela chave (ANO_BO, NUM_BO, NOME_DELEGACIA), guardada só como hash (bo_key); a re-ingestão de 31/08 reproduziu as contagens de 29/08 por natureza | alta (fonte) | BO é registro, não vitimização; o tipo do veículo só existe para os BOs que casam com a outra base (65,3 % do roubo de veículo, 14,83 % do roubo de carga — em 85 % dos roubos de carga não há veículo subtraído registrado) | trimestral | 2026-11-29 | agente | 2026-08-29T00:00:00+00:00 | passa |
| subestacoes_dist | Subestações de distribuição EDP SP + Enel SP com MVA nominal (524; 383 atendem rede) | ANEEL BDGD 2024-12-31 V11, camadas SUB e UNTRAT ([url](https://www.arcgis.com/sharing/rest/content/items/afa54a48397745a2b2fbc550880aa2d7/data)) | 2024-12-31 | 2026-08-29 | pipeline/97_polos_se_estoque.sql | 524 | 6ed5972f13a9 | ogr2ogr -spat; mva = Σ POT_NOM; atende_rede = POS in (PD,O,T) | alta (fonte) | MVA nominal ≠ disponível; EDP 'O' sem UNTRAT | anual | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| tributacao_fav | Favorabilidade 0-100 da tributação municipal (40 % ISS de armazenagem, 30 % IPTU de terreno, 30 % incentivo à logística) | derivada de cbre.tributacao_municipio | leis vigentes 2026 | 2026-08-29 | pipeline/96_fatores_extra.sql |  |  | pesos 40/30/30 DECLARADOS | declarada | os pesos são escolha nossa, não medida; onde a lei não foi localizada em fonte primária o componente fica NULL (Mairiporã, Santa Isabel, Mogi e Itaquá a confirmar com as Fazendas) | anual |  | agente |  |  |
| tributacao_municipio | ISS (11.04/16.02/20.01), IPTU e incentivos dos 9 municípios, em fonte primária | códigos tributários e leis de incentivo municipais (URL por município na tabela) | leis vigentes (algumas de 1969/1997, 'não confirmado') | 2026-08-29 | pipeline/95_tributacao_municipio.sql | 9 | 6c2986abec56 | leitura da lei; NULL = não localizado, nunca chutado | 4 lacunas declaradas | confirmar com as Fazendas de Mairiporã, S. Isabel, Mogi e Itaquá; leismunicipais devolve 403 | anual | 2027-08-30 | humano | 2026-08-30T00:00:00+00:00 | passa |
| uc_ae | Unidades de conservação na área de estudo (67 na bbox) | CNUC/MMA (amc_cnuc_ucs) | 2026 | 2026-08-28 | pipeline/40_restricoes.sql | 78 | b946aea56b1d | recorte em UTM com ST_MakeValid | alta (fonte) | UCs municipais recentes podem faltar | semestral | 2027-02-28 | agente | 2026-08-30T00:00:00+00:00 | passa |
| uf_sp_area_urbanizada_2013 | Área urbanizada do estado a 1:25.000 (846 polígonos, 644 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2013 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | safra de 2013 a 1:25.000: é mancha urbana, não perímetro urbano legal; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_grupo_industrial | Sede e filial de grupos industriais, com empresa, país de origem e eixo/rodovia (5.338 registros) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | não declarada na fonte | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | extrapola São Paulo (872 municípios, inclusive Rio de Janeiro): é a rede de sedes e filiais, não um recorte estadual; a coluna contato existe na fonte e NÃO foi ingerida; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_lote_prefeitura | LOTE cadastral com inscrição imobiliária, área e perímetro (42.923 em 5 municípios; 42.800 em Santana de Parnaíba) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2016 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | lote de convênio com 5 prefeituras, safra 2016 — NÃO é cadastro de lote do Estado (isso não existe em nenhuma UF); nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_macrozona_pdui_2019 | Macrozoneamento do PDUI da RMSP (3.364 polígonos em 51 municípios; Guarulhos 128) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2019 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | é o plano METROPOLITANO, não o macrozoneamento do Plano Diretor de cada município (esse é cbre.macrozoneamento); nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_perimetro_urbano | Perímetro urbano municipal com o instrumento legal citado (62 feições em 52 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | não declarada na fonte | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | NÃO cobre nenhum dos 9 municípios da frente (é o eixo Campinas/Sorocaba/Piracicaba); para os 9, o perímetro continua vindo da lei municipal; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_plataforma_logistica | Plataformas logísticas do Plano de Ação da Macrometrópole (15 em 10 municípios; 1 em Itaquaquecetuba) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2014 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | é planejamento de 2014, não plataforma existente; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_terreno_oferta_2014 | Terreno em OFERTA levantado pela EMBRAESP: área, valor pedido, R$/m² e zoneamento (239 em 52 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2014 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | preço PEDIDO de 2014 NÃO é valor de mercado de 2026 e nunca deve ser citado como preço; contato e telefone existem na fonte e NÃO foram ingeridos; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_uso_solo_psim | Recorte temático do uso do solo (industrial, distrito/condomínio industrial, centro de distribuição, shopping/atacadista, área empresarial, desativado, infraestrutura de transportes) — 18.413 em 129 municípios, Guarulhos 1.172 | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2010-2020 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | recorte do mesmo acervo de uso do solo: valem as mesmas ressalvas de safra; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_uso_solo_urbano | Uso do solo URBANO 1:10.000 da EMPLASA, polígono a polígono (598.865; modalidade/classe/uso/categoria/tipo), 14 camadas de 8 regiões — inclui 3.358 polígonos de centro de distribuição/depósito/transportadora e 16.666 industriais | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2010-2020 | 2026-08-30 | uf/fetch_uso_solo_urbano.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | as safras se SOBREPÕEM (a RMSP tem 2010, 2013 e 2017 na mesma tabela, e 2013/2017 são ATUALIZAÇÕES parciais): nunca somar safras nem contar polígono sem filtrar ano_mapeamento; uso do solo observado NÃO é lote e NÃO é zoneamento; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_vazio_urbano | Vazio urbano comprometido e não comprometido (530 polígonos em 61 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2009-2013 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | 'vazio' é a leitura da EMPLASA em 2009-2013 e não foi conferido contra imagem nem cadastro atual; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_zupi_1978 | Zonas de Uso Predominantemente Industrial da RMSP, Lei estadual 1.817/1978 (199 polígonos em 26 municípios; Guarulhos 17) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 1978 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | o vetor público é GENERALIZADO (a carta 1:10.000 só existe como imagem no WMS do DataGeo); Guarulhos tem versão vetorial própria, mais precisa; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| validacao | Log de testes: o que se esperava, o que se mediu, o resultado (passa/falha/atenção), o script e a evidência | registro próprio | 2026-08-28 em diante | 2026-08-30 | pipeline/qa/00_schema.sql + 30_validacao_doc.py + qa_checks.py |  |  | origem 'doc' = registrado a partir dos relatórios; 'auto' = rodada do qa_run.sh | n.a. | teste que passa confere consistência interna, não valida o dado em campo | semanal |  | agente |  |  |
| valor_referencia | Banda de referencia de valor (R$/m2 e R$/ha) por municipio x objeto x metodo | derivada: ITBI/PMSP, PGV de Guarulhos, leilao_historico, Informe Anual de FII (B3/FNET), INCRA VTN | conforme a linha (coluna data_dado) | 2026-08-30 | cbre/valor/50_valor_referencia.sql | 97 |  | agregacao por quartis com filtros declarados linha a linha | media | NAO e laudo nem avaliacao; nenhuma banda desce ao nivel do lote; metade das linhas tem n < 20 e confianca baixa | mensal | 2026-09-30 | agente |  |  |
| valor_referencia_alvo | A banda de referencia aplicada a cada alvo (imovel CAR, lote urbano do ONR, item do mercado I&L) com a leitura pedido x banda | derivada de cbre.valor_referencia | 30/08/2026 | 2026-08-30 | cbre/valor/55_valor_referencia_alvo.sql | 13833 |  | hierarquia declarada: transacao > laudo de FII > valor fiscal > VTN > arrematacao; preco pedido nunca vira banda | media | quando banda_do_proprio_municipio = false a banda e regional (RMSP) e a razao mede a diferenca municipio x regiao, nao caro x barato | mensal | 2026-09-30 | agente |  |  |
| valor_referencia_zona | Banda de referencia por ZONA (nivel 2) e por MACROZONA (nivel 1) dentro de Sao Paulo | derivada de valor_referencia | ITBI 2022-2026 x carta vigente | 2026-08-30 | cbre/valor/40_valor_referencia_zona.sql + 55_valor_referencia_alvo.sql | 32 |  | quartis por sigla, com minimo DECLARADO de 30 observacoes | media | zona com menos de 30 observacoes NAO vira banda; o recorte por zona usa a serie inteira 2022-2026 e nao os 24 meses das bandas municipais — nao comparar as duas diretamente | mensal | 2026-09-30 | agente |  |  |
| veto_regras_urbano | As 12 regras de veto, com o que vale para o objeto RURAL e o que vale para o objeto URBANO e por que diferem | declarada por nos a partir das camadas de restricao ja catalogadas | 31/08/2026 | 2026-08-31 | cbre/pipeline/9y_veto_urbano.sql | 12 |  | lista declarada; cada regra diz se e medida no LOTE ou herdada da CELULA de 250 m | alta | e a REGRA, nao a medicao; tres regras da lista rural saem da urbana (urbano_ge_60, zona_protecao_ambiental da celula, uso_consolidado_osm) e uma entra (zona do proprio lote nao admite galpao) | semestral | 2027-02-28 | agente |  |  |
| v_lote_vacancia_s2 | Visao da vacancia do lote urbano corrigida pelo satelite: junta cbre.cad_lote_x com o veredito Sentinel-2 e devolve vacancia_s2 (a contagem publicavel). | derivada | 2017-2026 | 2026-08-31 | pipeline/cadastro/61_lote_s2_agrega.py |  |  | vacancia_s2 = construido quando o satelite acusa mudanca persistente; vazio_superficie_nao_vegetada quando o lote esta estavel mas a superficie atual nao e vegetada; vazio_inconclusivo_s2 quando a serie nao decide; senao mantem a vacancia cadastral. | media | A visao so tem veredito para os lotes lidos (o conjunto candidato), nao para os 1,9 milhao de lotes de cbre.cad_lote. | anual | 2027-02-28 | agente |  |  |
| zoneamento | União das cartas de zoneamento dos 9 municípios, com lei, método e confiança por polígono | cartas municipais (ver linhas zoneamento_*) | 2016-2025 conforme município | 2026-08-29 | pipeline/zon_*/ (Arujá, Itaquá, Mairiporã, S. Isabel, Nazaré, Cajamar); carga WFS de Guarulhos/SP/Mogi sem script no repositório | 62634 | d1970f5e8c2f | colunas harmonizadas; categoria é nossa | por linha (alta/média/baixa) | galpão-entra é leitura da lei, não parecer | anual | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | atencao |
| zoneamento_aruja | Zoneamento de Arujá, LC 42/2019 (165 polígonos vetorizados de PDF raster) | Câmara Municipal (siscam), Planta 2 Zoneamento Geral ([url](https://camaraaruja.sp.gov.br)) | 2019 (alt. LC 45/2019, 58/2023; PD LC 63/2025) | 2026-08-29 | pipeline/zon_aruja/01-17 | 167 | 420f4833dbf3 | georref_pdf: 62 GCPs de grade UTM, RMSE 18,8 m, classificação HSV | media/baixa | divisas ±20-40 m; lei em revisão | semestral | 2027-02-28 | agente | 2026-08-29T00:00:00+00:00 | passa |
| zoneamento_cajamar | Zoneamento de Cajamar, LC 234/2024 (47 polígonos: memoriais OCR + DWG oficial) | Prefeitura: LC 234/2024 Anexo 7 + DWG macrozoneamento 2019 ([url](https://cajamar.sp.gov.br/infraestrutura/wp-content/uploads/sites/20/2020/06/macrozoneamento-cajamar-2019.dwg)) | 2024 | 2026-08-29 | pipeline/zon_cajamar/01-08 | 47 | 3d0db4949b81 | OCR + poligonal por azimute/distância; memorial que fecha ≤ 2 % = alta; DWG = média | 20 alta / 19 média / 8 baixa | planta oficial (Anexo 6) não publicada; 14 km² sem zona | anual | 2027-08-30 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| zoneamento_guarulhos | Carta de zoneamento de Guarulhos, Lei 7.888/2021 (34 polígonos) | GeoServer oficial da Prefeitura, camada geocorppg:tm_sdu_zoneamento_7888_2021 ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | camada sem data declarada; lei 2021 (alt. 8.213/2023) | 2026-08-28 |  | 34 | 2ac0584a37e9 | WFS GeoJSON EPSG:31983 | alta (vetor oficial) | conferir Lei 8.213/2023 contra a camada | anual | 2027-08-30 | agente | 2026-08-28T00:00:00+00:00 | passa |
| zoneamento_itaqua | Zoneamento de Itaquaquecetuba, LC 420/2025 (100 polígonos de GeoPDF) | Prefeitura, Anexo II Mapa 1 (GeoPDF 09/2025) ([url](https://itaqua.sp.gov.br/arquivos/secretarias/planejamento-urbano/Mapas/ANEXO_II_MAPA_DE_ZONEAMENTO_1_A1.pdf)) | 09/2025 | 2026-08-29 | pipeline/zon_itaqua/10-40 | 100 | d719179596a9 | georref_pdf: SRS embutido, 300 dpi, cor + textura | alta/media | ±15-20 m; ZEIS/ZEPAC não vetorizadas | anual | 2027-08-30 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| zoneamento_mairipora | Zoneamento de Mairiporã, LC 438/2021 e alterações (311 polígonos do KMZ oficial) | Prefeitura, pasta oficial da revisão do PD (PLANO DIRETOR.kmz) ([url](https://www.mairipora.sp.gov.br/cidadao/revisao-de-plano-diretor-participativo)) | 2021-2025 | 2026-08-29 | pipeline/zon_mairipora/10_load_kml.sh + 20_load.sql | 311 | 4336627e4162 | shp (vetor oficial), achatamento por prioridade declarada | alta | KMZ sem data/versão; PD em revisão | semestral | 2027-02-28 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| zoneamento_mogi_das_cruzes | Zoneamento de Mogi das Cruzes, Lei 7.200/2016 (168 + ZEDE) | GeoMogi, endpoint JSON /mapa/zoneamento ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento)) | 2016 (consolidada 2018) | 2026-08-28 |  | 168 | 76dd827903ff | GeoJSON embutido EPSG:4326 | alta (vetor oficial) | ZEDE é sobreposição, não soma | anual | 2027-08-30 | agente | 2026-08-28T00:00:00+00:00 | passa |
| zoneamento_nazare | Nazaré Paulista: zoneamento estadual da APA Cantareira + perímetros do texto legal (8) | DataGeo WMS GetFeatureInfo (Dec. 65.244/2020) + leis municipais ([url](https://datageo.ambiente.sp.gov.br/geoportal/rest/document?id=%7B63470BF2-0DE8-456B-86B9-A8F50F252CBB%7D)) | 2020 | 2026-08-29 | pipeline/zon_nazare/01-04 | 8 | 05f01e8a6e38 | wms_getfeatureinfo + ocr_texto + shp | alta (APA) / media / baixa | não existe LUOS municipal | anual | 2027-08-30 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| zoneamento_parametros | Parâmetros por zona (CA/TO/H/lote mínimo/usos) e 'galpão entra' com artigo citado (88) | texto das leis municipais em fonte primária | leis vigentes 2016-2025 | 2026-08-29 | pipeline/zon_*/…parametros.sql + 16_load.sql | 88 | 234a9e671412 | leitura da lei, uma linha por zona | leitura, não parecer | sigla ambígua = mais restritiva | anual | 2027-08-30 | humano | 2026-08-30T00:00:00+00:00 | atencao |
| zoneamento_santaisabel | Macrozoneamento de Santa Isabel, LC 184/2016 Mapa 32-A (PDF vetorial CAD) | Prefeitura via Wayback Machine ([url](https://web.archive.org/web/20181221150029/http://santaisabel.sp.gov.br/pmsiportal/wp-content/uploads/2018/10/MACROZONEAMENTO-MAPA-32A.pdf)) | 03/2016 | 2026-08-29 | pipeline/zon_santaisabel/00-56 | 15 | 135de4f6821c | georref_pdf sem raster: geometria CAD + afim pela grade UTM (IoU 0,92 no PE Itaberaba) | alta/media (~50-100 m) | macrozoneamento, não LUOS; datum não declarado | anual | 2027-08-30 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| zoneamento_sao_paulo | Perímetros de zona de São Paulo, Lei 18.177/2024 (61.784) | GeoSampa WFS geoportal:perimetro_zona_lei_18177_24 ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | 2024 | 2026-08-28 |  | 61784 | 336ce0f6192a | WFS paginado; ST_CurveToLine | alta (vetor oficial) | — | anual | 2027-08-30 | agente | 2026-08-28T00:00:00+00:00 | atencao |
| zoneamento_x_mapbiomas_2024 | Quanto de cada categoria de zona ainda NÃO está urbanizado (cruzamento do zoneamento com o MapBiomas 2024) | derivada de cbre.zoneamento × raw_mapbiomas_2024_area_estudo | 2024 | 2026-08-28 |  |  |  | área por categoria de zona × classe 24 (área urbanizada) | declarada | para achar 'terreno grande vazio' dentro da ZI é preciso footprint (OSM/Sentinel/cadastro): a 30 m o MapBiomas não separa lote vazio de lote ocupado | anual |  | agente |  |  |
| anuncio_geo | Resultado da cascata de geocodificação por anúncio: método, nível, confiança, raio e o texto do endereço | IBGE CNEFE 2022 + CEP derivado do próprio CNEFE + OpenStreetMap + centroide de localidade do CNEFE ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Arquivos_CNEFE/CSV/Municipio/35_SP/)) | CNEFE 2022; OSM 2026-08-27 | 2026-08-30 | geocode/20_geocode.py |  |  | 6 níveis com regra declarada (porta exata conf. 0,95 → centroide de bairro 0,25); veto de plausibilidade a 3 km do bairro declarado; o casamento fuzzy de nome de bairro foi TESTADO E REPROVADO (erro mediano de 21,6 km) e removido | medida contra gabarito cego de 12.354 pontos (porta exata: p50 11,3 m) | concordar com a coordenada que a fonte publica não é verdade de campo; o CNEFE é de 2022 (loteamento novo cai para bairro); nunca se grava nome nem telefone de anunciante | semanal |  | agente |  |  |
| anuncios_vistos | Primeira vez que cada URL foi vista (detecção de novos) | derivada | 2026-08-28+ | 2026-08-29 | mercado/run_leiloes_diario.sh | 77178 | fdbee1fb8f67 | url + primeira_vez | n.a. | — | diario | 2026-08-31 | agente |  | nao_validado |
| area_estudo | Área de estudo: núcleo (9 municípios) e buffer de 5 km | malha municipal IBGE (tribuna_serving.municipio_geo) | malha 2022 | 2026-08-28 |  | 2 | ad801042d1de | união + buffer | alta | — | estatico | 2027-08-30 | agente |  | nao_validado |
| aruja_zona_central_lc42_p3 | Perímetro da Zona Central de Arujá (atual 1,45 km² + ampliado 0,55 km²) vetorizado da Planta 3 | Câmara Municipal de Arujá (siscam), LC 42/2019 Planta 3 — Zoneamento Central (1:5.000) ([url](https://camaraaruja.sp.gov.br)) | 2019 | 2026-08-29 | pipeline/zon_aruja/20_p3_georef.py + 21_p3_vectorize.py |  |  | a planta não tem rótulo de grade dentro da moldura: a posição veio da correlação FFT do traçado viário com as ruas OSM; 15 ladrilhos com SNR ≥ 6 viraram GCPs, afim, RMSE 9,6 m (máx. 21,2 m) | media | IoU de 0,67 contra a Z-1 da Planta 2 — a hachura some sob rótulos e quadras densas, por isso a Z-1 continua vindo da Planta 2 | semestral |  | agente |  |  |
| assemblagem_evento | Transacoes elegiveis do Radar de remembramento (uma linha por transacao limpa de lote inteiro) | derivada de cbre.itbi_sp | transacoes 2022-2026 | 2026-08-30 | cbre/valor/30_assemblagem.sql | 7486 |  | filtro declarado: classe terreno ou industria/armazens, compra e venda, 100% transmitido, fracao ideal 1, area de terreno > 0 | alta | tabela intermediaria do radar; nao e lista de oportunidade | mensal | 2026-09-30 | agente |  |  |
| assemblagem_janela_teste | Teste da janela movel do Radar de remembramento (180, 365 e 730 dias) com o numero de quadras que acendem em cada uma | derivada de assemblagem_evento | 30/08/2026 | 2026-08-30 | cbre/valor/30_assemblagem.sql | 3 |  | contagem de quadras com 3+ e 5+ lotes distintos por tamanho de janela | alta | e o registro da ESCOLHA da janela, nao um produto; a janela adotada e 730 dias | estatico |  | agente |  |  |
| bdgd_sub_raw | Bruto do polígono de subestação (camada SUB) da BDGD 2024 da EDP SP e da Enel SP | ANEEL — BDGD 2024-12-31 V11, geodatabase por distribuidora (portal ArcGIS Hub da ANEEL) ([url](https://www.arcgis.com/sharing/rest/content/items/afa54a48397745a2b2fbc550880aa2d7/data)) | 2024-12-31 | 2026-08-29 | pipeline/97_polos_se_estoque.sql (carga por ogr2ogr -spat) |  |  | ogr2ogr -spat -47.3 -24.3 -45.7 -22.8 sobre o .gdb, camadas SUB e UNTRAT | alta (fonte) | camada BRUTA: a usada no motor é cbre.subestacoes_dist (524 SEs, 383 que atendem rede) | anual |  | agente |  |  |
| bdgd_untrat_raw | Bruto do transformador de subestação AT (camada UNTRAT) da BDGD 2024, com POT_NOM em MVA | ANEEL — BDGD 2024-12-31 V11 ([url](https://www.arcgis.com/sharing/rest/content/items/afa54a48397745a2b2fbc550880aa2d7/data)) | 2024-12-31 | 2026-08-29 | pipeline/97_polos_se_estoque.sql |  |  | idem SUB | alta (fonte) | MVA é potência NOMINAL instalada, não capacidade DISPONÍVEL (carregamento e reserva não são públicos); a UNTRMT, trafo MT/BT, não foi lida | anual |  | agente |  |  |
| cad_gu_banco_terras | Banco de terras públicas do município (2.297 polígonos) — a única camada de Guarulhos com área de terreno E área construída — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sh_banco_terras ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/20_guarulhos_wfs.sh |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | é terra PÚBLICA: não é estoque à venda no mercado | trimestral |  | agente |  |  |
| cad_gu_edificacao | Pegada de edificação de Guarulhos (306.982), com nº de pavimentos e a chave nr_fpql que liga ao lote — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:pg_edificacoes_descontinuada ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/20_guarulhos_wfs.sh |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | a base é marcada 'DESCONTINUADA' pelo próprio produtor: presença de pegada afirma construção, ausência não prova vazio | trimestral |  | agente |  |  |
| cad_gu_face_pgv | Face de quadra da Planta Genérica de Valores de Guarulhos (25.436 linhas): valor unitário fiscal e infraestrutura da face (água, esgoto, luz, pavimento, alagamento) — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:face_guarulhos_pgv ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/20_guarulhos_wfs.sh |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | o valor da PGV é VALOR FISCAL para cálculo do IPTU, fixado por lei municipal — não é avaliação de mercado e não deve ser apresentado como tal; a UNIDADE e o EXERCÍCIO das colunas vu_atual_u/vu_atual_r ainda não foram confirmados (pedido aberto em cbre.pedidos_dado) | trimestral |  | agente |  |  |
| cad_gu_loteamento | Loteamento aprovado em Guarulhos (484 polígonos): processo, alvará e ano — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:pg_loteamentos_poligonos ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/20_guarulhos_wfs.sh |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | é o polígono do PARCELAMENTO, não do lote individual | trimestral |  | agente |  |  |
| cad_gu_parcelamento | Parcelamento e regularização fundiária da Secretaria de Habitação de Guarulhos (176 polígonos): modalidade, categoria, interesse e fase de regularização — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sh_parcelamento ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 |  |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | é processo de regularização, não lote nem disponibilidade | trimestral |  | agente |  |  |
| cad_gu_quadra | Quadra física de Guarulhos (7.207 polígonos) — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:ct_quadras_fisicas ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/20_guarulhos_wfs.sh |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | é a quadra, não o lote; serve de base para o polígono do lote único e para o Voronoi | trimestral |  | agente |  |  |
| cad_gu_subbloco | Bruto do lote/unidade do cadastro de Guarulhos: 394.861 registros, 216.172 lotes distintos, 8.908 quadras — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:pg_subblocos ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/20_guarulhos_wfs.sh |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | o lote de Guarulhos é PONTO: não existe área de terreno na fonte, e o polígono só é derivável quando a quadra tem um único lote | trimestral |  | agente |  |  |
| cad_gu_uso_solo | Uso do solo temático do SDU de Guarulhos (classe e subclasse por polígono) — carga BRUTA do WFS | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_uso_solo ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 |  |  |  | ogr2ogr sobre o WFS 2.0 com paginação de 5.000, -t_srs EPSG:4674, PROMOTE_TO_MULTI; nenhuma das camadas traz nome ou CPF (verificado no DescribeFeatureType) | alta (vetor oficial) | uso observado/temático, NÃO zoneamento: quem responde 'galpão entra' é cbre.zoneamento_parametros | trimestral |  | agente |  |  |
| cad_sp_quadra | Quadra fiscal de São Paulo (64.216 polígonos) | GeoSampa — Prefeitura de São Paulo, camada geoportal:quadra_fiscal ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | cadastro servido ao vivo por WFS | 2026-08-30 | pipeline/cadastro/10_geosampa_lote.py |  |  | WFS paginado | alta (vetor oficial) | quadra FISCAL não é quadra física | trimestral |  | agente |  |  |
| car_ae | 28.699 imóveis CAR na bbox da área de estudo | SICAR + psa_triagem_nacional | 2026 | 2026-08-28 | pipeline/70_car.sql | 28699 | ac1fe05ad91a | recorte por bbox | alta | sem CAR em área urbana é o normal | trimestral | 2026-11-29 | agente |  | nao_validado |
| car_anm | Processos ANM por imóvel (n, fases, substâncias, % área, % lavra) | ANM SIGMINE | download 09/08/2026 | 2026-08-29 | pipeline/96_mineracao_anm.sql | 7395 | 994ba05b548e | interseção em 31983; lista de fases com direito de lavra DECLARADA | alta (fonte) | fase ≠ atividade | mensal | 2026-09-29 | agente |  | nao_validado |
| car_app_ae | APPs declaradas na área de estudo | SICAR (car_apps) | 2026 | 2026-08-28 | pipeline/71_car_hex.sql | 11366 | a02872293c0e | busca por cod_imovel | declarada | declarada pelo proprietário | trimestral | 2026-11-29 | agente |  | nao_validado |
| car_attr_ae | Atributos do SICAR consolidado por imóvel da área de estudo: status, condição, módulo fiscal, RL/APP/vegetação nativa/servidão declaradas | SICAR consolidado (fdw_gpu_fast.car_attr_per_imovel_dedup) | SICAR 2026 | 2026-08-30 | pipeline/9x_perfil_conversao_10_car_attr.sql |  |  | cópia por FDW dos atributos dos 4.346 códigos (86 s) | alta (cópia fiel da fonte) | tudo autodeclarado pelo proprietário; RL 'proposta' (2.965 imóveis) não é RL constituída; nunca titular | trimestral |  | agente |  |  |
| car_dinamica | Estatísticas da série mensal por imóvel (exposição, sazonalidade, tendência) | derivada de car_s2_mensal | 2020-2026 | 2026-08-29 | pipeline/98_mineracao_dinamica.sql | 2956 | 52a2fe56caf7 | bare_frac med/max, meses > 50 %, sazonalidade out-mar vs abr-set | declarada | sazonalidade fraca na RMSP | mensal | 2026-09-29 | agente |  | nao_validado |
| car_gru | Os 399 imóveis CAR que intersectam Guarulhos (só código e geometria) | SICAR (public.car_imovel_4674) | SICAR 2026 | 2026-08-28 | research/logs_03/car_rmsp.sh + batch1.sh + batch2.sh |  |  | ST_Intersects contra gru_sub_4674, DISTINCT ON (cod_imovel) | alta | CAR é autodeclarado; 48 dos 399 são de divisa com outros municípios (351 têm ponto interno); nunca titular | trimestral |  | agente |  |  |
| car_ndvi | NDVI mediano por imóvel, pico e seca de 2024 e 2026 | Sentinel-2 L2A via Earth Search (Element84) | 2024, 2026 (93 cenas) | 2026-08-28 | pipeline/82_car_parado_ndvi.py | 59160 | e26fcb74495e | leitura remota por janela, mediana | alta (fonte) | NDVI alto não prova cultivo | semestral | 2027-02-28 | agente | 2026-08-30T00:00:00+00:00 | passa |
| car_ndvi_cenas | Log das cenas Sentinel-2 usadas no NDVI | idem car_ndvi | 2024, 2026 | 2026-08-28 | pipeline/82_car_parado_ndvi.py | 93 | 10fe8d0c0c7e | id, data, nuvem, nº imóveis por cena | alta | — | semestral | 2027-02-28 | agente |  | nao_validado |
| car_rl_ae | Reservas legais declaradas na área de estudo | SICAR (car_reserva_legal) | 2026 | 2026-08-28 | pipeline/71_car_hex.sql | 23696 | ad206d91d96a | busca por cod_imovel | declarada | declarada pelo proprietário | trimestral | 2026-11-29 | agente |  | nao_validado |
| car_rmsp | Os 17.259 imóveis CAR que intersectam a RMSP, com cd_ibge atribuído pelo ST_PointOnSurface | SICAR (public.car_imovel_4674) | SICAR 2026 | 2026-08-28 | research/logs_03/car_rmsp.sh |  |  | EXISTS contra rmsp_sub_4674 + ST_PointOnSurface (≈ 20 min sob carga) | alta | autodeclarado; o município vem do ponto interior, então imóvel de divisa é atribuído a um só; nunca titular | trimestral |  | agente |  |  |
| car_s2_mensal | Série mensal 2020-01..2026-08 de NDVI/BSI/fração exposta por imóvel (2.956 imóveis) | Sentinel-2 L2A via Earth Search v1, tiles 23KKQ/23KLP/23KLQ | 2020-01-07..2026-08-23 | 2026-08-29 | pipeline/97_mineracao_s2_mensal.py | 217951 | b4d4aaf71b4b | 20 m, máscara SCL, composto mensal por máximo NDVI; bare_frac = NDVI < 0,20 | alta (fonte) / limiar declarado | água conta como exposto; PAR ≤ 2 neste servidor | mensal | 2026-09-29 | agente | 2026-08-30T00:00:00+00:00 | passa |
| car_s2_mensal_cenas | Log das cenas da série mensal | idem car_s2_mensal | 2020-2026 | 2026-08-29 | pipeline/97_mineracao_s2_mensal.py | 444 | da568a065d27 | ano_mês/tile/cena/nuvem | alta | — | mensal | 2026-09-29 | agente |  | nao_validado |
| car_univ | Universo de 7.395 imóveis CAR ≥ 2 ha nos 9 municípios | SICAR (car_imovel_4674) | 2026 | 2026-08-28 | pipeline/80_car_parado_universo.sql | 7395 | 7bf94b8a473e | filtro por área e município | alta | autodeclarado | trimestral | 2026-11-29 | agente |  | nao_validado |
| car_uso | Contagem de classes MapBiomas por imóvel, 2014/2018/2021/2024 | MapBiomas Coleção 10 (COG público) ([url](https://storage.googleapis.com/mapbiomas-public/initiatives/brasil/collection_10/lulc/coverage/brazil_coverage_2024.tif)) | 2014-2024 | 2026-08-28 | pipeline/81_car_parado_mapbiomas.py | 29580 | ae67ccf883fa | leitura de janela do COG, contagem por classe | alta (fonte) / 30 m | classe anual, classificação automática | anual | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| comentarios | Comentários deixados pelo cliente nas páginas do SIG estático | aplicação própria (serviço cbre-comentarios em 127.0.0.1:8127) | 2026-08-29 em diante | 2026-08-30 | comentarios/app.py |  |  | gravação por página/contexto; exportados para research/COMENTARIOS_<data>.md às 06:40 | n.a. | é texto do cliente: não é dado geográfico e não entra em nenhum número do produto | diario |  | humano |  |  |
| estoque_fii_mun | Malha dos 39 municípios da RMSP + eixo Jundiaí usada para posicionar o ativo de FII no centroide quando não há endereço melhor | malha municipal IBGE (tribuna_serving.municipio_geo) | malha 2022 | 2026-08-29 | pipeline/98_estoque_fii.py |  |  | seleção e reprojeção para EPSG:31983 | alta | centroide de município é o último recurso e NÃO entra na métrica espacial do fator 18 | estatico |  | agente |  |  |
| externa:mapbiomas_col10 | MapBiomas Coleção 10, cobertura 30 m, anos 2014/2018/2021/2024 | MapBiomas (bucket público GCS) ([url](https://storage.googleapis.com/mapbiomas-public/initiatives/brasil/collection_10/lulc/coverage/brazil_coverage_2024.tif)) | 1985-2024 (col. 10, 2025) | 2026-08-28 | pipeline/30_mapbiomas.py + 81_car_parado_mapbiomas.py |  |  | leitura de janela do COG | alta (fonte) / 30 m | classe 24 = malha urbana; mosaico indistinto | anual | 2027-08-30 | agente |  | nao_validado |
| externa:relevo_glo30 | Relevo Copernicus GLO-30 (tiles S23-S25 × W046-W047), declividade por célula | Copernicus DEM GLO-30, AWS Open Data (COG) ([url](https://copernicus-dem-30m.s3.amazonaws.com/Copernicus_DSM_COG_10_S23_00_W047_00_DEM/Copernicus_DSM_COG_10_S23_00_W047_00_DEM.tif)) | não informado na fonte | 2026-08-28 | pipeline/20_relevo.py |  |  | gdalwarp 31983 30 m → gdaldem slope; zonal stats | alta (fonte) | modelo de SUPERFÍCIE (dossel/telhado entram); não serve para terraplenagem | estatico | 2027-08-30 | agente |  | nao_validado |
| externa:sentinel2_l2a | Sentinel-2 L2A via Earth Search v1 (Element84), COG em s3 sentinel-cogs | ESA/Copernicus via Element84 Earth Search (STAC) ([url](https://earth-search.aws.element84.com/v1)) | 2020-01..2026-08 | 2026-08-29 | pipeline/82_car_parado_ndvi.py + 97_mineracao_s2_mensal.py |  |  | leitura remota por janela, 20 m, máscara SCL | alta (fonte) | 10-20 m não distingue cava de terraplenagem | mensal | 2026-09-29 | agente |  | nao_validado |
| fii_ativo_valor | Valor declarado por ativo imobiliário nos Informes Anuais Estruturados dos FII (nome do ativo, valor, se é valor justo pela ICVM 516) | B3/FNET — Informe Anual Estruturado ([url](https://fnet.bmfbovespa.com.br/fnet/publico/abrirGerenciadorDocumentosCVM?cnpjFundo=<cnpj>)) | informe anual | 2026-08-30 | valor/41_fii_ativo_valor.py | 1053 |  | leitura da tabela do HTML em cache (mercado/fii) | alta (leitura do documento) | a fonte traz só nome do ativo e valor: sem endereço, sem área e sem data de aquisição — por isso o casamento com o imóvel é por nome | trimestral |  | agente |  |  |
| frescor | Quando cada fonte foi conferida de novo e se mudou (etag / last-modified / sha256 do corpo / bloqueado / erro) | registro próprio | 2026-08-28 em diante | 2026-08-30 | pipeline/qa/00_schema.sql + pipeline/qa/frescor_check.py |  |  | comparação de etag, last-modified ou hash do corpo entre rodadas | n.a. | fonte que responde 403 fica registrada como 'bloqueado', nunca como 'não mudou' | mensal |  | agente |  |  |
| geo_cnefe_bairro | 59.014 pares (município, localidade) com centroide e dispersão medida — último recurso da cascata | IBGE CNEFE 2022, campo DSC_LOCALIDADE ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Arquivos_CNEFE/CSV/Municipio/35_SP/)) | 2022 | 2026-08-30 | geocode/10_cnefe_agregados.py |  |  | mediana dos endereços da localidade; o raio é a dispersão p90 medida do próprio bairro | baixa (erro p50 medido de 2,2 km) | só nome de localidade EXATO entra; centroide de bairro não localiza lote e não prova anúncio dentro do imóvel | estatico |  | agente |  |  |
| geo_cnefe_cep | 275.708 centroides de CEP de São Paulo derivados do próprio CNEFE (não Correios, não API paga) | IBGE CNEFE 2022 ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Arquivos_CNEFE/CSV/Municipio/35_SP/)) | 2022 | 2026-08-30 | geocode/10_cnefe_agregados.py |  |  | mediana dos endereços do CEP; só é usado quando o CEP é compacto (dispersão p90 ≤ 2 km) e o município bate | média (erro p50 medido de 513 m) | centroide de CEP não é lote | estatico |  | agente |  |  |
| gleba_celula | Relação área apta ↔ célula | derivada | 2026-08-29 | 2026-08-29 | pipeline/81_glebas.sql | 3723 | a2d33cce2e0d | join | n.a. | — | trimestral | 2026-11-29 | agente |  | nao_validado |
| gru_sub | Guarulhos subdividido (69 pedaços) em EPSG:4326 | derivada de cbre.guarulhos | malha 2022 | 2026-08-28 |  |  |  | ST_Subdivide(geom,128) | alta | tabela de desempenho | estatico |  | agente |  |  |
| gru_sub_4674 | Guarulhos subdividido (69 pedaços) em EPSG:4674 | derivada de cbre.guarulhos | malha 2022 | 2026-08-28 |  |  |  | ST_Subdivide(geom,128) em 4674 | alta | tabela de desempenho | estatico |  | agente |  |  |
| guarulhos | Polígono do município de Guarulhos (IBGE 3518800), 318,7 km² | malha municipal IBGE (tribuna_serving.municipio_geo, já carregada no iagro_sat) | malha 2022 | 2026-08-28 |  |  |  | seleção por cd_ibge | alta | — | estatico |  | agente |  |  |
| guarulhos_4674 | Guarulhos em EPSG:4674, para cruzar com as camadas nesse SRID | malha municipal IBGE (tribuna_serving.municipio_geo, já carregada no iagro_sat) | malha 2022 | 2026-08-28 |  |  |  | reprojeção | alta | — | estatico |  | agente |  |  |
| guarulhos_mananciais | Mananciais municipais de Guarulhos (4 polígonos, 93,65 km²) | GeoServer da Prefeitura de Guarulhos, camada legal_sm_mananciais ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei 1.172/1976 | 2026-08-28 |  |  |  | carga do WFS | alta (vetor oficial) | entra na união cbre.aprm_ae; 93,53 km² caem em zona de proteção ambiental e ZERO em ZI/ZAE | anual |  | agente |  |  |
| guarulhos_ucs | As 13 unidades de conservação na base municipal de Guarulhos (PE Itaberaba 61,62 km², APA Paraíba do Sul 60,81, APA Cabuçu-Tanque Grande 32,13…) | GeoServer da Prefeitura de Guarulhos, camada tm_sdu_uc ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | não informado na fonte | 2026-08-28 |  |  |  | carga do WFS | alta (vetor oficial) | é a base municipal; o recorte usado no motor é cbre.uc_ae (CNUC/MMA) | semestral |  | agente |  |  |
| hex | Grade hexagonal de 250 m (73.115 células) sobre os 9 municípios, com relevo, cobertura, água, UC, rede e população por célula | grade própria sobre malha IBGE + camadas 20-71 | 28/08/2026 | 2026-08-28 | pipeline/10_hex.sql + 20..71 + 95_compact.sql | 73115 | f661d1532d1a | ST_HexagonGrid 144,34 m em EPSG:31983, zonal stats e joins espaciais | triagem | célula não é terreno/lote/matrícula; GLO-30 é superfície; BC250 é 1:250.000 | estatico | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| hex_acesso | Acesso por célula: banda GRU + distância a rodovia | derivada de isocronas + rodovias_principais | 28/08/2026 | 2026-08-28 | pipeline/80_score.sql | 73115 | 50655d81989f | 0,6·banda + 0,4·distância | declarada | fluxo livre; Rodoanel Norte em construção no OSM | semestral | 2027-02-28 | agente |  | nao_validado |
| hex_anm | Fração da célula sob processo ANM (lavra / pesquisa) | ANM SIGMINE (public.amc_anm_sigmine) | download 09/08/2026 | 2026-08-29 | pipeline/85_fatores.sql | 73115 | 475024bf6458 | lavra ≥ 5 % → 0; pesquisa ≥ 5 % → 80; sem → 100 | declarada | processo ≠ lavra; fase pode estar defasada | mensal | 2026-09-29 | agente |  | nao_validado |
| hex_carga_amp | As TRÊS leituras de risco de carga por célula (kernel 2 km): (a) roubo de carga declarado, (b) roubo/furto de veículo pesado/carga sem duplicar BO, (a)+(b) ampliada e (c) veículo em geral (contexto, fora do score) | SSP-SP SPDados + SSP-SP Veículos subtraídos ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/baseDados/veiculosSub/VeiculosSubtraidos_2025.xlsx)) | 2024-01..2026-06 | 2026-08-31 | pipeline/101b_carga_amp_hex.sql |  |  | kernel gaussiano h = 2 km sobre pontos a <= 6 km do centroide, UTM 31983, normalizado por (2 pi h^2) e por 2,5 anos; (b) exclui BOs que já entram em (a) por bo_key; a leitura (a) reproduz cbre.hex_roubo_carga com diferença máxima 0,000000000 | declarada | h = 2 km é escolha nossa; (c) NÃO entra no score; 1S2026 é meio ano dividido por 2,5 anos; a mancha é do trajeto, não do lote | trimestral |  | agente |  |  |
| hex_fatores_extra | Fatores extra por célula: roubo de carga, tributação, renda, polos, SE, estoque | SSP-SP SPDados + IBGE Censo 2022 + leis municipais + OSM + BDGD ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCriminais_2025.xlsx)) | 2024-2026/06 (SSP); 2022 (IBGE); 2024-12-31 (BDGD) | 2026-08-29 | pipeline/96_fatores_extra.sql + 96b + 97 | 73115 | 837cc770ec4b | consolidação por hex_id; parâmetros em cbre.fatores_extra_parametros | declarada | BO é registro, não vitimização; renda espalhada por área | trimestral | 2026-11-29 | agente | 2026-08-29T00:00:00+00:00 | passa |
| hex_fatores_extra2 | Métricas de polos, subestações e estoque logístico por célula | OSM 27/08/2026 + ANEEL BDGD 2024 (EDP SP, Enel SP) ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 (OSM); 2024-12-31 (BDGD) | 2026-08-29 | pipeline/97_polos_se_estoque.sql | 73115 | 468c64402db3 | n_polos_1km, dist_polo_m, dist_se_dist_m, se_dist_mva, galpao_m2_2km, n_cond_5km | proxies declarados | MVA nominal ≠ disponível; OSM é cadastro voluntário | semestral | 2027-02-28 | agente |  | nao_validado |
| hex_inundacao | % inundável e pior classe de inundação por célula de 250 m (73.115) | derivada de cbre.inundacao_oficial | 2026-08-29 | 2026-08-29 | pipeline/98b_inundacao.sql |  |  | fração da célula em classe Alta/Média, mancha TR ≤ 25 ou setor R3/R4 | declarada | LEAST(1,NULL) devolve 1 no PostgreSQL: o defeito da 1ª rodada foi corrigido com COALESCE(sum(...),0) antes do LEAST | anual |  | agente |  |  |
| hex_pressao | Variação da fração urbana 2014→2024 por célula | MapBiomas Coleção 10 ([url](https://storage.googleapis.com/mapbiomas-public/initiatives/brasil/collection_10/lulc/coverage/brazil_coverage_2024.tif)) | 2014/2024 | 2026-08-28 | pipeline/80_score.sql | 73115 | 2fe7ad027483 | urbano 2024 − urbano 2014 | declarada | 30 m, classificação automática | anual | 2027-08-30 | agente |  | nao_validado |
| hex_rbcv | Fração da célula por zona da Reserva da Biosfera do Cinturão Verde | Instituto Florestal via WMS DataGeo (RBCV_ZONEAMENTO_IF_POL) ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 | pipeline/80_score.sql (de sp_rbcv_zoneamento_wms) | 73092 | d56825fa1585 | fração por classe; desconto 0,7 em amortecimento | media | vetorização por cor da SLD, não vetor de origem | anual | 2027-08-30 | agente | 2026-08-28T00:00:00+00:00 | passa |
| hex_renda | Renda mediana do responsável por célula (Censo 2022) | IBGE Censo 2022, agregados por setor, V06004 ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Censitarios_Rendimento_do_Responsavel/Agregados_por_setores_renda_responsavel_BR_20260508_csv.zip)) | 2022 | 2026-08-29 | pipeline/93_renda_setor.sql | 68754 | eb8f119e991e | média ponderada por responsáveis × fração de área; 96,4 % das células | informativa | só renda do responsável; ponderação por área | estatico | 2027-08-30 | agente | 2026-08-29T00:00:00+00:00 | atencao |
| hex_roubo_carga | Densidade de roubo de carga (BO/km²/ano) por célula, kernel 2 km | SSP-SP SPDados, BO georreferenciado 2024-2026/06 ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCriminais_2025.xlsx)) | 2024-01..2026-06 | 2026-08-29 | pipeline/90b_roubo_carga_hex.sql | 73115 | 834d54d25e70 | kernel gaussiano h = 2 km, normalizado por 2,5 anos | declarada | coordenada do local do fato; concentra em eixos viários | trimestral | 2026-11-29 | agente |  | nao_validado |
| hex_uso_osm | Uso consolidado OSM por célula (aeroporto, militar, golfe, cemitério, aterro) | OpenStreetMap, extrato Geofabrik sudeste ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27T20:21:06Z | 2026-08-28 | pipeline/80_score.sql | 9281 | c7563f4635e0 | tags de uso → veto de célula | alta onde mapeado | cobertura OSM desigual | mensal | 2026-09-29 | agente |  | nao_validado |
| hex_varzea | Proxy de várzea por célula (relevo + drenagem) | derivada de GLO-30 + BC250 | 28/08/2026 | 2026-08-28 | pipeline/80_score.sql | 13686 | 46c2b3033e8f | ≤ 2 km do rio e ≤ 6 m acima da cota | proxy | NÃO é mancha de inundação oficial (DAEE/IPT) | estatico | 2027-08-30 | agente |  | nao_validado |
| hex_zona | Zona dominante (categoria/sigla) por célula | derivada de zoneamento | 29/08/2026 | 2026-08-29 | pipeline/80_score.sql + 84b_zona_9mun.sql | 73115 | 744d1527219e | dominante por área | herda a da carta | carta de PDF não decide lote na divisa | anual | 2027-08-30 | agente | 2026-08-29T00:00:00+00:00 | passa |
| imovel_fatores_extra | Fatores extra por imóvel (roubo, tributação, renda, RL/APP, polos, SE, estoque) | derivada | 29/08/2026 | 2026-08-29 | pipeline/96_fatores_extra.sql + 96b + 97 | 4346 | 198647eff817 | média ponderada por área; dist_* = mínimo | declarada | idem hex_fatores_extra | trimestral | 2026-11-29 | agente |  | nao_validado |
| imovel_mt | Metros de rede de média tensão dentro do imóvel e distância à rede mais próxima | ANEEL BDGD 2024 (cbre.rede_mt_ae) | 2024 | 2026-08-30 | pipeline/9x_perfil_conversao_20_perfil.sql |  |  | soma do comprimento intersectado e KNN ao segmento mais próximo | média (geometria quantizada ±35 m) | rede dentro do imóvel nem sempre é boa notícia (pode ser faixa de servidão); a BDGD é rede de DISTRIBUIÇÃO e não garante capacidade para carga industrial | anual |  | agente |  |  |
| imovel_rl_app | RL e APP declaradas por imóvel e área útil | SICAR (car_reserva_legal, car_apps) | 2026 | 2026-08-29 | pipeline/91_rl_app_imovel.sql | 4346 | 24a6550896d9 | recorte ao polígono; area_util = area × (1 − rl − app) | declarada pelo proprietário | não validadas; SICAR não expõe averbação | trimestral | 2026-11-29 | agente | 2026-08-29T00:00:00+00:00 | passa |
| iso_ancoras | As 5 âncoras (GRU Cargo, Dutra×Rodoanel, Marginal×Fernão Dias…) verificadas no OSM | OSM (feições verificadas uma a uma) ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-28 |  | 5 | d1f83a82a323 | verificação feição a feição (research/07 §5.1) | alta | — | estatico | 2027-08-30 | humano | 2026-08-28T00:00:00+00:00 | passa |
| iso_grade | Grade de amostragem de 500 m (25.585 pontos e células) sobre o buffer de 5 km, base das isócronas | derivada de cbre.area_estudo | 2026-08-28 | 2026-08-28 | osm/sql/20_contagens.sql |  |  | ST_SquareGrid(500 m) em EPSG:31983; ponto = centroide da célula | alta | é malha de amostragem das isócronas (resolução efetiva 500 m, borda ±250 m), não a unidade de análise — a unidade é cbre.hex | estatico |  | agente |  |  |
| iso_tempos | Tempos OSRM âncora → 25.585 pontos da grade de 500 m, 2 direções | OSRM /table sobre OSM ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-28 | osm/isocronas.py | 127925 | 97b0502ba840 | lotes de 500; via > 1.000 m = NULL (91,5 % alcançáveis) | alta | fluxo livre | semestral | 2027-02-28 | agente | 2026-08-28T00:00:00+00:00 | atencao |
| itbi_sp_lote_zona | Zona (nivel 2) e macrozona (nivel 1) de cada lote que aparece no ITBI de Sao Paulo | derivada: cbre.itbi_sp x cbre.zoneamento x cbre.macrozoneamento | carta vigente em 30/08/2026 | 2026-08-30 | cbre/valor/20_itbi_sp_zona.sql | 117605 |  | juncao espacial do PONTO do lote (centroide do GeoSampa) sobre a carta | media | lote em divisa de zona pode cair na zona vizinha; galpao_entra_cat vem da CATEGORIA da carta e nao da leitura da lei de uso — e triagem, nunca certidao de uso | semestral | 2027-02-28 | agente |  |  |
| itbi_sp_raw | Carga crua do ITBI de Sao Paulo, espelho fiel dos arquivos .xlsx oficiais (staging, sem normalizacao nem geometria) | Prefeitura de Sao Paulo / Secretaria Municipal da Fazenda ([url](https://prefeitura.sp.gov.br/web/fazenda/w/acesso_a_informacao/31501)) | exercicios 2022 a 2026 | 2026-08-30 | cbre/valor/10_itbi_sp_parse.py + 11_itbi_sp_load.sql | 890105 |  | COPY do CSV gerado em streaming a partir dos .xlsx | alta | staging: NAO usar em analise, e a referencia de conferencia de contagem de cbre.itbi_sp. Reproduzivel a partir de valor/raw/itbi_sp/. | mensal | 2026-09-30 | agente |  |  |
| leilao_documento | Procedencia de cada documento de leilao baixado (url, sha256, paginas, data) e o MOTIVO quando a fonte bloqueia | CDN dos leiloeiros ([url](https://cdn1.megaleiloes.com.br/batches/)) | coleta de 31/08/2026 | 2026-08-31 | mercado/leilao_docs.py + leilao_ficha_txt.py | 87 |  | download com User-Agent de navegador, 3 s entre pedidos, parada em 403/429; robots.txt respeitado (Zuk veda /edital -> linha de bloqueio, nao contorno); texto por PyMuPDF, OCR por tesseract quando nao ha camada de texto | alta (procedencia) | Os PDFs ficam so no servidor (mercado/docs/), nunca sao republicados nem entram em documento de cliente: contem nome de pessoa e CPF. 16 linhas sao bloqueio declarado. | diario | 2026-09-07 | agente |  |  |
| leilao_historico_log | Log por rodada e por fonte da varredura de leilões fechados (quantos novos e quantos atualizados) | derivada | 2026-08-29 em diante | 2026-08-29 | mercado/leilao_historico.py |  |  | uma linha por rodada × fonte | n.a. | é controle de execução, não dado de mercado | mensal |  | agente |  |  |
| lote_serie_s2 | Serie anual Sentinel-2 (2017-2026) por lote urbano candidato: NDVI, NDBI, BSI e fracao de solo exposto medidos dentro do poligono do proprio lote. | ESA Copernicus Sentinel-2 L2A, via catalogo STAC Earth Search (Element84) e COG publicos em s3://sentinel-cogs ([url](https://earth-search.aws.element84.com/v1)) | 2017-05 a 2026-09 (janela sazonal maio-setembro de cada ano) | 2026-08-31 | pipeline/cadastro/60_lote_s2_serie.py + 61_lote_s2_agrega.py | 8235 |  | Ate 4 cenas com nuvem < 20% por ano e por tile MGRS (23KLP, 23KLQ), so entre 01/05 e 30/09. Mascara SCL {0,1,3,8,9,10,11}. Grade de 10 m (B11 e SCL reamostrados de 20 m por vizinho mais proximo). Estatistica por cena = mediana dos pixels validos DENTRO do poligono do lote; o ano = mediana das cenas. Observacao descartada se pixels validos < 30 ou < 60% da mascara do lote. | media-alta para o lote medido (>= 50 pixels a 10 m); baixa para o poligono aproximado de Guarulhos (Voronoi na quadra, nao e o lote) | 10 m nao ve galpao pequeno, telheiro nem obra sob copa; a janela maio-setembro nao cobre o ano inteiro; ausencia de sinal nao e vistoria; a serie so comeca em 2017 (Sentinel-2 L2A), logo construcao anterior a 2017 nao aparece como mudanca. | anual | 2027-02-28 | agente |  |  |
| lt_ae | Linhas de transmissão existentes e planejadas na bbox | ANEEL SIGEL + EPE (aneel_sigel_linhas) | 2026 | 2026-08-28 | pipeline/50_rede.py | 334 | a44eabbb4a14 | dist_lt_km, faixa ≤ 50 m | alta (fonte) | faixa de servidão a verificar na transmissora | semestral | 2027-02-28 | agente |  | nao_validado |
| macrozoneamento_qa | Conferência do nível 1 por município: nº de classes, nº de macrozonas, sobreposição interna e cobertura da divisa IBGE | derivada de cbre.macrozoneamento | 2026-08-29 | 2026-08-29 | pipeline/zon_catalogo/20_macrozoneamento_cbre.sql |  |  | limites de aceitação declarados no próprio script | n.a. | a cobertura falha em Santa Isabel e Cajamar (< 95 %) e fica em aviso em São Paulo — o QA registra, não corrige | anual |  | agente |  |  |
| onr_praca_limite | Limite municipal das praças da CBRE consultadas no ONR, usado para separar o que está dentro do município do que só está no envelope | ONR, malha BR_Municipios_2022 hospedada no próprio servidor ([url](https://gis-mapas.onr.org.br/onrgisserver/rest/services/Hosted)) | malha IBGE 2022 | 2026-08-30 | onr/limites_pracas.py + onr/15_praca_limite.py + 15_praca_limite.sql |  |  | download por município e marcação de no_limite_praca | alta | a malha hospedada é INCOMPLETA: 25 UFs, sem PE e SE (Recife ficou só no envelope), AL/PB/DF parciais | estatico |  | agente |  |  |
| onr_urbano_mercado | Cruzamento das 863 matrículas com anúncio, lote de leilão, estoque logístico, ativo de FII e imóvel CAR (inclui a trava duplica_car) | derivada de onr_matricula × anuncios / leilao_detalhe / estoque_logistico / estoque_fii / imoveis_candidatos | 2026-08-30 | 2026-08-30 | onr/24_mercado.sql |  |  | dentro do lote e a ≤ 200 m; duplica_car = ao menos 50 % do lote dentro de um imóvel CAR (regra DECLARADA), para não contar o mesmo ativo duas vezes | declarada | preço pedido e valor de praça não são transação; LEAST(1,NULL) devolve 1 no Postgres — armadilha corrigida aqui com COALESCE | trimestral |  | agente |  |  |
| osm_aeroway | Feições aeroportuárias OSM (1.523) | OpenStreetMap ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-28 | osm/sql/10_derivar.sql | 1523 | d1400391c300 | tag aeroway | alta | — | mensal | 2026-09-29 | agente |  | nao_validado |
| osm_contagens_municipio | Contagens de via, uso do solo e edificação por município (9 linhas) | derivada das camadas osm_* | OSM 2026-08-27 | 2026-08-28 | osm/sql/20_contagens.sql |  |  | ST_Intersection com o limite municipal | alta onde mapeado | é PISO do que voluntários mapearam, não estoque real: a cobertura de edificação é desigual (São Paulo tem importação de cadastro, Guarulhos e Cajamar são mapeamento voluntário) | mensal |  | agente |  |  |
| osm_lines_raw | Carga bruta do ogr2ogr com todas as linhas do recorte OSM da área de estudo (345.965; 175.958 vias nomeadas) | OpenStreetMap, extrato Geofabrik sudeste recortado pelo buffer de 5 km ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27T20:21:06Z | 2026-08-28 | osm/load_ogr.sh |  |  | ogr2ogr driver OSM com other_tags em hstore, índice GiST | alta onde mapeado | camada BRUTA; é o insumo das vias usadas na geocodificação e no georreferenciamento das plantas de Arujá | mensal |  | agente |  |  |
| osm_multipolygons_raw | Carga bruta do ogr2ogr com todos os multipolígonos do recorte OSM (2.260.951) | OpenStreetMap, extrato Geofabrik sudeste recortado pelo buffer de 5 km ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27T20:21:06Z | 2026-08-28 | osm/load_ogr.sh |  |  | ogr2ogr driver OSM com other_tags em hstore, índice GiST; 11 polígonos com autointerseção corrigidos por ST_MakeValid | alta onde mapeado | camada BRUTA (911 MB, reproduzível do .pbf); é o insumo de osm_landuse, osm_buildings_ind, dos polos de tráfego e da pegada de edificação usada na vacância | mensal |  | agente |  |  |
| osm_polos_pts_raw | 863 nós do OSM com tags de polo gerador de tráfego (carga bruta do .pbf) | OpenStreetMap, extrato osm/area_estudo.osm.pbf ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-29 | carga por ogr2ogr (camada points) — consumida por pipeline/97_polos_se_estoque.sql |  |  | -where other_tags LIKE das tags de polo; subway_entrance excluído | alta onde mapeado | camada BRUTA: a final é cbre.polos_trafego, depois do dedupe de nó × polígono a 150 m | mensal |  | agente |  |  |
| osm_rail | Ferrovias OSM (2.020) | OpenStreetMap ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-28 | osm/sql/10_derivar.sql | 2020 | dbb063835791 | tag railway | alta onde mapeado | — | mensal | 2026-09-29 | agente |  | nao_validado |
| osm_roads | Malha viária OSM da área de estudo (53.195) | OpenStreetMap, Geofabrik sudeste ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27T20:21:06Z | 2026-08-28 | osm/load_ogr.sh + osm/sql/10_derivar.sql | 53195 | 1ccf06719b40 | filtro por tag highway | alta onde mapeado | cobertura desigual | mensal | 2026-09-29 | agente |  | nao_validado |
| polos_logisticos_pontos | Os 45 pontos que compõem os 14 polos (rótulo, lat, lon) | OpenStreetMap ([url](https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf)) | 2026-08-27 | 2026-08-30 | pipeline/88a_polos_geom.py |  |  | 30 acessos do Rodoanel (nós motorway_junction a ≤ 150 m de via com nome 'Rodoanel', deduplicados a 300 m) e 3 portões em Santos | alta | dos 3 portões de Santos o DP World nunca vence o mínimo | estatico |  | agente |  |  |
| questionario_resposta | Respostas do questionario de diagnostico enviado a CBRE (42 perguntas em 8 blocos): uma linha por pergunta respondida por respondente. | A propria CBRE (formulario web em cbre.iagrointel.com, caminho nao-adivinhavel; link com token no caminho, sem login) ([url](https://cbre.iagrointel.com/q-<hash>/<token>/)) | a partir de 31/08/2026 (vivo) | 2026-08-31 | questionario/app.py (servico cbre-questionario :8132); formulario gerado por web/entrega_pages.py; export questionario/questionario_export.py | 0 |  | O respondente abre o link, marca as opcoes e o navegador grava cada resposta (upsert por token+pergunta). O token identifica a SESSAO/pessoa, e gerado no navegador e vive no caminho do link; nao ha login. Espelho em JSONL: /home/dev/cbre/comentarios/log/questionario.jsonl. | declarado pelo respondente (opiniao e pratica interna da CBRE), nunca medido por nos | Nao e amostra estatistica nem pesquisa de mercado: e o que UMA pessoa da CBRE declarou. Multipla escolha vem concatenada por " \| ". O nome e campo LIVRE e OPCIONAL; nenhuma pergunta pede CPF, pessoa fisica, cliente nomeado ou valor de contrato. Quem tem o link do token le e altera aquelas respostas. | diario | 2026-09-07 | agente |  |  |
| raw_apa_cantareira_zoneamento_ff2020 | Bruto do zoneamento da APA Sistema Cantareira (Dec. estadual 65.244/2020), obtido por WMS GetFeatureInfo | DataGeo / Fundação Florestal ([url](https://datageo.ambiente.sp.gov.br/geoportal/rest/document?id=%7B63470BF2-0DE8-456B-86B9-A8F50F252CBB%7D)) | 2020 | 2026-08-29 | pipeline/zon_nazare/01-04 |  |  | wms_getfeatureinfo — o serviço devolve a geometria completa; recorte posterior pela divisa IBGE | alta | é zoneamento ESTADUAL de unidade de conservação, não lei municipal de uso do solo (Nazaré Paulista não tem LUOS) | anual |  | agente |  |  |
| raw_cajamar_dxf | Bruto do DWG oficial de macrozoneamento de Cajamar convertido em DXF (65.978 entidades) | Prefeitura de Cajamar, Secretaria de Infraestrutura — macrozoneamento-cajamar-2019.dwg ([url](https://cajamar.sp.gov.br/infraestrutura/wp-content/uploads/sites/20/2020/06/macrozoneamento-cajamar-2019.dwg)) | 2019 | 2026-08-29 | LibreDWG dwg2dxf + ogr2ogr (a tabela é lida por pipeline/zon_cajamar/03_plot_layers.py) |  |  | conversão DWG → DXF → PostGIS em SRID 31983; as camadas de zona são as que começam por Z | média | é a planta de 2019; a lei vigente é a LC 234/2024, cuja planta oficial (Anexo 6) NÃO foi publicada — por isso 8 polígonos de Cajamar ficam com confiança baixa e 14 km² sem zona | anual |  | agente |  |  |
| raw_geosampa_perimetro_zona_lei_18177_24 | Bruto dos 61.784 perímetros de zona de São Paulo (Lei 18.177/2024), carga do WFS | GeoSampa — Prefeitura de São Paulo, camada geoportal:perimetro_zona_lei_18177_24 ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | 2024 | 2026-08-28 |  |  |  | WFS paginado de 10.000; geometria com arcos (MultiSurface, resolvida com ST_CurveToLine) | alta (vetor oficial) | camada BRUTA: a harmonizada é cbre.zoneamento_sao_paulo | anual |  | agente |  |  |
| raw_gu_ct_limite_municipal | Limite municipal do cadastro técnico de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:ct_limite_municipal ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_legal_sm_mananciais | Mananciais municipais de Guarulhos (4 polígonos, 93,65 km²) — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:legal_sm_mananciais ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei 1.172/1976 | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_legal_sm_uc | Bruto da camada geocorppg:legal_sm_uc do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:legal_sm_uc ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_pg_zoneamento | Bruto da camada geocorppg:pg_zoneamento do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:pg_zoneamento ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_sh_nucleo | Núcleos habitacionais / assentamentos precários da Secretaria de Habitação de Guarulhos — carga BRUTA | Prefeitura de Guarulhos ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows)) | sem campo de data; referências internas até 2019 | 2026-08-31 | comunidades/25_guarulhos_habi.sh | 232 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | cadastro de PROCESSO de regularização, não inventário; domicílios em 151 de 232 | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_gu_tm_pd_2019_macrozoneamento | Macrozoneamento do PD 2019 — idêntico ao tm_sdu_macrozoneamento (diferença de área medida: 0,000 km²) — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_pd_2019_macrozoneamento ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei 7.730/2019 | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_pd_2019_za | Bruto da camada geocorppg:tm_pd_2019_za do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_pd_2019_za ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_pd_2019_zupi | Bruto da camada geocorppg:tm_pd_2019_zupi do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_pd_2019_zupi ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_apa_varzea_tiete | APA Várzea do Rio Tietê em Guarulhos (3 zonas: ZCM 1,8 km², PET 5,8, ZUC 0,5) — é unidade de conservação, NÃO mancha de inundação — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_apa_varzea_tiete ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_macrozoneamento | Macrozoneamento do PD de Guarulhos (Lei 7.730/2019) na camada do SDU — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_macrozoneamento ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei 7.730/2019 | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_uc | Unidades de conservação na base municipal de Guarulhos (13 polígonos; PE Itaberaba, APA Paraíba do Sul, APA Cabuçu-Tanque Grande…) — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_uc ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_uso_solo | Uso do solo temático do SDU de Guarulhos (também publicado como SHP em guarugeo.guarulhos.sp.gov.br/download/shp/tm_sdu_uso_solo.zip) — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_uso_solo ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_zeis | Zonas Especiais de Interesse Social de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_zeis ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_zoneamento_7888_2021 | Zoneamento vigente de Guarulhos (LPUOS Lei 7.888/2021, 34 multipolígonos, com CA/TO/H por zona) — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_zoneamento_7888_2021 ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei 7.888/2021 (alt. 8.213/2023) | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_zoneamento_aeroportuario | Bruto da camada geocorppg:tm_sdu_zoneamento_aeroportuario do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_zoneamento_aeroportuario ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_zoneamento_art_31 | Bruto da camada geocorppg:tm_sdu_zoneamento_art_31 do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_zoneamento_art_31 ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_zoneamento_industrial | ZUPI estadual de 1978 (Lei estadual 1.817/1978) na versão vetorial de Guarulhos: ZUPI1 23,32 + ZUPI2 4,78 = 28,10 km² — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_zoneamento_industrial ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | Lei estadual 1.817/1978 | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 | alta (vetor oficial) | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_gu_tm_sdu_zoneamento_municipal | Bruto da camada geocorppg:tm_sdu_zoneamento_municipal do GeoServer da Prefeitura de Guarulhos — carga BRUTA, sem harmonização | GeoServer oficial da Prefeitura de Guarulhos, camada geocorppg:tm_sdu_zoneamento_municipal ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-28 |  |  |  | carga bruta do WFS (GeoJSON/GML), reprojetada para EPSG:31983/4674 |  | camada BRUTA: quem decide no produto é cbre.zoneamento / cbre.macrozoneamento, não esta tabela | anual |  | agente |  |  |
| raw_ibge_fcu | Polígonos das Favelas e Comunidades Urbanas do Censo 2022, Brasil inteiro — carga BRUTA | IBGE ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urbanas_Resultados_do_universo/arquivos_vetoriais/poligonos_FCUs_shp.zip)) | Censo 2022; malha 08/11/2024 | 2026-08-31 | comunidades/10_ibge_fcu.sh | 12348 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | 12.348 feições nacionais; a borda é a do setor censitário agregado | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_ibge_fcu_nset | FCU identificadas e NÃO setorizadas (sem resultado censitário) — carga BRUTA | IBGE ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urbanas_Resultados_do_universo/arquivos_vetoriais/FCUs_nao_setorizadas_shp_20260410.zip)) | revisão 10/04/2026 | 2026-08-31 | comunidades/10_ibge_fcu.sh | 2192 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | conjunto disjunto do anterior; nunca tem população | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_ibge_fcu_pop | Moradores em domicílio particular permanente ocupado por FCU (planilha do IBGE) — carga BRUTA | IBGE ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urbanas_Caracteristicas_do_entorno/)) | Censo 2022 | 2026-08-31 | comunidades/10_ibge_fcu.sh | 12348 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | "moradores em DPPO" não é a mesma medida que "população residente" da tabela SIDRA 9888 | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_inund_gs_area_inundavel | Bruto da camada area_inundavel de São Paulo (53 polígonos, TR 100) | GeoSampa — Prefeitura de São Paulo ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | 2026-05-29 | 2026-08-29 | geo/raw/inundacao/fetch_geosampa_mancha.sh |  |  | GetFeature JSON | alta (vetor oficial) | TR 100 entra como classe Baixa e NÃO desconta no fator 9 | anual |  | agente |  |  |
| raw_inund_gs_mancha | Bruto das manchas de inundação de São Paulo por tempo de retorno (mancha_inundacao_5, _25 e _100; 1,46 mi polígonos na bbox da área de estudo) | GeoSampa — Prefeitura de São Paulo (WFS geoportal) ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | 2026-08-10 | 2026-08-29 | geo/raw/inundacao/fetch_geosampa_mancha.sh + load_mancha.sh |  |  | GetFeature JSON paginado de 10.000 com bbox; as manchas são dissolvidas por célula × TR no passo seguinte | alta (vetor oficial) / modelagem por bacia | camada BRUTA e pesada; é modelagem PMSP/SIURB por bacia e não cobre canais fora do cadastro | anual |  | agente |  |  |
| raw_inund_gs_risco_hidrologico | Bruto dos 793 setores de risco hidrológico de São Paulo (R1-R4) | GeoSampa — Prefeitura de São Paulo ([url](https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&request=GetCapabilities)) | 2021-2026 | 2026-08-29 | geo/raw/inundacao/fetch_geosampa_mancha.sh |  |  | GetFeature JSON | alta (cadastro oficial) | setor de risco é área com gente dentro, cadastrada pela Defesa Civil: R3/R4 pesa igual à classe Alta | anual |  | agente |  |  |
| raw_inund_gu_tm_cdc_areasderisco_2026 | Bruto das 218 áreas de risco da Defesa Civil de Guarulhos (77 de inundação/solapamento, R2-R4) | GeoServer da Prefeitura de Guarulhos, camada geocorppg:tm_cdc_areasderisco_2026 ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | 2026 | 2026-08-29 | geo/raw/inundacao (WFS de Guarulhos) |  |  | GetFeature WFS | alta (cadastro oficial) | camada BRUTA; só as classes de inundação/solapamento R3/R4 contam no fator | anual |  | agente |  |  |
| raw_inund_gu_tm_cdc_risco | Bruto de camada de risco da Defesa Civil de Guarulhos, baixada no mesmo lote das demais camadas de inundação | GeoServer da Prefeitura de Guarulhos (workspace geocorppg) ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-29 | geo/raw/inundacao (WFS de Guarulhos) |  |  | GetFeature WFS |  | camada BRUTA que NÃO entra em cbre.inundacao_oficial: só as três camadas nomeadas no research/22 §2 bloco C foram usadas | anual |  | agente |  |  |
| raw_inund_gu_tm_cdc_suscetibilidade | Bruto dos 669 polígonos de suscetibilidade da Defesa Civil de Guarulhos — a mesma carta do SGB/IPT, sem a classe Baixa | GeoServer da Prefeitura de Guarulhos, camada geocorppg:tm_cdc_suscetibilidade ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | 2014 (mesma carta SGB/IPT) | 2026-08-29 | geo/raw/inundacao (WFS de Guarulhos) |  |  | GetFeature WFS; equivalência conferida contra a carta do RIGeo: tp_susc=2/tp_grau=1 = Alta (36 pol., 16,0 km²) e tp_grau=2 = Média (227 pol., 20,2 km²) | alta (vetor oficial) | é a MESMA carta do RIGeo republicada pelo município: não somar as duas; a classe Baixa só existe no shapefile do RIGeo | anual |  | agente |  |  |
| raw_inund_gu_tm_ig_2020_setores_inundacao | Bruto dos 247 setores de inundação do IG-SP em Guarulhos (classe P/V/R) | GeoServer da Prefeitura de Guarulhos, camada geocorppg:tm_ig_2020_setores_inundacao ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) | 2019-11/12 | 2026-08-29 | geo/raw/inundacao (WFS de Guarulhos) |  |  | GetFeature WFS | alta (cadastro oficial) | camada BRUTA; setor de risco cadastrado não é mancha modelada | anual |  | agente |  |  |
| raw_inund_gu_tm_sdu_areas_risco | Bruto de camada de áreas de risco do SDU de Guarulhos, baixada no mesmo lote das demais camadas de inundação | GeoServer da Prefeitura de Guarulhos (workspace geocorppg) ([url](https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=GetCapabilities)) |  | 2026-08-29 | geo/raw/inundacao (WFS de Guarulhos) |  |  | GetFeature WFS |  | camada BRUTA que NÃO entra em cbre.inundacao_oficial | anual |  | agente |  |  |
| raw_inund_ig_ubc | Bruto do perigo de inundação por Unidade Básica de Compartimentação do IG-SP/CPLA (1.852 unidades, classes P0-P5) | DataGeo — camada UBC_INUNDACAO (IG-SP/CPLA) ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | 2014 | 2026-08-29 | geo/raw/inundacao/harvest_ubc.py |  |  | WMS GetFeatureInfo em grade de 0,015° (3.720 chamadas) — o serviço devolve a geometria completa | média (escala 1:250.000) | NÃO entra no cálculo de % inundável: a escala é estadual (1:250.000) e serve só de contexto | anual |  | agente |  |  |
| raw_inund_sgb_aruja | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/19018)) | 2017-18 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_cajamar | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/19384)) | 2017-18 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_guarulhos | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/15178)) | 2014 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_itaqua | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/15197)) | 2014 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_mairipora | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/15201)) | 2014 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_mogi | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/19434)) | 2017-18 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_nazare | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/18190)) | 2017-18 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_inund_sgb_santaisabel | Bruto do tema SuscetibilidadeInundacao.shp da carta de suscetibilidade do município (classes Alta/Média/Baixa, 1:25.000) | SGB/CPRM + IPT — Carta de suscetibilidade a movimentos gravitacionais de massa e inundações, repositório RIGeo ([url](https://rigeo.sgb.gov.br/handle/doc/19432)) | 2017-18 | 2026-08-29 | geo/raw/inundacao/fetch_sgb.sh + load_mancha.sh |  |  | API DSpace 7 (/server/api/discover/search/objects → /core/items/{uuid}/bundles → bitstream content); do zip (110 MB a 1,28 GB) só o tema inundação foi extraído | alta (carta oficial, modelagem HAND/MDE com validação de campo) | camada BRUTA: a harmonizada é cbre.inundacao_oficial; carta de 2014-2018 a 1:25.000, não substitui estudo hidrológico do lote | anual |  | agente |  |  |
| raw_itaqua_zeis | ZEIS de Itaquaquecetuba — carga BRUTA | Prefeitura de Itaquaquecetuba, Secretaria de Planejamento Urbano ([url](https://itaqua.sp.gov.br/planejamento-urbano/)) | LC 399/2024 | 2026-08-31 | comunidades/26_outros_municipios.sh | 69 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | a fonte é um My Maps oficialmente linkado, não um serviço GIS institucional | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_mairipora_macrozoneamento_kml | Bruto do arquivo MACROZONEAMENTO.kmz de Mairiporã (198 feições) | Prefeitura de Mairiporã (Drive oficial), LC 438/2021 Anexo II ([url](https://drive.google.com/drive/folders/1VOirgMBOJZqB0cA5EGbLi0k3WwjXIzlK)) | LC 438/2021 | 2026-08-29 |  |  |  | KMZ; a classe da macrozona está só no HTML do campo description e foi lida de lá | alta (vetor oficial) / atributo pobre | sem atributo de nome da macrozona: a classe vem do HTML da description | semestral |  | agente |  |  |
| raw_mairipora_pd_kml | Bruto das 17 camadas do arquivo PLANO DIRETOR.kmz oficial de Mairiporã (312 feições) | Prefeitura de Mairiporã — pasta oficial da revisão do Plano Diretor Participativo ([url](https://www.mairipora.sp.gov.br/cidadao/revisao-de-plano-diretor-participativo)) | LC 438/2021 e alterações (2021-2025) | 2026-08-29 | pipeline/zon_mairipora/10_load_kml.sh |  |  | ogr2ogr camada a camada do doc.kml, EPSG:4326 → 4674; 2 geometrias inválidas corrigidas com ST_MakeValid | alta (vetor oficial) | o KMZ não traz data nem versão e o Plano Diretor está em revisão; a harmonizada é cbre.zoneamento_mairipora | semestral |  | agente |  |  |
| raw_mapbiomas_2024_area_estudo | Recorte da cobertura MapBiomas 2024 na área de estudo, usado para medir quanto de cada zona ainda não está urbanizado | MapBiomas Coleção 10 (COG público) ([url](https://storage.googleapis.com/mapbiomas-public/initiatives/brasil/collection_10/lulc/coverage/brazil_coverage_2024.tif)) | 2024 | 2026-08-28 |  |  |  | leitura da janela do COG na bbox da área de estudo | alta (fonte) / 30 m | a classe 24 marca a MALHA urbana (lote, rua, pátio), não a pegada da edificação: lote vazio dentro da malha conta como urbanizado | anual |  | agente |  |  |
| raw_mogi_edu | Bruto das 95 feições da camada EDU do GeoMogi | GeoMogi — Prefeitura de Mogi das Cruzes ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento)) | 2016 (consolidada 2018) | 2026-08-28 |  |  |  | GeoJSON embutido |  | camada BRUTA que NÃO entra em cbre.zoneamento | anual |  | agente |  |  |
| raw_mogi_macrozona | Bruto do endpoint /mapa/macrozona do GeoMogi (39 polígonos → 8 macrozonas, 713,9 km² = todo o município) | GeoMogi — Prefeitura de Mogi das Cruzes ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/macrozona)) | Plano Diretor de Mogi das Cruzes (número da lei a conferir na SMU) | 2026-08-29 |  |  |  | GeoJSON embutido (cópia em geo/raw/mogi_macrozona.json) | alta (vetor oficial) | o número e o ano da lei do PD de Mogi NÃO foram confirmados: por isso pd_ano fica NULL no perfil de conversão e 1.199 imóveis ficam 'sem_dado' no teste de viabilidade no ciclo | anual |  | agente |  |  |
| raw_mogi_zede | Bruto das 46 ZEDE de Mogi das Cruzes (zonas especiais de desenvolvimento econômico) | GeoMogi — Prefeitura de Mogi das Cruzes ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento)) | 2016 (consolidada 2018) | 2026-08-28 |  |  |  | GeoJSON embutido | alta (vetor oficial) | ZEDE é SOBREPOSIÇÃO ao zoneamento: somar com ele conta a mesma área duas vezes | anual |  | agente |  |  |
| raw_mogi_zeis1 | ZEIS-1 de Mogi das Cruzes — carga BRUTA | Prefeitura de Mogi das Cruzes (GeoMogi) ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zeis1)) | não declarado pelo portal | 2026-08-31 | comunidades/26_outros_municipios.sh | 63 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | ⛔ o endpoint /mapa/getlote do mesmo portal carrega `proprietario` e nunca foi chamado | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_mogi_zeis2 | ZEIS-2 de Mogi das Cruzes — carga BRUTA | Prefeitura de Mogi das Cruzes (GeoMogi) ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zeis2)) | não declarado pelo portal | 2026-08-31 | comunidades/26_outros_municipios.sh | 12 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | idem | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_mogi_zoneamento | Bruto do endpoint JSON /mapa/zoneamento do GeoMogi (168 zonas da Lei 7.200/2016, com CA/TO/gabarito e incomodidade) | GeoMogi — Prefeitura de Mogi das Cruzes ([url](https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento)) | 2016 (consolidada 2018) | 2026-08-28 |  |  |  | GeoJSON embutido no JSON do app, EPSG:4326 | alta (vetor oficial) | camada BRUTA: a harmonizada é cbre.zoneamento_mogi_das_cruzes | anual |  | agente |  |  |
| raw_rbcv_lim_wms | Bruto da vetorização por cor do WMS do limite da RBCV | Instituto Florestal via WMS DataGeo, camada datageowms:RBCV_LIMITE_IF_POL ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 | geo/rbcv/rbcv_wms_raster.py |  |  | mesmo método do zoneamento | media | idem: vetorização por cor, não vetor de origem | anual |  | agente |  |  |
| raw_rbcv_zon_wms | Bruto da vetorização por cor do WMS do zoneamento da Reserva da Biosfera do Cinturão Verde | Instituto Florestal via WMS DataGeo, camada datageowms:RBCV_ZONEAMENTO_IF_POL ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 | geo/rbcv/rbcv_wms_raster.py |  |  | 30 tiles de 2048 px a ~11 m classificados pelas cores da SLD (GetStyles), sieve de 40 px, poligonização | media | é vetorização por COR de imagem, não o vetor de origem: o WFS está desligado nesse workspace ('Service WFS is disabled') | anual |  | agente |  |  |
| raw_sp_habi_favela | Favelas do cadastro da SEHAB — carga BRUTA | Prefeitura de São Paulo / SEHAB ([url](https://dados.prefeitura.sp.gov.br)) | junho de 2026 | 2026-08-31 | comunidades/20_geosampa_habi.sh | 1710 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | domicílios são estimativa declarada, sem data e sem fonte | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_sp_habi_loteamento | Loteamentos irregulares do cadastro da SEHAB — carga BRUTA | Prefeitura de São Paulo / SEHAB ([url](https://dados.prefeitura.sp.gov.br)) | junho de 2026 | 2026-08-31 | comunidades/20_geosampa_habi.sh | 1955 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | a coluna de endereço da fonte foi removida da tabela | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_sp_habi_nucleo | Núcleos urbanizados do cadastro da SEHAB — carga BRUTA | Prefeitura de São Paulo / SEHAB ([url](https://dados.prefeitura.sp.gov.br)) | junho de 2026 | 2026-08-31 | comunidades/20_geosampa_habi.sh | 440 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | a camada é o próprio estágio: favela que já tem infraestrutura | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_sp_habi_obra | Obras de urbanização em assentamento precário — carga BRUTA | Prefeitura de São Paulo / SEHAB ([url](https://dados.prefeitura.sp.gov.br)) | junho de 2026 | 2026-08-31 | comunidades/20_geosampa_habi.sh | 179 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | estimativa de famílias declarada "conforme Censo IBGE 2022" | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| raw_sp_habi_reurb | Ações de regularização fundiária (REURB) — carga BRUTA | Prefeitura de São Paulo / SEHAB ([url](http://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs)) | junho de 2026 | 2026-08-31 | comunidades/20_geosampa_habi.sh | 2792 |  | carga bruta da fonte, sem harmonização (quem decide no produto é cbre.com_favela / cbre.com_zeis) | alta (vetor oficial) | processo administrativo, não título registrado; só 282 com registro averbado | trimestral |  | agente | 2026-08-31T13:14:26.068526+00:00 | passa |
| rede_mt_ae | Rede de média tensão na bbox (684.762 segmentos) | ANEEL BDGD 2024 (+ backfill 2023) via brasil_mt.bin do Observatório da Energia | 2024 | 2026-08-28 | pipeline/50_rede.py | 684762 | 01d89ac18132 | filtro por bbox → LineString 31983 | media (quantizada ±35 m) | sem alimentador/tensão; distribuição não garante capacidade industrial | anual | 2027-08-30 | agente |  | nao_validado |
| rmsp | União dos 39 municípios da RMSP, usada como recorte de contexto | malha municipal IBGE (tribuna_serving.municipio_geo, já carregada no iagro_sat) | malha 2022 | 2026-08-28 |  |  |  | ST_Union dos 39 polígonos | alta | recorte de contexto: a área de estudo da frente são os 9 municípios (cbre.area_estudo) | estatico |  | agente |  |  |
| rmsp_municipios | Os 39 municípios da RMSP (LC estadual 1.139/2011), 7.947 km² | malha municipal IBGE (tribuna_serving.municipio_geo, já carregada no iagro_sat) | malha 2022 | 2026-08-28 |  |  |  | seleção por código IBGE; conferido: 39 linhas e nomes batem | alta | Nazaré Paulista NÃO está aqui (não pertence à RMSP) — por isso a área de estudo usa a malha completa, não esta tabela | estatico |  | agente |  |  |
| rmsp_sub | RMSP subdividida em 1.561 pedaços (ST_Subdivide 128) em EPSG:4326, para acelerar interseção | derivada de cbre.rmsp | malha 2022 | 2026-08-28 |  |  |  | ST_Subdivide(geom,128) | alta | tabela de desempenho: não representa nenhum objeto do mundo | estatico |  | agente |  |  |
| rmsp_sub_4674 | A mesma subdivisão da RMSP em EPSG:4674, para cruzar com CAR/SIGEF/ANM (que estão nesse SRID) | derivada de cbre.rmsp | malha 2022 | 2026-08-28 |  |  |  | ST_Subdivide(geom,128) em 4674 | alta | tabela de desempenho | estatico |  | agente |  |  |
| rod_gru_fed_est | União das rodovias federais e estaduais a até 3 km de Guarulhos (176,6 km), usada na primeira triagem de 28/08 | IBGE BCIM + DNIT SNV (public.ibge_bcim_rodovias, public.amc_dnit_snv_rodovias) | BCIM (safra não declarada no relatório); SNV 2026-07 | 2026-08-28 |  |  |  | união das duas fontes dentro de um buffer de 3 km | alta (fonte) | 52,7 km em Guarulhos têm jurisdição 'Desconhecida' no BCIM; a camada usada no motor é cbre.rodovias_principais (OSM), não esta | anual |  | agente |  |  |
| sanidade_banda | Banda de referencia usada para julgar R$/m2, uma linha por municipio x objeto (terreno urbano, galpao construido), com p25/mediana/p75, o piso de terra nua (VTN INCRA) e os multiplos declarados. | derivada de cbre.valor_referencia (ITBI-SP, PGV Guarulhos, pedida de anuncio, valor declarado de FII, VTN INCRA) | 2026-08-31 | 2026-08-31 | pipeline/sanidade/44_banda.sql | 20 |  | selecao por ordem de preferencia declarada | media | A banda de 7 dos 9 municipios e CIRCULAR (sai da pedida dos proprios anuncios que julga) e por isso usa multiplo 20x, nao 10x. ITBI e base de calculo de imposto, PGV e planta generica, FII e valor justo declarado em informe, VTN e terra nua. Nenhuma e valor de transacao do imovel julgado. | trimestral | 2026-11-29 | agente |  |  |
| sanidade_mercado | O veredito de sanidade por item: se esta em quarentena e por que, se o R$/m2 e confiavel e por que, e a area/preco corrigidos quando o proprio texto do anuncio permitiu reler o campo. | iAgroSat, sobre cbre.anuncios / cbre.mercado_il / cbre.leilao_detalhe / cbre.estoque_fii_valor | 2026-08-31 | 2026-08-31 | pipeline/sanidade/44_sanidade_mercado.py | 11014 |  | regras declaradas + releitura do titulo do anuncio | media | Quarentena nao e prova de que o anuncio e falso: e a declaracao de que nao sabemos ler o campo. Nao houve conferencia de matricula nem visita. Correcao so a partir do texto do proprio anuncio, nunca por inferencia de anuncio vizinho. | semanal | 2026-09-07 | agente |  |  |
| sanidade_regra | As regras DECLARADAS de plausibilidade de area e preco aplicadas as listas de mercado: codigo, alvo (area/preco/R$ por m2), efeito (quarentena, sem_preco, sem_unitario, aviso, ausente) e o texto da regra. | iAgroSat (regra propria, declarada) | 2026-08-31 | 2026-08-31 | pipeline/sanidade/44_sanidade_mercado.py | 18 |  | regra declarada | alta | Regra, nao medicao. Os limiares (100 ha, 50 m2, R$ 100.000, multiplos 10x/20x/3x/5x) sao escolha nossa, escritas em research/44_SANIDADE_MERCADO.md §2, e podem ser recalibradas com a CBRE. | estatico |  | agente |  |  |
| se_ae | Subestações da rede básica na bbox (ONS SINDAT) | ONS SINDAT (cbre.sindat_subestacoes) | 2026 | 2026-08-28 | pipeline/50_rede.py | 67 | 8fe8ad27b430 | dist_se_km, se_kv | alta (fonte) | só rede básica | semestral | 2027-02-28 | agente |  | nao_validado |
| setor_ae | Setores censitários 2022 na área com população e domicílios | IBGE Censo 2022 (amc_setores_censitarios_2022) | 2022 | 2026-08-28 | pipeline/60_pop.sql | 54829 | 11bca419d0be | ponderação por área | alta (fonte) | setor grande espalha população | estatico | 2027-08-30 | agente |  | nao_validado |
| setor_renda | Renda do responsável por setor censitário de SP (100.928) | IBGE Censo 2022, agregados por setor ([url](https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Censitarios_Rendimento_do_Responsavel/Agregados_por_setores_renda_responsavel_BR_20260508_csv.zip)) | 2022 (arquivo 12/08/2025) | 2026-08-29 | pipeline/93_renda_setor.sql | 100928 | 4bf00d63b1b2 | leitura do CSV; X/. = NULL | alta (fonte) | sigilo estatístico = NULL | estatico | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| sindat_lt | As 1.850 linhas de transmissão da rede básica do SIN (ONS SINDAT) | ONS SINDAT (GeoJSON local em /mnt/pgdata/observatorio_energia/) | 2026 | 2026-08-28 |  |  |  | ogr2ogr do GeoJSON | alta (fonte) | rede básica; a faixa de servidão precisa ser verificada no cadastro da transmissora | semestral |  | agente |  |  |
| sindat_subestacoes | As 1.198 subestações da rede básica do SIN (ONS SINDAT) | ONS SINDAT (GeoJSON local em /mnt/pgdata/observatorio_energia/) | 2026 | 2026-08-28 |  |  |  | ogr2ogr do GeoJSON | alta (fonte) | é só a REDE BÁSICA (1 subestação dentro de Guarulhos, 7 a ≤ 10 km); a subestação de distribuição está em cbre.subestacoes_dist | semestral |  | agente |  |  |
| sp_rbcv_limite_wms | Limite da RBCV (365) | Instituto Florestal via WMS DataGeo ([url](https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST=GetCapabilities)) | não informado na fonte | 2026-08-28 | geo/rbcv/rbcv_wms_raster.py | 365 | 3c1eadb7fb90 | wms_raster | media | idem | anual | 2027-08-30 | agente |  | nao_validado |
| ssp_carga_municipio | Taxa municipal de roubo de carga por 100 mil habitantes (todos os BOs, com ou sem coordenada) | SSP-SP Transparência/SPDados + IBGE Censo 2022 ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCriminais_2025.xlsx)) | 2024-01..2026-06 | 2026-08-29 | pipeline/90b_roubo_carga_hex.sql |  |  | contagem de BOs por município dividida pela população do Censo 2022 | alta (fonte) | BO é REGISTRO, não vitimização; a taxa é do município inteiro e não descreve o lote | trimestral |  | agente |  |  |
| ssp_natureza_municipio_mes | Contagem de BOs por município × mês × natureza (estado de SP) | SSP-SP SPDados ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCriminais_2025.xlsx)) | 2024-2026/06 | 2026-08-29 | pipeline/90_ssp_roubo_carga.py | 25861 | 075f45535b18 | agregação | alta (fonte) | — | trimestral | 2026-11-29 | agente |  | nao_validado |
| ssp_veiculo_subtraido | BOs de veículo subtraído no estado de SP (2024-2026/06) COM o tipo do veículo (caminhão, carreta, cavalo mecânico, moto, automóvel), sem placa nem logradouro | SSP-SP Transparência — base "Veículos subtraídos" (base BRUTA; a própria SSP declara que não é estatística oficial e que a Res. SSP 160/2001 não tem indicador de veículos subtraídos) ([url](https://www.ssp.sp.gov.br/assets/estatistica/transparencia/baseDados/veiculosSub/VeiculosSubtraidos_2025.xlsx)) | 2024-01..2026-06 | 2026-08-31 | pipeline/100_ssp_veiculo_subtraido.py + 100b + 100c |  |  | dedupe por (ANO_BO, NUM_BO, ID_DELEGACIA, CONT_VEICULO): 622.922 linhas brutas -> 353.894 registros; classe_veiculo derivada dos 24 valores que ocorrem em DESCR_TIPO_VEICULO (mapeamento em research/40 §4); bo_key = md5 truncado de (ANO_BO\|NUM_BO\|NOME_DELEGACIA) para juntar com ssp_carga_pontos sem gravar o nº do BO | média (base bruta, não auditada — a base A com NATUREZA_APURADA tem estatuto maior) | BO é registro, não condenação; a classe do veículo depende de como a delegacia digitou; "pesado/carga" NÃO quer dizer que havia carga; coordenada é do local do fato (segue corredor viário, não lote); só 65,3 % dos BOs de ROUBO DE VEÍCULO da base auditada casam com esta base, logo a camada é PISO; PLACA_VEICULO existe na fonte e NÃO foi gravada | trimestral |  | agente |  |  |
| ti_ae | Terras indígenas na bbox (7) | FUNAI (funai_terras_indigenas) | 2026 | 2026-08-28 | pipeline/40_restricoes.sql | 8 | 47ab3d528ff1 | ti_pct, ti_nome | alta (fonte) | — | semestral | 2027-02-28 | agente |  | nao_validado |
| trabalho_municipio | Saldos e admissões CAGED divisões 49 e 52 por município | Novo CAGED (trabalho.caged_municipio_mes_divisao) | 2020-01..2026-06 | 2026-08-29 | pipeline/92_trabalho_municipio.sql | 9 | 2524530d8c98 | agregação por município | alta (fonte) | só fluxo, sem estoque RAIS | mensal | 2026-09-29 | agente |  | nao_validado |
| uf_pr_perimetro_urbano | Paraná: 1.003 polígonos envolventes de perímetro urbano com código IBGE do município (sede e distritos) — o único perímetro urbano estadual real do país | Paraná Interativo (SEDU/Paranacidade), ArcGIS REST ([url](https://paranainterativo.pr.gov.br/interativo/rest/services)) | não declarada na fonte | 2026-08-30 | uf/fetch_uf_outros.py |  |  | consulta ArcGIS REST (/query?where=1=1&f=geojson&resultOffset=) | alta (órgão estadual) | é ENVOLTÓRIA do perímetro, não o traçado legal; fora do escopo dos 9 municípios (entra como prova de que o motor roda em outra praça) | anual |  | agente |  |  |
| uf_rs_loteamento_metroplan | Rio Grande do Sul: 4.841 glebas e projetos de parcelamento do solo (Lei 6.766/1979) da Região Metropolitana de Porto Alegre, com área e nº de unidades | IEDE-RS (METROPLAN), ArcGIS REST ([url](https://iede.rs.gov.br/server/rest/services)) | série 1977-2019 | 2026-08-30 | uf/fetch_uf_outros.py |  |  | consulta ArcGIS REST | alta (órgão estadual) | só a RMPA; é projeto de parcelamento, não lote cadastral; fora do escopo dos 9 municípios | anual |  | agente |  |  |
| uf_sp_area_intervencao | Áreas de intervenção da macrometrópole (10 em 10 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2014 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | planejamento de 2014; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_cdhu_gleba | Glebas da CDHU (1.423 em 61 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2009 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | 11 polígonos têm geometria FORA do Brasil (defeito da fonte), detectados por não casarem com nenhum município na uf_sp_cobertura; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_cdhu_terreno | Terrenos da CDHU com número de matrícula, sem titular (247 em 14 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | não declarada na fonte | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | só o NÚMERO da matrícula, nunca o titular; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_cobertura | Tabela auxiliar: quantas feições de cada camada uf_* caem em cada município (2.183 linhas) | derivada de uf_* × malha municipal IBGE | 2026-08-30 | 2026-08-30 | uf/coverage.sql |  |  | junção espacial com a malha IBGE | alta | é a tabela que revela onde cada camada realmente cobre — ler SEMPRE antes de citar contagem por município | anual |  | agente |  |  |
| uf_sp_graprohab | Empreendimentos com certificado GRAPROHAB: protocolo, área da gleba e nº de lotes (1.689 em 138 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | não declarada na fonte | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | a coluna proprietario existe na fonte e NÃO foi ingerida; certificado GRAPROHAB é de parcelamento habitacional — o industrial pede declaração de NÃO enquadramento; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_quadra_fiscal_2004 | Quadra fiscal (setor/quadra) do cadastro entregue à EMPLASA (64.324 em 13 municípios; 64.257 na capital) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2004 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | safra de 2004; quadra fiscal não é quadra física nem lote; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_quadra_igc_2000 | Quadra do mapeamento do IGC (44.306 em 30 municípios; Campinas 15.710) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2000 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | safra de 2000; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_uso_lote_tpcl_2016 | Uso predominante por quadra do cadastro TPCL (54.821 em 8 municípios; 54.799 na capital) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2016 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | o cadastro TPCL vivo da capital é de outra safra: este acervo estadual é de 2016 (pedido de atualização em cbre.pedidos_dado); nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uf_sp_vetor_territorial | Vetores territoriais da macrometrópole (8 em 7 municípios) | IDE-SP — acervo da EMPLASA (extinta pela Lei estadual 17.056/2019) servido pelo IGC, WFS do workspace acervo_emplasa ([url](https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0.0&request=GetCapabilities)) | 2014 | 2026-08-30 | uf/fetch_uf_sp.py |  |  | WFS 2.0 GetFeature em streaming, uma camada por vez, com fonte/fonte_url/licenca/ingest_ts gravados em cada linha e índice GiST; as colunas de identidade da fonte (contato, telefone, proprietario, responsavel_edicao) NÃO foram ingeridas | alta (vetor de órgão oficial) / escala nominal | planejamento de 2014; nenhuma dessas camadas traz RMSE: a escala nominal (1:10.000 / 1:25.000 / 1:100.000) é o único indicador de erro e não decide divisa | anual |  | agente |  |  |
| uso_entrega | Uso do link de entrega da CBRE: um evento por acao no link privado (pagina aberta, camada ligada, aba, motor rodado, filtro, PDF aberto, saida), por sessao. | aplicacao propria (servico cbre-uso em 127.0.0.1:8133, cliente web/uso.js so nas paginas entrega-<hash>*.html) | 2026-08-31 em diante (vivo) | 2026-08-31 | uso/app.py + web/uso.js (injetado por web/entrega_pages.py) |  |  | o navegador enfileira eventos e envia em lote por POST /api/cbre/uso; o servidor aceita so o vocabulario fechado de eventos, corta strings, converte o IP em sha256(sal\|\|ip) truncado em 16 hex e reduz o user agent a familia de navegador e de sistema. Espelho em uso/log/uso.jsonl. Do Not Track e Global Privacy Control (cabecalho ou navegador) desligam a gravacao. | alta (e registro proprio; nao ha inferencia) | NAO e identificacao de pessoa: nao ha cookie, nome, e-mail, CPF, geolocalizacao nem texto digitado (de campo de busca guarda-se o NOME do campo, nunca o conteudo). A sessao morre com a aba, entao a mesma pessoa em duas abas conta duas sessoes e no dia seguinte conta outra. O hash de IP separa visitantes mas nao volta a ser IP sem o sal, que vive no .env fora do banco. Quem usa DNT/GPC nao aparece: a contagem e PISO, nunca total. pdf_pagina so existe onde o PDF e lido dentro de uma pagina nossa; hoje a entrega leva ao arquivo, e o que se mede e a abertura (pdf_abrir). Tempo de pagina e tempo VISIVEL, e a ultima janela pode se perder se o navegador fechar sem disparar o pagehide. | diario |  | agente |  |  |
| valor_referencia_grande | Banda de lote grande (>= 1.000 m2); hoje so Sao Paulo capital tem observacao suficiente | derivada de valor_referencia | 30/08/2026 | 2026-08-30 | cbre/valor/55_valor_referencia_alvo.sql | 1 |  | recorte "lote >= 1.000 m2" da banda de ITBI | media | so entra quando o alvo tem area >= 1.000 m2 e nao ha banda de zona nem de macrozona | mensal | 2026-09-30 | agente |  |  |
| valor_referencia_pref | Banda de referencia preferida por municipio x objeto (hierarquia de metodo declarada) | derivada de valor_referencia | 30/08/2026 | 2026-08-30 | cbre/valor/55_valor_referencia_alvo.sql | 39 |  | transacao > laudo de FII > valor fiscal > VTN > arrematacao; preco pedido nunca entra | media | tabela auxiliar, reconstruida a cada execucao do 55; nao editar a mao | mensal | 2026-09-30 | agente |  |  |
| valor_referencia_rmsp | Banda regional de fallback (RMSP) por objeto, usada quando o municipio nao tem fonte independente | derivada de valor_referencia | 30/08/2026 | 2026-08-30 | cbre/valor/55_valor_referencia_alvo.sql | 2 |  | maior n entre as linhas de recorte_tipo = rmsp | baixa | e banda REGIONAL: aplicada a um municipio, mede a diferenca municipio x regiao, nao caro x barato | mensal | 2026-09-30 | agente |  |  |
| zoneamento_aruja_frentes | Frentes de via da ZEC de Arujá definidas por texto na Planta 3 (0,69 km² em 5 vias) — ficam fora de cbre.zoneamento | Câmara Municipal de Arujá (siscam), LC 42/2019 Planta 3 — Zoneamento Central, observação 3 ([url](https://camaraaruja.sp.gov.br)) | 2019 | 2026-08-29 | pipeline/zon_aruja/22_p3_load.sql |  |  | corredor de 40 m para cada lado do eixo OSM da via, recortado entre as vias-limite citadas na lei | baixa | a lei define por IMÓVEL com frente para a via; o corredor de 40 m é aproximação DECLARADA; 3 das 8 vias da ZEC não estão mapeadas no OSM; não entram em cbre.zoneamento porque a ZEC já é poligonal na Planta 2 e as frentes se sobrepõem a ela | semestral |  | agente |  |  |
| zoneamento_aruja_lei1472_2000 | Zoneamento REVOGADO de Arujá (Lei 1.472/2000, 41 feições) — contexto histórico, não entra em cbre.zoneamento | Portal governoeletronico de Arujá, Planta do Zoneamento Geral (PDF vetorial) ([url](http://governoeletronico.aruja.sp.gov.br/leismunicipais/AtosPlanejamento/zoneamento%20Geral.pdf)) | 2000 (revogada pela LC 42/2019 art. 73) | 2026-08-29 | pipeline/zon_aruja/01-05 |  |  | pdftocairo -svg, triângulos de preenchimento unidos por cor, contorno reconstruído e afinidade por ICP contra a divisa IBGE (RMSE 59 m, mediana 41 m) | baixa | LEI REVOGADA: serve só de comparação histórica (a ZUPI 1 de 2000 tinha 24,52 km², quase a mesma mancha da ZUPI-1 atual) | estatico |  | agente |  |  |
| zoneamento_parametros_dom | Uma linha por (município, sigla) com o regime mais restritivo | derivada | 2026-08-29 | 2026-08-29 | pipeline/84b_zona_9mun.sql | 86 | e69b6931d02c | nao < conferir < condicionado < sim | declarada | — | anual | 2027-08-30 | agente | 2026-08-30T00:00:00+00:00 | passa |
| zoneamento_status | Estado do zoneamento por município (fonte, formato, lei, carregado) | registro próprio | 2026-08-29 | 2026-08-29 |  | 9 | b81a5480b5fa | tabela de controle | n.a. | — | trimestral | 2026-11-29 | humano |  | nao_validado |
| zon_itaqua_grupos | Os 13 grupos de cor da legenda do GeoPDF de Itaquaquecetuba, poligonizados — passo anterior à subclassificação por textura | Prefeitura de Itaquaquecetuba, Anexo II Mapa 1 da LC 420/2025 ([url](https://itaqua.sp.gov.br/arquivos/secretarias/planejamento-urbano/Mapas/ANEXO_II_MAPA_DE_ZONEAMENTO_1_A1.pdf)) | 09/2025 | 2026-08-29 | pipeline/zon_itaqua/10_classify.py |  |  | agregação em blocos, preenchimento de lacunas (linhas, rótulos, hachuras), filtro de moda 5x5 e 7x7, recorte pela divisa IBGE, peneira de 0,5 ha | media | é grupo de COR, não zona: cores iguais só se separam no passo seguinte, pela textura | anual |  | agente |  |  |
| zon_itaqua_zonas | Saída vetorial da classificação do GeoPDF de zoneamento de Itaquaquecetuba — insumo de cbre.zoneamento_itaqua | Prefeitura de Itaquaquecetuba, Anexo II Mapa 1 da LC 420/2025 (GeoPDF 09/2025) ([url](https://itaqua.sp.gov.br/arquivos/secretarias/planejamento-urbano/Mapas/ANEXO_II_MAPA_DE_ZONEAMENTO_1_A1.pdf)) | 09/2025 | 2026-08-29 | pipeline/zon_itaqua/10_classify.py + 20_subclass.py + 40_load.sql |  |  | classificação por cor a 300 dpi com SRS embutido no GeoPDF, separação dos grupos de cor idêntica pela TEXTURA da legenda, recorte pela divisa IBGE, peneira de 0,5 ha | alta/media (±15-20 m) | insumo intermediário: a camada publicada é cbre.zoneamento_itaqua; ZEIS e ZEPAC não foram vetorizadas | anual |  | agente |  |  |

### Procedência incompleta (declarada)

- `area_estudo_municipios`: script não está no repositório
- `cad_galpao_oficial`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado) (a camada está registrada em research/31 §1)
- `cad_zona_galpao`: fonte_url: a URL vai por linha (uma lei por município) e não em uma URL única da tabela
- `com_fonte`: sem URL: é catálogo interno
- `conversao_regras`: URL por linha na coluna url da própria tabela
- `embargo_ae`: URL do download IBAMA não registrada no relatório (tabela já carregada no iagro_sat)
- `guarulhos_macrozoneamento_pd2019`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `guarulhos_zupi_1978`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `imoveis_candidatos`: URL do SICAR não registrada no relatório (tabela já carregada no iagro_sat)
- `imovel_mineracao`: URL STAC exata não registrada no relatório
- `imovel_sigef`: URL do download do SIGEF não registrada no relatório
- `imovel_situacao_uso`: sha256 preenchido pelo QA (pipeline/qa/20_catalogo.py)
- `leilao_detalhe`: URL por lote na coluna url da própria tabela
- `macrozoneamento`: URL por linha na coluna fonte_url da própria tabela
- `mogi_zede_sobreposicao`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `servico:analise_sob_demanda`: data_dado nula por ser servico derivado: a data do dado e a de cada camada de origem; frescor declarado como diario porque cada leitura recalcula sobre o estado corrente das tabelas
- `situacao_uso_limiares`: sem URL: limiar é decisão interna, não tem fonte externa
- `sp_aprm_alto_juquery_limite_2015`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `sp_aprm_alto_juquery_zoneamento_2015`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `sp_aprm_alto_tiete_cabeceiras_limite_2015`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `sp_aprm_alto_tiete_cabeceiras_subareas_2015`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `sp_pde_macroarea_lei_18209`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `sp_uc_apa_serra_itapeti_ff`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 §4 escreve verbatim só a camada do PE Itaberaba (VWM_UC_ESTADUAL_PE_ITABERABA_POL) e usa 'etc.' para as demais, e o serviço não declara data do dado
- `sp_uc_apa_sistema_cantareira`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 §4 escreve verbatim só a camada do PE Itaberaba (VWM_UC_ESTADUAL_PE_ITABERABA_POL) e usa 'etc.' para as demais, e o serviço não declara data do dado
- `sp_uc_fe_guarulhos`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 §4 escreve verbatim só a camada do PE Itaberaba (VWM_UC_ESTADUAL_PE_ITABERABA_POL) e usa 'etc.' para as demais, e o serviço não declara data do dado
- `sp_uc_pe_itaberaba`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 §4 escreve verbatim só a camada do PE Itaberaba (VWM_UC_ESTADUAL_PE_ITABERABA_POL) e usa 'etc.' para as demais, e o serviço não declara data do dado
- `sp_uc_pe_itapetinga`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 §4 escreve verbatim só a camada do PE Itaberaba (VWM_UC_ESTADUAL_PE_ITABERABA_POL) e usa 'etc.' para as demais, e o serviço não declara data do dado
- `sp_ucs_uso_sustentavel_sigam`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 §4 escreve verbatim só a camada do PE Itaberaba (VWM_UC_ESTADUAL_PE_ITABERABA_POL) e usa 'etc.' para as demais, e o serviço não declara data do dado
- `tributacao_municipio`: URLs por município estão na própria tabela
- `uc_ae`: URL do CNUC não registrada no relatório (tabela já carregada no iagro_sat)
- `v_lote_vacancia_s2`: n_linhas NULL: e visao, a contagem varia com cbre.cad_lote_x
- `zoneamento`: script da carga WFS de Guarulhos, São Paulo e Mogi não está no repositório (research/06 diz 'carregado pelo agente')
- `zoneamento_guarulhos`: script de carga não está no repositório
- `zoneamento_mogi_das_cruzes`: script de carga não está no repositório
- `zoneamento_parametros`: URL por linha na coluna fonte_url da própria tabela
- `zoneamento_sao_paulo`: script de carga não está no repositório
- `zoneamento_x_mapbiomas_2024`: script do cruzamento não está no repositório (research/06 §2.1 traz o resultado)
- `area_estudo`: script não está no repositório (research/07: 'carregada pelo agente da área de estudo')
- `cad_gu_parcelamento`: esta camada não é carregada por pipeline/cadastro/20_guarulhos_wfs.sh (que carrega as outras seis): a camada de origem é a registrada em research/_survey_rmsp8.md e research/06, mas o comando exato da carga não está no repositório
- `cad_gu_uso_solo`: esta camada não é carregada por pipeline/cadastro/20_guarulhos_wfs.sh (que carrega as outras seis): a camada de origem é a registrada em research/_survey_rmsp8.md e research/06, mas o comando exato da carga não está no repositório
- `car_attr_ae`: URL do SICAR não registrada no relatório (tabela de origem já carregada no iagro_sat)
- `car_gru`: URL do SICAR não registrada no relatório (tabela de origem já carregada no iagro_sat)
- `car_ndvi`: endpoint STAC exato não registrado no relatório
- `car_rmsp`: URL do SICAR não registrada no relatório
- `estoque_fii_mun`: fonte_url: malha IBGE já carregada no iagro_sat, URL do download não registrada no relatório
- `gru_sub`: script não está no repositório (research/03 §0)
- `gru_sub_4674`: script não está no repositório (research/03 §0)
- `guarulhos`: script não está no repositório (research/03 §0)
- `guarulhos_4674`: script não está no repositório (research/03 §0)
- `guarulhos_mananciais`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `guarulhos_ucs`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `hex`: fonte_url: derivada, sem URL
- `hex_anm`: URL do download SIGMINE não registrada no relatório (arquivo local /mnt/pgdata/amc_fase1/fase2/amc_anm_sigmine.zip)
- `imovel_mt`: fonte_url: derivada de cbre.rede_mt_ae, cuja URL do pacote BDGD também não está registrada em relatório (arquivo local brasil_mt.bin)
- `iso_ancoras`: script não está no repositório (coordenadas no research/07 §5.1)
- `lt_ae`: URL SIGEL não registrada no relatório
- `osm_polos_pts_raw`: comando ogr2ogr desta carga não está gravado em script do repositório (documentado em research/20 §1)
- `questionario_resposta`: n_linhas=0 no cadastro: a tabela nasce vazia e cresce com as respostas
- `raw_geosampa_perimetro_zona_lei_18177_24`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_ct_limite_municipal`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_legal_sm_mananciais`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_legal_sm_uc`: idem: camada baixada no mesmo lote, sem descrição nem data do dado em relatório; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_pg_zoneamento`: idem: camada baixada no mesmo lote, sem descrição nem data do dado em relatório; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_sh_nucleo`: licença não declarada no serviço
- `raw_gu_tm_pd_2019_macrozoneamento`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_pd_2019_za`: idem: camada baixada no mesmo lote, sem descrição nem data do dado em relatório; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_tm_pd_2019_zupi`: idem: camada baixada no mesmo lote, sem descrição nem data do dado em relatório; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_tm_sdu_apa_varzea_tiete`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_macrozoneamento`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_uc`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_uso_solo`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_zeis`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_zoneamento_7888_2021`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_zoneamento_aeroportuario`: idem: camada baixada no mesmo lote, sem descrição nem data do dado em relatório; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_tm_sdu_zoneamento_art_31`: idem: camada baixada no mesmo lote, sem descrição nem data do dado em relatório; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_gu_tm_sdu_zoneamento_industrial`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); a camada WFS declara notas por zona mas NÃO declara data de atualização
- `raw_gu_tm_sdu_zoneamento_municipal`: o relatório registra a carga do bloco raw_gu_tm_sdu_* mas não descreve esta camada nem declara data do dado; script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_ibge_fcu`: licença não declarada na fonte
- `raw_ibge_fcu_nset`: licença não declarada na fonte
- `raw_ibge_fcu_pop`: licença não declarada na fonte
- `raw_inund_gu_tm_cdc_risco`: o research/22 nomeia tm_ig_2020_setores_inundacao, tm_cdc_areasderisco_2026 e tm_cdc_suscetibilidade; esta camada foi baixada no mesmo lote e não tem descrição, data do dado nem confiança declaradas em relatório
- `raw_inund_gu_tm_sdu_areas_risco`: idem raw_inund_gu_tm_cdc_risco: sem descrição, data do dado nem confiança declaradas em relatório
- `raw_itaqua_zeis`: licença não declarada
- `raw_mairipora_macrozoneamento_kml`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_mapbiomas_2024_area_estudo`: script do recorte não está no repositório (research/06 §2.1 registra o uso)
- `raw_mogi_edu`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado); o research/06 registra a contagem (95 EDU) mas não descreve o significado da camada nem declara confiança
- `raw_mogi_macrozona`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_mogi_zede`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_mogi_zeis1`: licença não declarada no portal
- `raw_mogi_zeis2`: licença não declarada no portal
- `raw_mogi_zoneamento`: script de carga não está no repositório (a carga é registrada no relatório, não em código versionado)
- `raw_sp_habi_reurb`: licença não declarada no WFS
- `rede_mt_ae`: URL do pacote BDGD não registrada no relatório (arquivo local brasil_mt.bin)
- `rmsp`: script não está no repositório (research/03 §0)
- `rmsp_municipios`: script não está no repositório (o SQL está em research/03 §0)
- `rmsp_sub`: script não está no repositório (research/03 §0)
- `rmsp_sub_4674`: script não está no repositório (research/03 §0)
- `rod_gru_fed_est`: script não está no repositório (research/03 §0, triagem.log)
- `se_ae`: URL SINDAT não registrada no relatório (GeoJSON local em /mnt/pgdata/observatorio_energia/)
- `setor_ae`: URL da malha não registrada no relatório (tabela já carregada)
- `sindat_lt`: URL do SINDAT não registrada no relatório
- `sindat_subestacoes`: URL do SINDAT não registrada no relatório (arquivo local do Observatório da Energia; o SIGEL público é KML sem atributos)
- `ti_ae`: URL FUNAI não registrada no relatório
- `trabalho_municipio`: URL do CAGED não registrada no relatório
- `uso_entrega`: sha256 nulo: tabela viva, muda a cada acesso. fonte_url nulo: nao ha fonte externa — o dado nasce aqui; o painel interno de leitura fica atras de token da equipe e nao se publica no catalogo.
- `zoneamento_status`: script não está no repositório

### Como reproduzir um hash

```
bash /home/dev/cbre/pipeline/qa/hash_tabela.sh <tabela>   # imprime sha256, n_linhas e o comando COPY ... ORDER BY <pk> | sha256sum
```
O export é `COPY (SELECT * FROM cbre.<tabela> ORDER BY <chave primária>) TO STDOUT` (sem chave: ordem pelo texto da linha). Coluna `sha256_cmd` do CSV traz o comando exato por tabela.

## 2. Dicionário de campos (tabelas que o cliente vê)


### `acesso_polos`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alvo_id | Identificador do alvo no seu tipo | texto | hex_id \| car_cod \| onr_id | 40211 | idem |
| alvo_tipo | O que foi roteado | categoria | hex (célula de 250 m) \| imovel (CAR >= 5 ha) \| urbano (lote com matrícula ONR) | hex | pipeline/88b_acesso_polos.py |
| dist_km | Distância pela via até o polo | km | > 0 \| NULL | 26,4 | OSRM |
| fonte | Como o valor foi obtido. Hoje só existe um valor: nada é estimado | categoria | roteado_osrm | roteado_osrm | pipeline/88b_acesso_polos.py |
| polo | Chave do polo logístico | texto | gru_cargo \| vcp_carga \| cgh \| porto_santos \| rodoanel \| centro_sp \| cab_* | gru_cargo | cbre.polos_logisticos |
| ponto | Rótulo do ponto do polo que venceu o mínimo (só faz diferença em Santos e no Rodoanel) | texto | livre | BTP | cbre.polos_logisticos_pontos |
| t_min | Tempo de viagem em FLUXO LIVRE do sítio até o polo. NULL = sem rota (via mais próxima a mais de 1.000 m) | min | > 0 \| NULL | 26 | OSRM sobre OSM 27/08/2026 |

### `anuncio_geo`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| endereco_texto | Texto bruto do endereço usado na cascata. Nunca guarda nome nem telefone de anunciante | texto | livre | Rua X, 100 - Bairro Y | fonte |
| geocode_confianca | Confiança DECLARADA do nível | 0-1 | 0,25-0,95 | 0,85 | idem |
| geocode_metodo | Método da cascata que resolveu a posição | categoria | cnefe_endereco \| cep \| osm_rua_numero \| bairro_centroide | cnefe_endereco | geocode/20_geocode.py |
| geocode_nivel | Nível dentro do método | categoria | porta_exata \| interpolado \| eixo_logradouro \| centroide_cep \| osm_logradouro \| cnefe_localidade_exato | interpolado | idem |
| geocode_raio_m | Raio de precisão declarado | m | > 0 | 60 | idem |

### `anuncio_ponto`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| fonte_suspeita | A coordenada publicada pela fonte cai fora do município que a própria fonte declara | booleano | true \| false | false | geocode/40_recalculo.sql |
| id | Identificador do anúncio em cbre.anuncios | inteiro | > 0 | 812345 | cbre.anuncios |
| precisao_classe | Classe de precisão medida (ver mercado_il.precisao_classe). Só lote e quadra contam como "anúncio dentro do imóvel" | categoria | lote \| quadra \| setor \| bairro \| suspeito | bairro | geocode/40_recalculo.sql |

### `anuncios`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anunciante | Nome da imobiliária/leiloeiro/carteira (pessoa jurídica). Pessoa física não é gravada | texto | livre \| NULL | Mega Leilões | portal |
| area_construida_m2 | Área construída anunciada | m² | > 0 \| NULL | 3.200 | portal |
| area_m2 | Área do terreno ou do imóvel como anunciada | m² | > 0 \| NULL | 12.000 | portal (ou extraída do título/URL) |
| bairro | Bairro informado | texto | livre | Cumbica | portal |
| coletado_em | Quando o anúncio foi lido por nós | data-hora | >= 2026-08-28 | 2026-08-29 06:40 | mercado/run_*.sh |
| data_leilao | Data do leilão (1ª praça) quando é leilão | data | AAAA-MM-DD \| NULL | 2026-09-08 | leiloeiro |
| data_publicacao | Data de publicação quando o portal informa | data | AAAA-MM-DD \| NULL | 2026-08-20 | portal |
| fonte | Portal ou carteira de origem | categoria | chavesnamao \| caixa \| herzog \| megaleiloes \| portalzuk \| superbid \| logcp \| bresco | chavesnamao | mercado/<fonte>.py |
| id | Identificador interno do anúncio | inteiro | >= 1 | 12345 | mercado/load.py |
| lat | Latitude quando o portal publica coordenada nativa (só 1.199 anúncios) | graus | -24 a -23 \| NULL | -23,44 | portal (nunca geocodificado por endereço) |
| lon | Longitude idem | graus | -47 a -46 \| NULL | -46,48 | portal |
| municipio | Município informado | texto | livre | Guarulhos | portal |
| preco_brl | Preço PEDIDO ou valor de 1ª praça. Nunca é preço de transação | R$ | >= 0 \| NULL | 4.500.000 | portal |
| preco_tipo | Natureza do preço | categoria | pedido \| sob_consulta \| 1a_praca | pedido | mercado/load.py |
| raw | Campos brutos da página (JSON) para auditoria | JSON | livre | {…} | portal |
| tipo_fonte | Natureza da fonte | categoria | portal \| leilao \| carteira | leilao | mercado/load.py |
| tipo_imovel | Tipo do imóvel como o portal classifica | texto | livre (terreno, galpão, área…) | Galpão | portal |
| titulo | Título do anúncio | texto | livre | Terreno industrial 12.000 m² Cumbica | portal |
| uf | UF | texto | SP | SP | portal |
| url | URL do anúncio (chave de deduplicação) | URL | única | https://… | portal |

### `assemblagem`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_terreno_total_m2 | Área de terreno somada POR LOTE DISTINTO (nunca por transação) | m2 | numérico | 66322 | área declarada no ITBI |
| galpao_entra | Se a categoria da zona admite galpão | texto | sim · conferir · nao | sim | categoria da carta, não leitura da lei |
| geom_origem | De onde vem o desenho da linha | texto | lotes dissolvidos · poligono da quadra fiscal | lotes dissolvidos | definido por nós |
| janela_dias | Tamanho da janela móvel usada para acender o sinal | dias | 730 | 730 | escolha declarada |
| n_lotes | Quantos LOTES DISTINTOS foram transacionados na quadra dentro da janela | contagem | >= 3 | 3 | medido |
| primeira_data | Data da primeira transação da janela | data | AAAA-MM-DD | 2023-01-10 | ITBI |
| quadra_fiscal | Setor e quadra do cadastro fiscal de São Paulo (6 primeiros dígitos do SQL) | texto | 6 dígitos | 078431 | SQL do ITBI |
| rank_area | Posição no ranking por área combinada | posição | inteiro | 1 | calculado |
| ultima_data | Data da última transação da janela | data | AAAA-MM-DD | 2024-06-24 | ITBI |
| valor_declarado_total | Soma dos valores DECLARADOS das transações dos lotes distintos | R$ | numérico | 194500000 | ITBI, valor declarado |
| valor_m2_declarado | Valor declarado total dividido pela área de terreno total | R$/m2 | numérico | 2932 | calculado |
| zona_sigla | Zona da carta de São Paulo em que a quadra cai | texto | sigla da carta | ZPI-1 | cbre.zoneamento |

### `cad_fonte`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| acessado_em | Data em que o serviço foi consultado | data | AAAA-MM-DD | 2026-08-30 | idem |
| atualizacao | Como e com que frequência a fonte se atualiza | texto | livre | WFS ao vivo, paginado por cd_identificador | idem |
| crs_origem | Sistema de coordenadas em que a fonte serve | texto | EPSG:* | EPSG:31983 | idem |
| dado_pessoal | A fonte expõe nome ou CPF. Quando sim, a camada foi ABANDONADA no ponto em que a identidade aparece | booleano/texto | sim \| nao | nao | idem |
| fonte | Chave da fonte de cadastro consultada | texto | livre | geosampa_lote_cidadao | pipeline/cadastro/30_normaliza.sql |
| geometria | Se a fonte publica polígono, ponto, linha ou nada | categoria | poligono \| ponto \| linha \| nao | poligono | idem |
| n_registros | Quantos registros a fonte informa | contagem | >= 0 \| NULL | 1687715 | idem |
| objeto | Que objeto a fonte publica | texto | lote \| quadra \| edificacao \| face de quadra \| loteamento \| galpao | lote fiscal | research/31 §1 |

### `cad_galpao_oficial`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| emp_ocupante_1 | Empresa ocupante declarada no cadastro da Secretaria da Fazenda (pessoa jurídica) | texto | livre \| NULL | — | geocorppg:tm_sf_galpoes |
| insc_cadastral | Inscrição cadastral do imóvel em Guarulhos | texto | livre \| NULL | — | idem |

### `cad_lote`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_aprox_m2 | Guarulhos: partição geométrica da quadra entre os lotes cadastrados. NÃO é a área do lote — é ordem de grandeza para triagem | m² | > 0 \| NULL | 1.240 | pipeline/cadastro/35_guarulhos_voronoi.sql |
| area_aprox_metodo | Como a área aproximada foi construída | categoria | voronoi_na_quadra \| NULL | voronoi_na_quadra | idem |
| area_construida_m2 | Área construída lançada pelo fisco. É a fonte A da vacância. Zero quer dizer "o fisco não tem construção lançada", não "não há construção" | m² | >= 0 \| NULL | 0 | GeoSampa qt_area_construida |
| area_geom_m2 | Área MEDIDA na geometria (não a declarada pelo cadastro) | m² | > 0 \| NULL | 30.480 | ST_Area(geography) |
| area_terreno_m2 | Área de terreno declarada pelo cadastro (só São Paulo publica) | m² | > 0 \| NULL | 30.500 | GeoSampa qt_area_terreno |
| cib | Código do imóvel no Cadastro Imobiliário Brasileiro, quando a fonte publica | texto | livre \| NULL | — | GeoSampa cd_cib |
| metodo_geom | Como a geometria foi obtida | categoria | wfs_poligono \| wfs_ponto \| quadra_lote_unico | wfs_poligono | idem |
| n_unidades | Quantas unidades do cadastro caem no mesmo lote (Guarulhos publica por unidade) | contagem | >= 1 | 3 | idem |
| sql_cadastral | Inscrição cadastral do lote (SQL em São Paulo, FPQL em Guarulhos). É a chave do cadastro FISCAL, não da matrícula | texto | livre | 001.002.0003-4 | cadastro municipal |
| tipo_geom | Se a linha tem polígono ou só ponto | categoria | poligono \| ponto | poligono | pipeline/cadastro/30_normaliza.sql |
| uso | Uso predominante declarado pelo cadastro | texto | livre \| NULL | Armazém | GeoSampa dc_tipo_uso_imovel |

### `cad_lote_x`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| car_cod | Código CAR que cobre o lote, quando há (trava contra contagem dupla com o objeto rural) | texto | car_cod \| NULL | NULL | cbre.imoveis_candidatos |
| dist_estoque_log_m | Distância ao galpão ou condomínio logístico mais próximo | m | >= 0 \| NULL | 420 | cbre.estoque_logistico |
| edif_mun_n | Pegadas de edificação municipal sobre o lote (Guarulhos) | contagem | >= 0 | 0 | cbre.cad_gu_edificacao (base "descontinuada" pelo produtor) |
| edif_osm_n | Pegadas de edificação do OSM sobre o lote | contagem | >= 0 | 0 | cbre.osm_multipolygons_raw (OSM 27/08/2026) |
| edif_sp_n | Pegadas do GeoSampa sobre o lote (só os candidatos foram baixados, por BBOX) | contagem | >= 0 \| NULL | 0 | pipeline/cadastro/45_geosampa_edificacao_candidatos.py |
| galpao_entra | A zona do lote admite galpão. Em São Paulo e Guarulhos vem de cbre.cad_zona_galpao (regra declarada), não de lei lida em zoneamento_parametros | categoria | sim \| condicionado \| conferir \| nao \| NULL | sim | cbre.cad_zona_galpao |
| hex_id | Célula de 250 m de onde vêm os campos de acesso e os fatores f_* | inteiro | 1-73.115 | 40211 | cbre.hex (HERDADO, 250 m) |
| n_anuncios_100m | Anúncios com coordenada a até 100 m do lote | contagem | >= 0 | 2 | cbre.anuncio_ponto |
| vacancia | Situação de construção decidida por duas fontes independentes | categoria | construido \| vazio \| indefinido \| nao_avaliado | vazio | pipeline/cadastro/41_vacancia_osm.sql (regra declarada) |
| vacancia_fonte | Quais fontes decidiram. Um lote só aparece como VAZIO quando a coluna mostra as duas em zero | texto | cadastro+osm \| cadastro \| edificacao municipal+osm \| osm \| cadastro(0)+osm(0) | cadastro(0)+osm(0) | idem |

### `cad_zona_galpao`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| galpao_entra | Leitura DECLARADA de "galpão entra" para a sigla de zona, a partir do glossário das leis (research/14). Não é certidão de uso do solo | categoria | sim \| condicionado \| conferir \| nao | sim | pipeline/cadastro/42_zona_galpao_sp_gu.sql |

### `car_status`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anos_sem_cultura | Anos seguidos sem cultura/pasto manejado (regra principal) | anos | 0-11 | 6 | MapBiomas |
| area_ha | Área declarada | ha | >= 5 | 8,4 | SICAR (autodeclarado) |
| car_cod | Código CAR | texto | car_cod | SP-… | SICAR |
| classe | Situação de uso 2014-2024 (regra principal) | categoria | agricola_ativo \| florestal \| urbanizado \| misto \| parado | florestal | MapBiomas col. 10 |
| classe_alt | Situação de uso (regra alternativa, usada no ranking) | categoria | idem | parado | MapBiomas col. 10 |
| delta_urban_2014_2024 | Variação da fração urbana 2014 -> 2024 | pontos de fração | -1 a 1 | 0,08 | MapBiomas |
| em_aprm / aprm_nome | Toca APRM e qual | booleano/texto |  | false | DataGeo-SP |
| em_uc_pi / uc_nome / uc_pi_pct | Toca UC de proteção integral, qual e quanto | booleano/texto/fração |  | false | CNUC/SIMA |
| ind_status | Situação do cadastro no SICAR | categoria | AT (ativo) \| PE (pendente) \| CA (cancelado) \| SU (suspenso) | AT | SICAR |
| municipio | Município | texto | 9 municípios | Guarulhos | IBGE |
| municipio_zoneado | Município tem carta de zoneamento carregada | booleano | true \| false | true | cbre.zoneamento_status |
| ndvi_corrobora | NDVI confirma a leitura do MapBiomas | booleano | true \| false \| NULL | true | pipeline/85_car_parado_ndvi_update.sql |
| ndvi_pico_2024 | NDVI máximo 2024 | índice | -1 a 1 | 0,60 | Sentinel-2 |
| ndvi_pico_2026 | NDVI máximo 2026 | índice | -1 a 1 | 0,55 | Sentinel-2 (cbre.car_ndvi) |
| ndvi_seca_2026 | NDVI na seca 2026 | índice | -1 a 1 | 0,30 | Sentinel-2 |
| pct_*_2024 | Frações de cobertura 2024 por classe (mosaico, pasto, floresta, urbano, agricultura, não vegetado, silvicultura, água) | fração | 0-1 | 0,3 | MapBiomas col. 10 |
| zona_sigla / zona_categoria / galpao_entra | Zona dominante e leitura da lei (ver imoveis_candidatos) | categoria | idem | ZUD-6 / mista / sim | cbre.zoneamento |

### `com_alvo`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alvo_id | Chave do alvo no seu próprio universo (código do CAR, gid do lote, onr_id, id do anúncio) | texto |  | SP-3518800-… | nosso |
| alvo_tipo | Que objeto é o alvo | texto | imovel_car · lote_urbano · matricula_onr · mercado_il | imovel_car | nosso |
| com_nomes | Topônimo das comunidades que tocam o alvo. NUNCA nome de pessoa | texto |  | JARDIM PRESIDENTE DUTRA | fonte |
| com_origem | De qual nível vem a sobreposição | texto | cadastro_municipal · censo_ibge · ambos | censo_ibge | calculado |
| dentro_com | Se o alvo toca alguma comunidade | booleano | true/false | false | calculado |
| dist_com_m | Distância do alvo à comunidade mais próxima. CONTEXTO: não entra no fator | m |  | 820.4 | calculado |
| f_comun | Favorabilidade do fator 26 no alvo: o MENOR entre ocupação e ZEIS | 0-100 |  | 100 | calculado |
| f_zeis | Favorabilidade da regra de ZEIS aplicável ao alvo | 0-100 |  | 0 | nosso |
| geom_tipo | Se a medida foi feita sobre polígono ou sobre ponto. Alvo pontual não tem fração | texto | poligono · ponto | poligono | nosso |
| pct_com | Fração da área do alvo dentro de comunidade. NULL quando o alvo é ponto | fração 0-1 |  | 0.00 | calculado |
| pct_zeis | Fração da área do alvo em ZEIS | fração 0-1 |  | 0.05 | calculado |
| pct_zeis1 | Fração da área do alvo em ZEIS de subtipo 1 | fração 0-1 |  | 0.05 | calculado |
| pop_com_2000 | População de comunidade em 2 km, rateada por área. CONTEXTO: não entra no fator; lê-se também como oferta de mão de obra | pessoas |  | 18400 | calculado |
| zeis_efeito | O que a lei do município faz com o galpão nessa ZEIS | texto | bloqueia · restringe · nao_bloqueia_hoje · a_conferir | restringe | nosso, a partir da lei |
| zeis_siglas | Siglas de ZEIS que tocam o alvo | texto |  | ZEIS-1 | fonte |

### `com_favela`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_m2 | Área do polígono em UTM 23S | m² |  | 19340.75 | calculado |
| cd_ibge | Município por JUNÇÃO ESPACIAL com cbre.area_estudo_municipios, nunca pelo rótulo da fonte | código IBGE |  | 3518800 | nosso |
| domicilios | Domicílios declarados pela fonte. Em São Paulo é ESTIMATIVA da SEHAB, sem data e sem fonte declarada | domicílios |  | 348 | fonte |
| fonte | Qual camada originou o polígono | texto | ibge_fcu_2022 · ibge_fcu_2022_nao_setorizada · sp_sehab_favela · sp_sehab_nucleo · sp_sehab_loteamento_irregular · gu_sehab_nucleo | sp_sehab_favela | nosso |
| fonte_nivel | Se a fonte é o censo nacional ou o cadastro da prefeitura | texto | censo_nacional · cadastro_municipal | cadastro_municipal | nosso |
| nome | Topônimo do núcleo publicado pela fonte. NUNCA nome de pessoa | texto |  | FUMAÇA | fonte |
| populacao | Moradores em domicílio particular permanente ocupado (Censo 2022). Só o IBGE publica | pessoas |  | 1717171 | IBGE |
| preferida | Se o polígono entra na união que o produto usa como camada de contexto | booleano | true/false | true | nosso |
| situacao | Estágio de intervenção/regularização declarado pela fonte. NULL = a fonte não declara | texto |  | EM REGULARIZAÇÃO | fonte |
| tipo | Objeto normalizado | texto | favela_comunidade_urbana · nucleo · nucleo_urbanizado · loteamento_irregular | loteamento_irregular | nosso |
| tipo_fonte | Rótulo verbatim da fonte, antes da normalização | texto |  | Núcleo urbanizado (SEHAB) | fonte |

### `com_fonte`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| campo_pessoal | Coluna com dado de pessoa que EXISTE na fonte e NÃO foi ingerida | texto |  | o dicionário da fonte declara nome_proprietario | nosso |
| motivo_escolha | Por que esta fonte é usada e o que ela não resolve | texto |  | Piso NACIONAL e a única contagem censitária… | nosso |
| preferida | Se a fonte entra na união usada pelo produto | booleano | true/false | true | nosso |

### `com_zeis`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| efeito_galpao | O que a lei faz com o galpão nesta ZEIS | texto | bloqueia · restringe · nao_bloqueia_hoje · a_conferir | bloqueia | nosso, a partir da lei |
| f_zeis | Favorabilidade que esta ZEIS impõe ao galpão, vinda de com_zeis_regra | 0-100 | 0 · 20 · 50 · 60 | 0 | nosso, a partir da lei |
| lei | Lei municipal que institui a zona | texto |  | Lei municipal 7730/2019 | fonte |
| vigente | Se a fonte marca a feição como vigente | booleano | true/false | true | fonte |
| zeis_sigla | Sigla da ZEIS como a fonte publica | texto |  | ZEIS-1 | fonte |
| zeis_tipo | Subtipo numérico 1..5 quando a fonte numera; NULL quando não | número | 1..5 | 1 | fonte |

### `com_zeis_regra`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| artigo | Artigo lido | texto |  | art. 145, VI | fonte |
| confianca | Se o texto foi lido em fonte primária ou não foi lido | texto | alta (texto lido em fonte primária) · não lido | alta (texto lido em fonte primária) | nosso |
| efeito_galpao | Efeito da zona sobre o galpão | texto | bloqueia · restringe · nao_bloqueia_hoje · a_conferir | restringe | nosso, a partir da lei |
| f_zeis | Favorabilidade correspondente ao efeito (0 = a lei fecha; 50 = regra não lida, NEUTRO) | 0-100 |  | 0 | nosso |
| texto_regra | O que a lei diz, em uma frase, com os percentuais | texto |  | HIS ≥ 50 %, uso não residencial ≤ 20 % e só NR1, NR2 e I1-A | nosso, a partir da lei |
| zeis_padrao | Expressão regular que casa a sigla da ZEIS neste município | regex |  | ^ZEIS-?[1-4]$ | nosso |

### `conversao_regras`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| chave | Nome curto da regra | texto | livre | expansao | idem |
| fonte | Norma ou documento que embasa a regra | texto | livre | Lei 6.766/1979 art. 16 | idem |
| grupo | Bloco a que a regra pertence | texto | caminho \| obstaculo \| score \| perfil | caminho | idem |
| ordem | Ordem da regra | inteiro | 1-28 | 20 | pipeline/9x_perfil_conversao_20_perfil.sql |
| prazo_meses | Faixa de prazo associada à regra, quando há | texto | livre \| NULL | 18-36 | idem |
| procedencia | De onde vem a regra | categoria | DECLARADO \| LITERATURA | LITERATURA | idem |
| regra | Texto da regra, como ela é aplicada | texto | livre | macrozona URB_EXPANSAO_QUALIF sem zona urbana de nível 2 | idem |
| url | URL da fonte legal | URL | http(s) \| NULL | https://www.planalto.gov.br/… | idem |

### `estoque_fii`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| abl_m2 | Campo "Área (m2)" do Anexo 39-II. NÃO é ABL garantida: os fundos ora declaram ABL, ora área construída, ora terreno | m² | > 0 \| NULL | 105.638 | B3/FNET (declarado) |
| abl_suspeito | A área declarada é improvável (erro de preenchimento do informe). Fica na tabela e FORA de toda soma | booleano | true \| false | false | pipeline/98_estoque_fii.py |
| area_terreno_m2 | Área de terreno quando o fundo a declara em separado (seção de terrenos) | m² | > 0 \| NULL | NULL | B3/FNET |
| data_ref | Data de referência do informe trimestral | data | AAAA-MM-DD | 2026-06-30 | B3/FNET |
| endereco | Endereço declarado pelo fundo (imóvel comercial, não residência de pessoa) | texto | livre | Estr. Velha Guarulhos-São Miguel, 1814 | B3/FNET |
| fii_cnpj | CNPJ do fundo (pessoa jurídica, não é dado pessoal) | texto | CNPJ | 00.000.000/0001-00 | cadastro CVM |
| fii_segmento | Segmento de atuação declarado no informe da CVM | texto | Logistica \| Hibrido \| Outros \| … | Logistica | cadastro CVM |
| fii_ticker | Ticker do fundo, extraído do 3º ao 6º caractere do ISIN. 16 fundos não listados só têm CNPJ | texto | 4 letras + 11 \| NULL | HGLG11 | cadastro CVM (ISIN) |
| fonte_doc | Identificador do documento no FNET | texto | livre | id do documento | B3/FNET |
| geocode | Como o imóvel foi posicionado | categoria | nome \| logradouro \| municipio | logradouro | pipeline/98_estoque_fii.py |
| geocode_detalhe | Detalhe do casamento (nome batido, extensão da via usada) | texto | livre | via OSM: Estrada Velha Guarulhos-São Miguel, 6,2 km | idem |
| imovel_nome | Nome do imóvel como o fundo declara. Alguns fundos usam matrícula ou código interno | texto | livre | HGLG Guarulhos | B3/FNET |
| pct_carteira | Quanto o imóvel representa das receitas do fundo | % | 0-100 \| NULL | 12,4 | B3/FNET (declarado) |
| secao | Seção do Anexo 39-II de onde o imóvel foi lido | categoria | 1.1.1 terrenos \| 1.1.2.1.1 renda acabados \| 1.1.2.2.1 em construção \| 1.1.2.3/4 para venda | 1.1.2.1.1 | B3/FNET |
| suspeito | ativo de FII cuja ABL declarada no informe nao e utilizavel (ausente, zero ou fora de ordem de grandeza) | booleano | t \| f | f | pipeline/sanidade/44 |
| suspeito_motivo | motivo | texto |  | abl_suspeita | pipeline/sanidade/44 |
| tipologia | Se o imóvel entra no fator de estoque logístico | categoria | logistico \| outro | logistico | pipeline/98_estoque_fii.py (regra declarada) |
| unidades | Número de unidades/módulos declarado | contagem | >= 0 \| NULL | 5 | B3/FNET |
| vacancia_pct | Vacância DECLARADA pelo administrador | % | 0-100 \| NULL | 0 | B3/FNET (declarado) |

### `estoque_fii_valor`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| metodo_casamento | Como o ativo do informe anual foi casado com o imóvel do informe trimestral | categoria | nome_exato \| nome_prefixo \| nome_contido | nome_exato | valor/42_fii_valor_join.sql |
| preco_m2_confiavel | false = nao mostrar R$/m2 de ABL | booleano | t \| f | t | pipeline/sanidade/44 |
| preco_m2_motivo | por que o R$/m2 de ABL nao e confiavel | texto |  | fii_valor_ambiguo | pipeline/sanidade/44 |
| valor_brl | Valor contábil/justo declarado pelo administrador para o ativo. NÃO é preço de transação | R$ | > 0 \| NULL | 250.000.000 | B3/FNET, Informe Anual |
| valor_justo | O fundo declara o valor como valor justo nos termos da ICVM 516 | booleano | true \| false \| NULL | true | B3/FNET |
| valor_m2_abl | Valor declarado dividido pela ABL declarada. É TETO de referência para galpão pronto e locado, nunca preço de terreno | R$/m² | > 0 \| NULL | 2.400 | valor/42_fii_valor_join.sql |

### `fatores`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| criterio | O que o fator mede e por que importa para galpão | texto | livre | galpão é uso permitido na zona | idem |
| direcao | Sentido: maior = melhor | texto | maior = melhor | maior = melhor | idem |
| disponivel | Fator com dado carregado (false = gancho ainda sem dado) | booleano | true \| false | true | idem |
| fator | Nome curto (sufixo das colunas f_*) | texto | decl … mine | zon | idem |
| fonte | Fonte do dado do fator | texto | livre | Cartas oficiais dos 9 municípios | idem |
| nome | Nome do fator em linguagem simples | texto | livre | Zoneamento | idem |
| ordem | Número do fator (1-19) na ordem do painel | inteiro | 1-19 | 2 | pipeline/85_fatores.sql |
| transformacao | Fórmula declarada que leva o valor bruto a 0-100 | texto | livre | sim 100 · condicionado 60 · conferir 50 · não 10 | idem |
| veto_regra | Regra que veta a célula independentemente dos pesos (NULL = não veta) | texto | livre \| NULL | declividade média >= 30 % | idem |

### `hex_carga_amp`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| dens_carga_amp_km2_ano | Leitura ampliada (a)+(b) — é a que o fator `roubo` do motor usa desde 31/08/2026 | BO/km²/ano | >= 0 | 1,050 | pipeline/101b_carga_amp_hex.sql |
| dens_carga_declarada_km2_ano | Leitura (a): densidade de ROUBO DE CARGA como a SSP classificou (NATUREZA_APURADA), kernel gaussiano 2 km | BO/km²/ano | >= 0 | 0,617 | pipeline/101b_carga_amp_hex.sql |
| dens_veic_pesado_km2_ano | Leitura (b): densidade de roubo/furto de VEÍCULO em que o veículo é pesado/carga, EXCLUINDO os BOs que já entram em (a) | BO/km²/ano | >= 0 | 0,433 | pipeline/101b_carga_amp_hex.sql |
| dens_veic_todos_km2_ano | Leitura (c): qualquer veículo subtraído. Contexto urbano; NÃO entra no score | BO/km²/ano | >= 0 | 9,69 | pipeline/101b_carga_amp_hex.sql |
| hex_id | Identificador da célula de 250 m | código | 1-73115 | 40211 | cbre.hex |
| n_amp_2km | Contagem bruta de BOs das leituras (a)+(b) a até 2 km do centroide da célula | BOs | >= 0 | 12 | pipeline/101b_carga_amp_hex.sql |
| n_veic_pesado_2km | Contagem bruta de BOs da leitura (b) a até 2 km do centroide | BOs | >= 0 | 4 | pipeline/101b_carga_amp_hex.sql |

### `hex_comunidade`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_com_500_m2 | Área de comunidade dentro de 500 m da célula | m² |  | 120345.5 | calculado |
| com_origem | De qual nível vem a sobreposição | texto | cadastro_municipal · censo_ibge · ambos | ambos | calculado |
| dist_com_m | Distância da célula à comunidade mais próxima; 0 = a célula toca uma | m |  | 0 | calculado |
| f_comun | Favorabilidade do fator 26 na célula | 0-100 |  | 80 | calculado |
| n_com_2km | Polígonos de comunidade a ≤ 2 km. É contagem de POLÍGONOS das fontes preferidas, não de comunidades distintas (em Guarulhos duas fontes se sobrepõem) | contagem |  | 7 | calculado |
| pct_com | Fração da célula dentro de comunidade (união das fontes) | fração 0-1 |  | 0.34 | calculado |
| pct_zeis | Fração da célula em ZEIS de qualquer subtipo | fração 0-1 |  | 0.12 | calculado |
| pct_zeis1 | Fração da célula em ZEIS de subtipo 1 | fração 0-1 |  | 0.12 | calculado |
| pop_com_1000 | População de comunidade dentro de 1 km, rateada pela ÁREA de interseção (densidade uniforme dentro do polígono — premissa DECLARADA). Ordem de grandeza, nunca contagem | pessoas |  | 4820 | calculado |

### `hex_fav`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| f_agua | Favorabilidade 0-100 do fator 7, água/APP | 0-100 | 40 \| 100 | 100 | BC250 |
| f_cluster | Favorabilidade 0-100 do fator 18, estoque logístico existente | 0-100 | 30-100 | 45 | OSM + carteiras (cbre.estoque_logistico) |
| f_decl | Favorabilidade 0-100 do fator 1, declividade | 0-100 | 0-100 | 88 | Copernicus GLO-30 + transformação declarada |
| f_dens | Favorabilidade 0-100 do fator 11, densidade populacional | 0-100 | 20-100 | 100 | IBGE Censo 2022 |
| f_disp | Favorabilidade 0-100 do fator 5, disponibilidade da terra | 0-100 | 0-100 | 60 | MapBiomas 2024 |
| f_ener | Favorabilidade 0-100 do fator 6, energia (rede MT / SE) | 0-100 | 0-100 | 70 | BDGD 2024 + SINDAT |
| f_gru | Favorabilidade 0-100 do fator 3, tempo ao GRU Cargo | 0-100 | 0-100 | 80 | OSRM |
| f_mine | Favorabilidade 0-100 do fator 19, mineração (por célula só ANM) | 0-100 | 0 \| 20 \| 50 \| 80 \| 100 | 80 | ANM SIGMINE (+ Sentinel por imóvel) |
| f_polos | Favorabilidade 0-100 do fator 16, polos geradores de tráfego | 0-100 | 0-100 | 90 | OSM (cbre.polos_trafego) |
| f_press | Favorabilidade 0-100 do fator 10, pressão urbana | 0-100 | 0-100 | 15 | MapBiomas 2014-2024 |
| f_renda | Favorabilidade 0-100 do fator 14, renda do entorno | 0-100 | 0-100 \| NULL | 55 | IBGE 2022 (cbre.hex_renda) |
| f_restr | Favorabilidade 0-100 do fator 8, restrições legais | 0-100 | 0-100 | 50 | UC/TI/embargo/APRM/RBCV |
| f_rlapp | Favorabilidade 0-100 do fator 15, RL/APP (só por imóvel) | 0-100 | 0-100 \| NULL | NULL | SICAR (por imóvel) |
| f_rod | Favorabilidade 0-100 do fator 4, distância a rodovia | 0-100 | 0-100 | 95 | OSM |
| f_roubo | Favorabilidade 0-100 do fator 12, roubo de carga | 0-100 | 0-100 | 73 | SSP-SP SPDados 2024-26 (kernel 2 km) |
| f_se | Favorabilidade 0-100 do fator 17, subestação de distribuição | 0-100 | 20-100 | 85 | BDGD 2024 EDP/Enel (cbre.subestacoes_dist) |
| f_trib | Favorabilidade 0-100 do fator 13, tributação municipal | 0-100 | 0-100 | 30 | cbre.tributacao_municipio |
| f_varzea | Favorabilidade 0-100 do fator 9, várzea (proxy) | 0-100 | 30 \| 100 | 100 | GLO-30 + BC250 (proxy, não mancha oficial) |
| f_zon | Favorabilidade 0-100 do fator 2, zoneamento (galpão entra?) | 0-100 | 0-100 | 100 | cbre.zoneamento + parametros |
| hex_id | Identificador da célula hexagonal de 250 m | inteiro | 1-73.115 | 40211 | cbre.hex (pipeline/10_hex.sql) |
| municipio | Município da célula | texto | 9 municípios | Guarulhos | IBGE |
| v_anm | Valor bruto: fração da célula sob qualquer processo ANM | fração | 0-1 | 0,3 | ANM SIGMINE |
| v_anm_lavra | Valor bruto: fração da célula sob processo ANM com direito de lavra | fração | 0-1 | 0 | ANM SIGMINE |
| v_app30 | Valor bruto: drenagem BC250 a <= 30 m | booleano | true \| false | false | BC250 |
| v_aprm | Valor bruto: fração em APRM | fração | 0-1 | 0 | DataGeo-SP |
| v_banda | Valor bruto: banda de tempo ao GRU | min | 15-60 \| NULL | 30 | OSRM |
| v_dens | Valor bruto: densidade populacional | hab/km² | >= 0 | 850 | IBGE 2022 |
| v_dist_mt | Valor bruto: distância à rede MT | m | >= 0 | 120 | BDGD 2024 |
| v_dist_rod | Valor bruto: distância a rodovia | m | >= 0 | 300 | OSM |
| v_dist_se | Valor bruto: distância à subestação ONS | km | >= 0 | 3,1 | SINDAT |
| veto | Célula vetada (não entra em nenhuma combinação de pesos) | booleano | true \| false | false | regras de veto declaradas em cbre.fatores.veto_regra |
| veto_motivo | Motivo do veto | texto | ver imoveis_candidatos.veto_principal | uc_protecao_integral | idem |
| v_forest | Valor bruto: fração florestal 2024 | fração | 0-1 | 0,2 | MapBiomas |
| v_galpao | Valor bruto: galpão entra na zona dominante | categoria | sim \| condicionado \| conferir \| nao \| NULL | sim | cbre.zoneamento_parametros |
| v_livre | Valor bruto: fração livre (pasto+mosaico+exposto) | fração | 0-1 | 0,7 | MapBiomas |
| v_rbcv | Valor bruto: zona RBCV | texto | ver rbcv_classe | Zona de Amortecimento e Conectividade | DataGeo-SP WMS |
| v_slope | Valor bruto: declividade média da célula | % | 0-90 | 4,2 | GLO-30 |
| v_urb | Valor bruto: fração urbana 2024 | fração | 0-1 | 0,1 | MapBiomas |
| v_varzea | Valor bruto: proxy de várzea | booleano | true \| false | false | GLO-30 + BC250 |
| v_zona | Valor bruto: sigla da zona dominante | texto | siglas | ZI | cbre.zoneamento |

### `imoveis_candidatos`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anos_sem_cultura_alt | Quantos anos seguidos (2014-2024) o imóvel não teve cultura nem pasto manejado, segundo a regra alternativa | anos | 0-11 | 8 | MapBiomas col. 10 |
| area_ha | Área declarada do imóvel no CAR | ha | >= 5 | 11,7 | SICAR (autodeclarado) |
| banda_gru_min | Faixa de tempo de viagem em fluxo livre até o GRU Cargo | min | 15 \| 30 \| 45 \| 60 \| NULL (> 60) | 30 | OSRM sobre OSM (cbre.isocronas) |
| car_cod | Código do imóvel no Cadastro Ambiental Rural (CAR). É o identificador público do imóvel; nunca acompanha nome ou CPF | texto | SP-<IBGE>-<32 hex> | SP-3518800-… | SICAR (car_imovel_4674) |
| classe_alt | Situação de uso do solo 2014-2024 lida por satélite (regra alternativa) | categoria | agricola_ativo \| florestal \| urbanizado \| misto \| parado | parado | MapBiomas col. 10 + NDVI (pipeline/80-85_car_parado_*) |
| dist_rodovia_m | Distância do imóvel à rodovia principal mais próxima (motorway/trunk/primary) | m | >= 0 | 412 | OSM 27/08/2026 |
| em_aprm | Imóvel toca Área de Proteção e Recuperação de Mananciais (lei estadual) | booleano | true \| false | false | DataGeo-SP (APRM AJ/ATC) + mananciais Guarulhos |
| em_uc_pi | Imóvel toca unidade de conservação de proteção integral | booleano | true \| false | false | CNUC/MMA + SIMA-SP |
| galpao_entra | Leitura da lei: galpão logístico é uso permitido nessa zona? Não é parecer nem consulta prévia | categoria | sim \| condicionado \| conferir \| nao \| NULL (município sem parâmetro lido) | sim | cbre.zoneamento_parametros (artigo/quadro citado por linha) |
| galpao_potencial_m2 | Estimativa grosseira de área de galpão = área útil × taxa de ocupação da zona; ordem de grandeza, não projeto | m² | >= 0 | 35.000 | área × TO (cbre.zoneamento_parametros) |
| indice | Índice de ordenação = score médio × parte apta | 0-1 | 0-1 | 0,46 | pipeline/83_imoveis_candidatos.sql |
| lat | Latitude do ponto interior do imóvel | graus (WGS84) | -24 a -23 | -23,41 | ST_PointOnSurface |
| lon | Longitude do ponto interior do imóvel | graus (WGS84) | -47 a -46 | -46,45 | ST_PointOnSurface |
| mine_motivo | Explicação em uma linha do veredito de mineração | texto | livre | lavra ANM 62 % + exposto 71 % sem sazonalidade | cbre.imovel_mineracao |
| mine_veredito | Veredito do cruzamento ANM × Sentinel-2 mensal | categoria | veto_mineracao \| verificar_mineracao \| verificar_exposicao_recente \| atencao_lavra \| atencao_anm \| parado_confirmado \| parado_sem_sinal_mineracao \| sem_sinal \| NULL (sem processo ANM e sem série) | atencao_anm | cbre.imovel_mineracao |
| municipio | Município onde está o imóvel (pela divisa IBGE) | texto | 9 municípios da área de estudo | Guarulhos | IBGE malha 2022 × geometria do CAR |
| n_anuncios_500m | Anúncios georreferenciados a até 500 m | contagem | >= 0 | 2 | cbre.anuncios (só 1.199 com coordenada) |
| n_anuncios_dentro | Anúncios com coordenada dentro do imóvel | contagem | >= 0 | 0 | cbre.anuncios |
| ndvi_pico_2026 | NDVI máximo observado no imóvel em 2026 (vigor da vegetação) | índice | -1 a 1 | 0,62 | Sentinel-2 L2A (Element84) |
| n_leiloes_500m | Lotes de leilão georreferenciados a até 500 m | contagem | >= 0 | 0 | cbre.anuncios tipo_fonte=leilao |
| pct_apto | Parte do imóvel coberta por células com score >= 0,45 | fração 0-1 | 0-1 | 0,80 | cbre.hex_score |
| pct_forest_2024 | Fração do imóvel com formação florestal em 2024 | fração 0-1 | 0-1 | 0,35 | MapBiomas col. 10 |
| pct_mosaico_2024 | Fração do imóvel em mosaico de usos em 2024 | fração 0-1 | 0-1 | 0,05 | MapBiomas col. 10 |
| pct_pasture_2024 | Fração do imóvel com pastagem em 2024 | fração 0-1 | 0-1 | 0,40 | MapBiomas col. 10 |
| pct_urban_2024 | Fração do imóvel com cobertura urbana em 2024 | fração 0-1 | 0-1 | 0,12 | MapBiomas col. 10 |
| pct_vetado | Parte do imóvel coberta por células vetadas | fração 0-1 | 0-1 | 0,10 | cbre.hex_score |
| rank_geral | Posição no ranking dos elegíveis (1 = melhor) nos 9 municípios; NULL = não elegível | posição | 1-617 \| NULL | 12 | pipeline/83 + 98 (após veto de mineração) |
| rank_municipio | Posição no ranking dentro do município | posição | >= 1 \| NULL | 3 | idem |
| rbcv_classe | Zona da Reserva da Biosfera do Cinturão Verde onde cai o imóvel | categoria | Zona Nucleo \| Zona de Amortecimento e Conectividade \| Zona de Transicao e Cooperacao \| Area Urbana \| NULL | Zona de Transicao e Cooperacao | DataGeo-SP WMS (raster classificado, confiança média) |
| rodovia_prox | Nome da rodovia principal mais próxima | texto | nome OSM | Rodovia Presidente Dutra | OSM 27/08/2026 |
| score_max | Maior score de célula dentro do imóvel | score 0-1 | 0-1 | 0,71 | cbre.hex_score |
| score_medio | Média do score da grade (0-1) nas células que o imóvel cobre | score 0-1 | 0-1 | 0,58 | cbre.hex_score (pesos declarados) |
| veto_grade | Motivo pelo qual o imóvel saiu do ranking (grade); NULL = elegível | texto | livre \| NULL | >= 50 % vetado | pipeline/83 |
| veto_principal | Motivo de veto mais frequente nas células do imóvel (NULL = sem veto) | categoria | zona_protecao_ambiental \| declividade_ge_30 \| urbano_ge_60 \| uc_protecao_integral \| terra_indigena \| embargo_ibama \| mineracao_ativa \| agua_mapbiomas \| rbcv_nucleo \| uso_consolidado_osm_* \| NULL | declividade_ge_30 | cbre.hex_score |
| zona_categoria | Categoria de zona onde cai a maior parte do imóvel | categoria | industrial \| atividade_economica \| mista \| residencial \| especial \| rural \| protecao_ambiental \| outra | industrial | cbre.zoneamento (carta oficial do município) |
| zona_sigla | Sigla da zona dominante conforme a carta municipal | texto | siglas por município (ver glossário) | ZUD-6 | cbre.zoneamento |
| zona_sigla_dom | Sigla usada para decidir "galpão entra": quando a sigla é ambígua na carta, a mais restritiva | texto | idem | ZUD-6 | cbre.zoneamento_parametros_dom |

### `imoveis_fav`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| f_preco | Favorabilidade do preco pedido contra a banda de referencia (fator 25) | 0-100 | 0-100; 50 = neutro | 100 | cbre.valor_referencia_alvo |
| preco_origem | De onde veio o f_preco, ou por que ficou neutro | texto | livre | 2 anuncio(s) dentro x banda zona | calculado |
| preco_pedido_m2 | Mediana do R$/m2 pedido dos anuncios cujo ponto cai DENTRO do imovel (precisao de lote ou quadra) | R$/m2 | numerico | 1500 | cbre.mercado_il |

### `imoveis_urbanos`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anm_lavra_pct | Fração do lote sob processo com direito de lavra. Veto a partir de 5 % | fração 0-1 | 0-1 | 0 | ANM SIGMINE |
| anm_n | Número de processos ANM que tocam o lote | contagem | >= 0 | 0 | ANM SIGMINE 09/08/2026 |
| aprm_pct | Fração do lote em Área de Proteção e Recuperação de Mananciais | fração 0-1 | 0-1 | 0 | cbre.aprm_ae |
| area_m2 | Área do lote MEDIDA no polígono do ONR | m² | >= 5.000 | 30.500 | ST_Area(geography) |
| a_venda | Há anúncio com coordenada dentro do lote ou a <= 200 m | booleano | true \| false | true | cbre.onr_urbano_mercado |
| car_cods | Códigos CAR que o lote toca (só o código, nunca o titular) | lista | car_cod | {SP-3518800-…} | cbre.imoveis_candidatos |
| dist_mt_m | Distância à rede de média tensão mais próxima | m | >= 0 | 0 | BDGD 2024 |
| dist_se_dist_m | Distância à subestação de distribuição mais próxima | m | >= 0 | 2.200 | cbre.subestacoes_dist (BDGD EDP + Enel) |
| duplica_car | Ao menos 50 % do lote está dentro de um imóvel CAR que já é objeto da frente. Trava contra contagem dupla | booleano | true \| false | false | cbre.onr_urbano_mercado (regra declarada) |
| d_urb_viz | Pressão urbana da vizinhança herdada da célula (variação da fração urbana 2014-2024) | pontos de fração | -1 a 1 | 0,05 | cbre.hex_score (250 m, HERDADO) |
| em_leilao | Há lote de leilão com ficha lida dentro do lote ou a <= 200 m | booleano | true \| false | false | cbre.leilao_detalhe |
| fav_peso_igual | Favorabilidade do lote com PESO 1 para todos os fatores aplicados. Peso é escolha declarada, não medida | 0-100 | 0-100 | 83,9 | onr/25_imoveis_urbanos.sql |
| f_roubo_hex | Favorabilidade de roubo de carga herdada da célula de 250 m | 0-100 | 0-100 | 73 | cbre.hex_fatores_extra (HERDADO) |
| galpao_admite | A zona admite galpão? Usa galpao_entra quando a lei foi lida; senão cai para a CATEGORIA da carta — e isso NÃO é "pode construir galpão" | categoria | sim \| condicionado \| condicionado_por_categoria \| conferir \| nao \| NULL | condicionado_por_categoria | cbre.zoneamento_parametros_dom + cbre.fatores |
| hex_n | Quantas células de 250 m o lote toca (os campos herdados vêm delas) | contagem | >= 0 | 2 | cbre.hex |
| hex_veto_motivo | Motivo de veto herdado da célula | texto | ver imoveis_candidatos.veto_principal \| NULL | NULL | cbre.hex_fav |
| hex_veto_pct | Fração das células do lote que estão vetadas | fração 0-1 | 0-1 | 0 | cbre.hex_fav |
| inund_classe | Pior classe de inundação presente no lote | categoria | risco_setor \| alta \| media \| baixa \| nenhuma | media | cbre.inundacao_oficial |
| inund_fonte | De onde veio a leitura de inundação | categoria | oficial \| proxy | oficial | cbre.inundacao_oficial |
| inund_pct | Fração do lote em classe contável de inundação (Alta/Média, TR <= 25 ou setor R3/R4) | fração 0-1 | 0-1 | 0,08 | cbre.inundacao_oficial |
| ja_construido | Há galpão já construído (OSM, carteira ou FII) sobre o lote | booleano | true \| false | false | cbre.estoque_logistico |
| macro_classe | Classe canônica da macrozona | categoria | URB_CONSOLIDADA \| URB_EXPANSAO_QUALIF \| IND_ATIV_ECON \| RURAL \| PROTECAO \| ESPECIAL | PROTECAO | cbre.macrozoneamento |
| macro_sigla | Sigla da macrozona do Plano Diretor no lote | texto | siglas por município | MAAP | cbre.macrozoneamento |
| mt_dentro_m | Metros de rede de média tensão DENTRO do lote | m | >= 0 | 120 | ANEEL BDGD 2024 (±35 m) |
| municipio_zoneado | O município tem carta de zoneamento carregada | booleano | true \| false | true | cbre.zoneamento_status |
| onr_id | Chave do lote: objectid da matrícula no ONR | inteiro | > 0 | 1234567 | cbre.onr_matricula |
| perim_m | Perímetro do lote medido | m | > 0 | 740 | calculado |
| rank_geral | Posição entre os 78 lotes urbanos (1 = melhor com peso igual) | posição | 1-78 | 1 | idem |
| rank_municipio | Posição dentro do município | posição | >= 1 | 1 | idem |
| uc_pct | Fração do lote em unidade de conservação (todas as esferas) | fração 0-1 | 0-1 | 0 | cbre.uc_ae (CNUC/MMA + SIMA-SP) |
| uc_pi_pct | Fração do lote em UC de proteção integral. Veto a partir de 10 % | fração 0-1 | 0-1 | 0 | cbre.uc_ae |
| veto | O lote está vetado por alguma regra de cbre.fatores.veto_regra | booleano | true \| false | false | onr/25_imoveis_urbanos.sql |
| veto_motivo | Qual regra vetou | texto | livre \| NULL | NULL | idem |
| zona_confianca | Confiança da carta de zoneamento no lote | categoria | alta \| media \| baixa | alta | cbre.zoneamento |
| zona_pct | Fração do lote coberta pela zona dominante | fração 0-1 | 0-1 | 0,92 | cbre.zoneamento |

### `imovel_aprm_sub`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| aprm | Qual APRM cobre o imóvel | categoria | ATC (Alto Tietê Cabeceiras) \| AJ (Alto Juquery) \| Guarulhos \| NULL | ATC | cbre.sp_aprm_*_2015 |
| aprm_baixa_dens | A subárea é de baixa densidade (SCA, SBD ou SER) — obstáculo, não veto | booleano | true \| false | true | regra declarada (research/27 §2) |
| aprm_subarea | Subárea de ocupação dirigida em que o imóvel cai | categoria | SCA \| SBD \| SBD1-3 \| SOD \| SUC \| SUCt \| SUICt \| SER \| NULL | SCA | idem |

### `imovel_brownfield`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| pct_mining_max | Maior fração do imóvel na classe mineração do MapBiomas entre 2014 e 2024 | fração 0-1 | 0-1 | 0,05 | MapBiomas col. 10 classe 30 |
| pct_osm_edif_ind | Fração do imóvel coberta por edificação industrial mapeada no OSM | fração 0-1 | 0-1 | 0,02 | OSM 27/08/2026 |
| pct_osm_industrial | Fração do imóvel em landuse industrial/brownfield/quarry/construction do OSM | fração 0-1 | 0-1 | 0,06 | OSM 27/08/2026 |

### `imovel_macrozona`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| confianca | Confiança da camada de macrozona no imóvel | categoria | alta \| media \| baixa | alta | cbre.macrozoneamento |
| macro_pct | Fração do imóvel coberta pela macrozona dominante | fração 0-1 | 0-1 | 0,87 | cbre.macrozoneamento |
| pd_ano | Maior ano citado na lei do Plano Diretor. NULL quando a lei não foi identificada (Mogi das Cruzes) | ano | 2006-2025 \| NULL | 2019 | research/25 |
| perim_lei_pct | Fração do imóvel dentro do perímetro urbano de LEI. Só Arujá tem essa camada | fração 0-1 | 0-1 \| NULL | NULL | cbre.aruja_perimetro_urbano_lc42 |

### `imovel_mineracao`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anm_fases | Fases dos processos ANM | lista | fases SIGMINE | {DISPONIBILIDADE} | ANM |
| anm_lavra_pct | Fração do imóvel coberta por processo com direito de lavra | fração | 0-1 | 0 | calculado |
| anm_pct_area | Fração do imóvel coberta por processo ANM | fração | 0-1 | 0,62 | calculado |
| anm_processos | Números dos processos ANM | lista | texto | {820.123/2015} | ANM |
| anm_substancias | Substâncias requeridas | lista | texto | {ARGILA} | ANM |
| bare_frac_max | Fração máxima de solo exposto | fração | 0-1 | 0,74 | idem |
| bare_frac_med | Fração média de solo exposto (NDVI < 0,20) na série mensal | fração | 0-1 | 0,41 | Sentinel-2 L2A 2020-01..2026-08 (cbre.car_s2_mensal) |
| car_cod | Código CAR do imóvel | texto | car_cod | SP-… | SICAR |
| classe_dinamica | Classe de dinâmica do solo lida na série mensal | categoria | agricola_ativo \| florestal \| urbanizado \| misto \| parado_confirmado \| parado_sem_sazonalidade \| mineracao_possivel \| mineracao_ativa | mineracao_possivel | idem |
| dinamica_solo | Descrição da tendência (reverdece, estável, exposição recente…) | texto | livre | exposto persistente 37 -> 56 % | idem |
| meses_bare_gt50 | Meses com mais de 50 % exposto | meses | 0-80 | 24 | idem |
| motivo | Explicação do veredito em uma linha | texto | livre | vegetado até 2022, 68-74 % exposto desde 02/2023 | idem |
| n_anm | Número de processos ANM que tocam o imóvel | contagem | >= 0 | 2 | ANM SIGMINE 09/08/2026 |
| n_meses | Meses com leitura válida na série | meses | 0-80 | 71 | idem |
| pct_mining_2024 | Fração do imóvel na classe mineração do MapBiomas 2024 | fração | 0-1 | 0,05 | MapBiomas col. 10 classe 30 |
| sazonalidade | Diferença úmido-seco da fração exposta (baixa = não é agricultura) | fração | -1 a 1 | 0,03 | idem |
| tendencia | Tendência da fração exposta ao longo da série | fração/ano | livre | 0,12 | idem |
| veredito | Conclusão do cruzamento: veto = direito de lavra + solo exposto persistente; verificar = sinal sem confirmação; atenção = só processo ANM; sem_sinal = nada | categoria | veto_mineracao \| verificar_mineracao \| verificar_exposicao_recente \| atencao_lavra \| atencao_anm \| parado_confirmado \| parado_sem_sinal_mineracao \| sem_sinal | verificar_mineracao | pipeline/98_mineracao_dinamica.sql (limiares declarados) |

### `imovel_perfil_conversao`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| aprm_lei | Lei estadual ou municipal de manancial aplicável ao imóvel | texto | Lei 15.913/2015 \| Lei 15.790/2015 \| Leis 898/1975 e 1.172/1976 + APA 6.798/2010 \| NULL | Lei 15.913/2015 | research/27 §2 |
| aprm_subarea | Subárea da APRM em que o imóvel cai | categoria | SCA \| SBD \| SOD \| SUC \| SUCt \| SUICt \| SER \| NULL | SCA | cbre.imovel_aprm_sub |
| area_consolidada_ha | Área consolidada declarada no SICAR. O SICAR-SP não exporta o tema: só 4 dos 4.346 têm valor | ha | >= 0 \| NULL | NULL | SICAR |
| area_util_conv_ha | Área útil estimada = área × (1 − RL∪APP) × (1 − inundável). Aproximação multiplicativa DECLARADA | ha | >= 0 | 5,36 | pipeline/9x_perfil_conversao_20_perfil.sql |
| brownfield | Indício de uso industrial ou mineral anterior (gatilho de diligência CETESB). NÃO é cadastro de área contaminada | booleano | true \| false | false | cbre.imovel_brownfield |
| caminho | Caminho de conversão do imóvel rural em lote industrial | categoria | pronto \| urbano_condicionado \| expansao \| rural_fora_perimetro \| veto | urbano_condicionado | cbre.conversao_regras |
| car_cod | Código CAR do imóvel | texto | car_cod | SP-3518800-… | SICAR |
| consolidada_fonte | Qual valor vale: o declarado no SICAR ou o proxy do MapBiomas | categoria | sicar \| proxy_mapbiomas_2014 | proxy_mapbiomas_2014 | regra 25 de cbre.conversao_regras |
| etapas | Etapas do caminho, na ordem | lista | livre | {certidao_uso_solo,alvara,cetesb,registro} | cbre.conversao_regras |
| graprohab_enquadra | O empreendimento se enquadra no GRAPROHAB. Para industrial é sempre "não": o Dec. SP 66.960/2022 art. 8 só alcança parcelamento habitacional | booleano | false | false | Dec. SP 66.960/2022 art. 8 |
| ind_status | Situação do cadastro no SICAR | categoria | AT ativo \| PE pendente \| CA cancelado \| SU suspenso | AT | SICAR |
| inviavel_no_ciclo | O caminho depende de lei de perímetro e o Plano Diretor não deve ser revisto a tempo (pd_ano + 10 > 2029). sem_dado quando a lei não tem ano | categoria | sim \| nao \| sem_dado | nao | regra declarada |
| matriculas | NÚMEROS de matrícula declarados na certificação SIGEF. Nunca o titular | lista | números \| NULL | {12345} | INCRA SIGEF |
| obstaculos | Obstáculos identificados (cada um é uma regra 7-27) | lista | rl_averbada \| rl_declarada \| app \| aprm \| aprm_baixa_densidade \| inundacao \| mineracao \| rbcv_nucleo \| zona_protecao_ambiental \| macrozona_protecao \| zona_nao_permite_nr3 \| sem_sigef \| multi_matricula \| car_cancelado_suspenso \| servidao \| brownfield | {mineracao,sem_sigef} | cbre.conversao_regras |
| pct_antropizado_2014 | Proxy DECLARADO da área consolidada: 1 − floresta − água − campo natural em 2014 | fração 0-1 | 0-1 | 0,68 | MapBiomas col. 10 |
| pct_rl_app_uniao | Fração do imóvel coberta pela UNIÃO de RL e APP (sem contar sobreposição duas vezes) | fração 0-1 | 0-1 | 0,21 | cbre.imovel_rl_app |
| pd_ano | Maior ano citado na lei do Plano Diretor do município. NULL em Mogi (a lei não foi identificada) | ano | 2006-2025 \| NULL | 2019 | research/25 e 26 |
| perfil_negocio | Sugestão de formato de negócio por regra de tamanho e caminho. NÃO é leitura de mandato | categoria | bts_ocupante \| venda_organizada \| permuta_desenvolvedor \| NULL | venda_organizada | regra 26 (research/26 §5-6) |
| perimetro | Situação do imóvel em relação ao perímetro urbano — INFERIDA da macrozona + zona de uso, não lida de camada oficial | categoria | urbano \| expansao \| rural \| protecao \| especial | urbano | regra declarada (research/27 §1) |
| perimetro_fonte | Como o perímetro foi inferido | texto | livre | lei_7888_art5 | idem |
| prazo_max_meses | Teto da faixa de prazo DECLARADA. Não há série medida de prazos reais nos 9 municípios | meses | 6-60 | 12 | idem |
| prazo_min_meses | Piso da faixa de prazo DECLARADA para o caminho | meses | 3-60 | 6 | cbre.conversao_regras (LITERATURA) |
| rank_conversao | Posição no ranking de conversão entre os 617 ranqueados pelo Motor | posição | 1-617 \| NULL | 34 | idem |
| rl_averbada | O SICAR marca a reserva legal como averbada. Só 40 imóveis. Veto de conversão a partir de 40 % da área | booleano | true \| false | false | SICAR |
| rl_proposta | A reserva legal está apenas PROPOSTA (2.965 imóveis) — não é RL constituída | booleano | true \| false | true | SICAR |
| score_conversao | 0,55 base do caminho + 0,15 área útil + 0,10 título + 0,10 inundação + 0,10 banda GRU − 4 por obstáculo. Pesos declarados, não calibrados | 0-100 | 0-100 | 76 | pipeline/9x_perfil_conversao_20_perfil.sql |
| sigef_certificado | Existe parcela SIGEF cobrindo ao menos 50 % da área do imóvel | booleano | true \| false | true | cbre.imovel_sigef |
| tamanho_fiscal | Classe de tamanho pela Lei 8.629/1993 art. 4 | categoria | minifundio \| pequena \| media \| grande | pequena | SICAR (módulos fiscais) |

### `imovel_sigef`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| data_certificacao_max | Data da certificação mais recente entre as parcelas | data | AAAA-MM-DD \| NULL | 2019-04-02 | INCRA SIGEF |
| matriculas | NÚMEROS de matrícula declarados na certificação. Nunca o titular | lista | números \| NULL | {12345} | INCRA SIGEF |
| n_matriculas | Quantas matrículas distintas a certificação cita (mais de uma = obstáculo multi_matricula) | contagem | >= 0 | 1 | INCRA SIGEF |
| n_parcelas_sigef | Parcelas SIGEF que tocam o imóvel | contagem | >= 0 | 1 | INCRA SIGEF |
| pct_certificado | Fração do imóvel coberta por parcela certificada. >= 50 % = certificado | fração 0-1 | 0-1 | 0,98 | pipeline/9x_perfil_conversao_20_perfil.sql |

### `imovel_situacao_uso`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_ha | Área do imóvel CAR | hectare | >= 5 | 11,74 | SICAR |
| car_cod | Código do imóvel no CAR (nunca titular) | texto | SICAR | SP-3518800-… | SICAR |
| classe_alt | Classe herdada de cbre.car_status (comparação, não é a situação) | texto | agricola_ativo, florestal, urbanizado, misto, parado | agricola_ativo | cbre.car_status |
| data_acesso | Data em que a derivação foi feita | data | — | 2026-08-31 | declarado |
| data_dado | Data do dado de cada fonte | texto | livre | MapBiomas 2024; NDVI 2026 | declarado |
| elegivel | Imóvel está entre os 617 elegíveis (rank_geral não nulo) | booleano | t/f | t | cbre.imoveis_candidatos |
| fonte | Fontes que entram na regra | texto | livre | MapBiomas col.10 + Sentinel-2 + ANM + OSM | declarado |
| fonte_url | URLs das fontes | texto | livre | https://brasil.mapbiomas.org/ | declarado |
| gerado_em | Quando a linha foi gerada | timestamp | — | 2026-08-31 04:00 | calculado |
| lavoura_2024 | Fração de lavoura em 2024 = pct_agri menos pct_mosaico (MapBiomas) | fração | 0-1 | 0,02 | calculado |
| licenca | Licença de cada fonte | texto | livre | MapBiomas CC BY-SA 4.0… | declarado |
| mine_veredito | Veredito de mineração herdado de cbre.imovel_mineracao | texto | veto_mineracao, verificar_mineracao, atencao_lavra, atencao_anm, exposicao_recente, sem_sinal | atencao_anm | cbre.imovel_mineracao |
| movimento | Movimento comercial que o rótulo indica — "em uso" não desqualifica, muda a abordagem | texto | 9 valores (um por regra) | MOVIMENTO DIFERENTE: aproximar o proprietário com uma oferta | declarado |
| municipio | Município do imóvel | texto | 9 municípios da área de estudo | Guarulhos | SICAR |
| n_anos_mapbiomas | Quantos dos 4 anos amostrados existem para o imóvel | contagem | 0-4 | 4 | calculado |
| ndvi_amp_2026 | Amplitude pico menos seca em 2026 (proxy de ciclo de cultura) | índice | -1 a 1 | 0,05 | calculado |
| ndvi_ano | Ano-safra do NDVI usado | ano | 2026 | 2026 | calculado |
| ndvi_pico_2026 | NDVI mediano do período de pico do ano-safra 2026 | índice | 0-1 | 0,8666 | Sentinel-2 |
| ndvi_seca_2026 | NDVI mediano do período de seca de 2026 | índice | 0-1 | 0,8166 | Sentinel-2 |
| ocupado | Há cobertura ou uso ativo observado (não significa que o imóvel não esteja à venda) | booleano | t/f | t | calculado |
| pct_agri_2024 | Fração agropecuária MapBiomas 2024 (INCLUI a classe 21 mosaico) | fração | 0-1 | 0,44 | MapBiomas |
| pct_forest_2024 | Fração de formação florestal em 2024 | fração | 0-1 | 0,46 | MapBiomas |
| pct_mining_2024 | Fração de mineração (classe 30) em 2024 | fração | 0-1 | 0,00 | MapBiomas |
| pct_mosaico_2024 | Fração da classe 21 (mosaico de usos agropecuários) em 2024 | fração | 0-1 | 0,43 | MapBiomas |
| pct_nonveg_2024 | Fração de outra área não vegetada (solo exposto) em 2024 | fração | 0-1 | 0,41 | MapBiomas |
| pct_osm_edif_ind | Fração do imóvel coberta por edificação industrial mapeada no OSM | fração | 0-1 | 0,00 | OSM |
| pct_osm_industrial | Fração do imóvel em polígono de uso industrial do OSM | fração | 0-1 | 0,00 | OSM |
| pct_pasture_2024 | Fração de pastagem em 2024 | fração | 0-1 | 0,01 | MapBiomas |
| pct_silvi_2024 | Fração de silvicultura em 2024 | fração | 0-1 | 0,00 | MapBiomas |
| pct_urban_2024 | Fração de área urbanizada em 2024 | fração | 0-1 | 0,05 | MapBiomas |
| pct_water_2024 | Fração de água em 2024 | fração | 0-1 | 0,00 | MapBiomas |
| rank_geral | Posição no ranking geral quando elegível | inteiro | 1-617 | 68 | cbre.imoveis_candidatos |
| regra_id | Número da regra que fechou primeiro (1 a 9) | inteiro | 1-9 | 5 | calculado |
| regra_limiar | Texto literal do limiar da regra que fechou | texto | ver cbre.situacao_uso_limiares | lavoura_2024 >= 0,20 OU … | declarado |
| safras_sem_cultura | N do rótulo "sem cultura há N safras" (2026 menos o último ano amostrado com lavoura; piso 12) | safras | NULL fora da regra 6 | 12 | calculado |
| situacao_detalhe | Frase curta com os números que geraram o rótulo | texto | livre | em atividade: NDVI de pico 2026 0,87 (seca 0,80, amplitude 0,07); MapBiomas 2024 lavoura 0%, mosaico agropecuário 62%… | calculado |
| situacao_slug | Mesma situação em chave estável para agrupar/filtrar | texto | em_uso_agricola, pasto, silvicultura, mosaico_indefinido, sem_cultura, construido, mineracao, vegetacao_nativa, sem_dado | em_uso_agricola | calculado |
| situacao_uso | Rótulo curto da situação de uso (com N preenchido quando "sem cultura há N safras") | texto | 9 rótulos | em uso agrícola | calculado |
| ultimo_ano_lavoura | Último ano amostrado (2014/2018/2021/2024) com lavoura >= 0,05 | ano | NULL se nenhum | 2021 | MapBiomas |

### `inundacao_oficial`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| atributos | Atributos originais preservados da fonte | texto/json | livre | tp_susc=2, tp_grau=1 | fonte |
| camada | Camada de origem na fonte | texto | livre | SuscetibilidadeInundacao.shp | idem |
| classe | Classe harmonizada de inundação | categoria | alta \| media \| baixa \| risco_setor | alta | idem |
| confianca | Confiança da feição | categoria | alta \| media \| baixa | alta | idem |
| conta_inundavel | A feição entra no cálculo de % inundável (Alta/Média, TR <= 25 ou setor R3/R4). Baixa e TR 100 ficam de fora | booleano | true \| false | true | regra declarada (research/22 §3) |
| fonte | Órgão que produziu a feição | categoria | SGB/CPRM+IPT \| GeoSampa \| Guarulhos \| SGB setorizacao \| IG-SP | SGB/CPRM+IPT | pipeline/98b_inundacao.sql |
| metodo | Como a geometria foi obtida | texto | livre | API DSpace 7 do RIGeo | idem |
| periodo_retorno | Tempo de retorno da mancha, quando a fonte trabalha com TR | anos | 5 \| 25 \| 100 \| NULL | 25 | GeoSampa |

### `leilao_detalhe`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anuncio_id | Liga à linha de cbre.anuncios | inteiro | >= 1 | 77001 | mercado/leilao_detalhe.py |
| area_construida_m2 | Área construída segundo a ficha | m² | > 0 \| NULL | 8.646 | ficha |
| area_terreno_m2 | Área do terreno segundo a ficha | m² | > 0 \| NULL | 35.601 | ficha |
| avaliacao_brl | Valor de avaliação judicial/extrajudicial publicado | R$ | > 0 \| NULL | 50.500.000 | ficha |
| banda_gru_min | Banda de tempo ao GRU Cargo | min | 15-60 \| NULL | 15 | OSRM |
| car_candidato | Código CAR do imóvel candidato mais próximo (quando a até car_dist_m) | texto | car_cod \| NULL | SP-… | cbre.imoveis_candidatos |
| car_dist_m | Distância ao imóvel candidato mais próximo | m | >= 0 \| NULL | 0 | calculado |
| comitente | Quem vende: vara judicial, banco ou empresa (pessoa jurídica). Pessoa física não é gravada | texto | livre | 3ª Vara Cível de Guarulhos | ficha |
| desconto_praca2_pct | Desconto da 2ª praça sobre a avaliação | % | 0-100 \| NULL | 50 | calculado |
| dist_rodovia_m | Distância à rodovia principal | m | >= 0 \| NULL | 150 | OSM |
| edital_url | URL do edital | URL | http(s) \| NULL | https://… | leiloeiro |
| endereco | Endereço do lote (logradouro; via pública, não dado pessoal) | texto | livre | Rod. Presidente Dutra, km 386 | ficha |
| fonte | Leiloeiro | categoria | portalzuk \| megaleiloes \| superbid \| caixa | megaleiloes | leiloeiro |
| galpao_entra | Leitura da lei para a zona do lote | categoria | sim \| condicionado \| conferir \| nao \| NULL | sim | cbre.zoneamento_parametros |
| geo_metodo | Como a coordenada foi obtida ou por que não há | texto | livre | coordenada publicada na página do leiloeiro | mercado/leilao_detalhe.py |
| lat | Latitude publicada pelo leiloeiro (nunca geocodificada por nós a partir de endereço) | graus | \| NULL | -23,45 | ficha |
| lon | Longitude idem | graus | \| NULL | -46,50 | ficha |
| matricula | Número da matrícula e cartório, quando publicados no edital | texto | livre \| NULL | 12.345 – 2º RI Guarulhos | edital |
| municipio | Município do lote | texto | livre | Guarulhos | ficha |
| na_area_estudo | Lote dentro dos 9 municípios | booleano | true \| false | true | calculado |
| onus_observacoes | Ônus e observações do edital (penhoras, ocupação, dívidas) em resumo | texto | livre | dezenas de penhoras; arrolamento RFB; locado | edital |
| praca1_data | Data da 1ª praça | data | AAAA-MM-DD \| NULL | 2026-09-08 | ficha |
| praca1_valor | Lance mínimo da 1ª praça | R$ | > 0 \| NULL | 50.500.000 | ficha |
| praca2_data | Data da 2ª praça | data | AAAA-MM-DD \| NULL | 2026-09-23 | ficha |
| praca2_valor | Lance mínimo da 2ª praça | R$ | > 0 \| NULL | 25.250.000 | ficha |
| preco_m2_confiavel | false = nao mostrar R$/m2 de praca (sem area, denominador trocado, ou 2a praca maior que a 1a) | booleano | t \| f | t | pipeline/sanidade/44 |
| preco_m2_motivo | por que o R$/m2 de praca nao e confiavel | texto |  | praca2_maior_que_praca1 | pipeline/sanidade/44 |
| preco_m2_praca1 | Lance da 1ª praça por m² de terreno | R$/m² | > 0 \| NULL | 1.418 | calculado |
| preco_m2_praca2 | Lance da 2ª praça por m² de terreno | R$/m² | > 0 \| NULL | 709 | calculado |
| processo_numero | Número CNJ do processo, quando judicial | texto | NNNNNNN-DD.AAAA.J.TR.OOOO \| NULL | 1001234-56.2020.8.26.0224 | ficha |
| status | Situação do lote na última leitura | categoria | aberto \| em_breve \| encerrado | aberto | ficha |
| suspeito | ficha de leilao em quarentena | booleano | t \| f | f | pipeline/sanidade/44 |
| suspeito_motivo | motivo da quarentena | texto |  |  | pipeline/sanidade/44 |
| tipo | Tipo do lote | texto | livre | complexo industrial | ficha |
| url | URL da ficha do lote | URL | única | https://… | leiloeiro |
| valor_arrematacao | Valor de arrematação quando o leiloeiro publica (raro) | R$ | > 0 \| NULL | NULL | ficha |
| zona_sigla | Zona da carta municipal no ponto | texto | siglas | ZUD-4 | cbre.zoneamento |

### `leilao_documento`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| bloqueio | motivo escrito quando a fonte nao entrega o documento (robots, sem link, HTTP) | texto |  | robots.txt do Portal Zuk veda /edital | derivado |
| doc_tipo | que documento e | texto | edital\|matricula\|laudo\|certidao_debito\|iptu\|certidao_venal\|documentos_leilao\|localizacao\|ficha\|outro\|bloqueado | edital | derivado |
| fetch_ts | data e hora da coleta do arquivo | timestamp |  |  | derivado |
| sha256 | hash do arquivo baixado — prova de que o texto lido veio daquele arquivo | texto |  |  | derivado |

### `leilao_historico`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_m2 | Área do lote lida na ficha (ou do título quando a ficha não traz). 9 lotes ficaram sem área | m² | > 0 \| NULL | 11.606 | ficha |
| avaliacao_brl | Valor de avaliação publicado. A Mega NÃO publica avaliação | R$ | > 0 \| NULL | NULL | ficha |
| coletado_em | Quando a página foi lida | timestamp |  | 2026-08-29 19:40 | coletor |
| comitente | Quem vende: vara, tribunal, banco ou empresa. Pessoa física NUNCA é gravada | texto | livre \| NULL | 3ª Vara Cível de Guarulhos | ficha |
| data_arrematacao | Data do lance vencedor | data | AAAA-MM-DD \| NULL | 2026-08-26 | leiloeiro |
| desconto_pct | 1 − arrematação/avaliação. Na Mega o denominador é a 1ª praça, porque a fonte não publica avaliação | % | 0-100 \| NULL | 40 | calculado (base declarada por fonte) |
| fonte | Leiloeiro que publicou | categoria | mega \| superbid \| zuk \| lance | mega | mercado/leilao_historico.py |
| lat | Latitude publicada pelo leiloeiro. Só a Superbid publica coordenada | graus \| NULL |  | -23,45 | leiloeiro |
| lon | Longitude publicada pelo leiloeiro | graus \| NULL |  | -46,50 | leiloeiro |
| na_area_estudo | O lote está em um dos 9 municípios da frente | booleano | true \| false | true | calculado |
| n_pracas | Quantas praças o lote teve | contagem | 1-3 \| NULL | 2 | ficha |
| praca1_data | Data da 1ª praça | data | AAAA-MM-DD \| NULL | 2026-06-10 | ficha |
| praca1_valor | Lance mínimo da 1ª praça | R$ | > 0 \| NULL | 9.370.000 | ficha |
| praca2_data | Data da 2ª praça | data | AAAA-MM-DD \| NULL | 2026-06-25 | ficha |
| praca2_valor | Lance mínimo da 2ª praça | R$ | > 0 \| NULL | 4.685.000 | ficha |
| raw | Trecho bruto lido da página, para auditoria. Verificado: 0 CPF | texto | livre | — | coletor |
| relevante | O lote passa na regra de interesse industrial/logístico (terreno/área/gleba/rural >= 2.000 m²; galpão, depósito e prédio industrial em qualquer área) | booleano | true \| false | true | mercado/leilao_historico.py (regra declarada) |
| status | Situação final do lote | categoria | arrematado \| sem_arrematacao \| a_confirmar \| cancelado \| aberto | sem_arrematacao | mercado/leilao_historico.py (na Superbid o statusId é INFERIDO) |
| tipo | Tipo do bem lido na ficha | categoria | terreno \| galpao \| rural \| area \| predio \| industrial \| deposito \| gleba | terreno | ficha do lote |
| url | Página do lote no leiloeiro. É a CHAVE da tabela (o dedupe é por URL, não por matrícula) | URL | http(s) | https://www.megaleiloes.com.br/… | leiloeiro |
| valor_arrematacao | Lance vencedor publicado pelo leiloeiro. NÃO é escritura nem transação: a arrematação pode ser condicional, cancelada ou não homologada | R$ | > 0 \| NULL | 6.272.524 | leiloeiro |

### `leilao_historico_log`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| fonte | Leiloeiro varrido na rodada | categoria | mega \| superbid \| zuk \| lance | superbid | mercado/leilao_historico.py |

### `leilao_onus`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anuncio_id | lote de leilao (chave de cbre.anuncios / leilao_detalhe) | id |  | 3 | derivado |
| avaliacao_brl | valor de avaliacao declarado (judicial: avaliacao homologada nos autos) | R$ |  | 50513508.04 | ficha/edital |
| cartorio | cartorio de registro de imoveis declarado | texto |  | 1º CRI de Guarulhos | ficha/edital |
| condominio_debito_brl | debito de condominio quando o documento informa | R$ |  |  | edital/ficha |
| *_conf | confianca da leitura | texto | alta\|media\|baixa | alta | derivado |
| docs_lidos | quantos documentos com texto entraram na dissecacao deste lote | contagem |  | 4 | derivado |
| *_fonte_doc | tipo e arquivo do documento de onde o campo saiu | texto | edital:...\|matricula:...\|laudo:...\|ficha:... | edital:edital_afab4d2150.pdf | derivado |
| iptu_composicao | como o valor foi montado, valor a valor, com o rotulo (total declarado / valor citado) | texto |  | R$ 128.944,58 (valor citado) · R$ 2.779.369,87 (valor citado) | derivado |
| iptu_debito_brl | divida de IPTU/divida ativa quando o documento traz UM valor ou um total declarado | R$ |  | 2908314.45 | edital/ficha/certidao |
| iptu_soma_itens_brl | SOMA NOSSA dos valores citados quando o documento nao consolida — rotulada como nossa, nunca como do documento | R$ |  | 419714.03 | derivado |
| itbi_n | quantas transmissoes de ITBI de Sao Paulo casaram com a matricula/lote fiscal — base de calculo do imposto, NAO preco livre | contagem |  | 3 | cbre.itbi_sp |
| matricula | numero da matricula, so digitos | texto |  | 49746 | ficha/edital |
| *_motivo_null | por que o campo esta vazio — nunca se chuta | texto |  | os documentos lidos nao informam valor de IPTU | derivado |
| ocupacao | se o imovel esta ocupado — risco numero 1 do leilao brasileiro | texto | ocupado\|ocupado (locado a terceiro, segundo o documento)\|desocupado\|indeterminado | ocupado | edital/laudo/ficha |
| onr_id | matricula georreferenciada do ONR que casou com este lote | id |  |  | cbre.onr_matricula |
| onr_metodo | como casou: por matricula+cartorio ou por ponto dentro do poligono (aproximacao) | texto |  |  | derivado |
| *_pagina | pagina do PDF de onde o campo saiu (vazio na ficha web, que nao tem paginacao) | numero |  | 2 | derivado |
| paginas_lidas | quantas paginas de documento entraram na dissecacao | contagem |  | 31 | derivado |
| praca1_valor | lance minimo da 1a praca — NAO e preco de transacao | R$ |  | 50513508.04 | ficha/edital |
| praca3_valor | lance minimo da 3a praca quando o leiloeiro publica | R$ |  | 12628377.01 | ficha/edital |
| processo_numero | numero do processo quando judicial | texto |  | 0055764-95.2011.8.26.0224 | ficha/edital |
| resp_debitos | quem paga os debitos, na letra do documento (a linha que mais vale para quem compra) | texto |  | da massa falida — o edital declara que o bem e apregoado sem onus | edital |
| resp_debitos_classe | normalizacao do campo acima para filtro: nao_passa = o documento diz que o debito nao vira conta do arrematante | texto | nao_passa\|arrematante | nao_passa | derivado |
| resp_posse | quem responde pela desocupacao / imissao na posse / baixa de gravames | texto |  | do arrematante | edital |
| sem_doc_motivo | por que nenhum documento foi lido, quando e o caso | texto |  |  | derivado |
| tipo_leilao | judicial (corre num processo) ou extrajudicial (banco/vendedor, Lei 9.514 ou venda direta) | texto | judicial\|extrajudicial\|null | judicial | documento |
| *_trecho | citacao literal da frase de onde o campo saiu, com nome de pessoa suprimido | texto |  | DOS DEBITOS - O bem sera apregoado sem quaisquer onus... | documento |

### `leilao_onus_item`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| classe | natureza do item | texto | onus\|positivo\|negativo | onus | derivado |
| redigido | true quando algo foi suprimido do trecho por conter nome de pessoa | booleano | true\|false | true | derivado |
| tipo | que onus/ponto e | texto | penhora\|hipoteca\|indisponibilidade\|arrolamento_fiscal\|usufruto\|servidao\|alienacao_fiduciaria\|locacao\|massa_falida\|recuperacao_judicial\|acao_real\|parte_ideal\|iptu\|condominio\|... | penhora | derivado |
| trecho | frase citada do documento, com nome suprimido | texto |  |  | documento |

### `lote_s2_veredito`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano_mudanca | primeiro ano a partir do qual o sinal de mudanca persiste em todos os anos validos | ano | 2018-2026 |  | derivado |
| base_bare | mediana da fracao de solo exposto nos anos validos de 2017-2019 | fracao |  |  | derivado |
| base_ndbi | mediana do NDBI nos anos validos de 2017-2019 | indice |  |  | derivado |
| base_ndvi | mediana do NDVI nos anos validos de 2017-2019 (linha de base do proprio lote) | indice |  |  | derivado |
| classe_s2 | veredito da serie | - | estavel\|mudou\|inconclusivo |  | derivado |
| d_bare | rec_bare - base_bare | fracao |  |  | derivado |
| d_ndbi | rec_ndbi - base_ndbi | indice |  |  | derivado |
| d_ndvi | rec_ndvi - base_ndvi | indice |  |  | derivado |
| grupo | conjunto a que o lote pertence: medido (os 232 da Linha 1), gu_aprox (Guarulhos por area aproximada), ctrl_edif_sp e ctrl_construido (controles) | - | medido\|gu_aprox\|ctrl_edif_sp\|ctrl_construido |  | derivado |
| motivo | por que o lote ficou inconclusivo | - |  |  | derivado |
| n_anos_validos | anos com pelo menos 2 cenas validas | contagem | 0-10 |  | derivado |
| nivel_cobertura | nivel de cobertura da superficie no periodo recente comparado a distribuicao dos 150 lotes de controle construidos: nao_vegetado = NDBI >= p10 e NDVI <= p90 do controle (a faixa central de 80% dos lotes construidos). NAO afirma edificacao: solo compactado e patio dao a mesma leitura. | - | nao_vegetado\|intermediario\|vegetado |  | derivado |
| rec_bare | mediana da fracao de solo exposto nos anos validos de 2025-2026 | fracao |  |  | derivado |
| rec_ndbi | mediana do NDBI nos anos validos de 2025-2026 | indice |  |  | derivado |
| rec_ndvi | mediana do NDVI nos anos validos de 2025-2026 | indice |  |  | derivado |
| sinal | quais limiares dispararam | - | ndbi\|ndvi\|solo (combinados por +) |  | derivado |

### `lote_serie_s2`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano | ano civil da janela sazonal lida (maio a setembro) | ano | 2017-2026 |  | derivado |
| bare_frac | fracao dos pixels validos do lote com NDVI < 0,20 (limiar declarado) | fracao 0-1 |  |  | derivado |
| bsi_med | mediana anual do BSI ((B11+B04)-(B08+B02))/((B11+B04)+(B08+B02)) — proxy de solo exposto | indice -1 a 1 |  |  | Sentinel-2 L2A |
| gid | identificador do lote em cbre.cad_lote / cbre.cad_lote_x | - |  |  | cbre.cad_lote |
| n_cenas | cenas Sentinel-2 validas do lote naquele ano | contagem | >= 1 |  | derivado |
| ndbi_med | mediana anual do NDBI (B11-B08)/(B11+B08) dentro do lote — proxy de superficie construida/impermeavel | indice -1 a 1 |  |  | Sentinel-2 L2A |
| ndvi_med | mediana anual do NDVI (B08-B04)/(B08+B04) dentro do lote | indice -1 a 1 |  |  | Sentinel-2 L2A |
| n_px_lote | pixels de 10 m dentro do poligono do lote (mascara) | pixels | >= 30 para entrar |  | derivado |
| n_px_valido | media de pixels validos por cena depois da mascara de nuvem/sombra SCL | pixels |  |  | derivado |

### `lote_urbano_veto`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alvo_tipo | Que objeto urbano e a linha | texto | lote_cadastral · lote_urbano_onr | lote_cadastral | definido por nos |
| conflito_zona_celula | Celula diz protecao ambiental e a zona do proprio lote admite galpao; prevalece a do lote | booleano | true · false | true | calculado |
| hex_veto | Se a celula de 250 m que contem o lote e vetada pela lista RURAL (contexto, nao decide) | booleano | true · false | true | cbre.hex_fav |
| inund_frac | Fracao do lote em area inundavel oficial (alta/media ou TR <= 25 anos) | fracao 0-1 | numerico | 0.62 | cbre.inundacao_oficial |
| tem_poligono | Se a fonte publica o lote como poligono (Sao Paulo) ou so como ponto (Guarulhos) | booleano | true · false | true | cbre.cad_lote |
| veto | Se o objeto e vetado pela lista URBANA | booleano | true · false | false | calculado |
| veto_motivo_urbano | Primeiro motivo que bate, na ordem de gravidade declarada | texto | 9 motivos | inundacao_alta | calculado |

### `macrozoneamento`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ambiguidade | Nota de ambiguidade quando o artigo não fecha em uma classe só. 25 das 47 macrozonas têm uma | texto | livre \| NULL | MAUC mistura rural, proteção e urbana | idem |
| area_km2 | Área da macrozona medida no polígono | km² | > 0 | 153,61 | calculado |
| classe_canonica | Classe única em que a macrozona foi enquadrada, LIDA NO ARTIGO que a define — nunca no nome | categoria | URB_CONSOLIDADA \| URB_EXPANSAO_QUALIF \| IND_ATIV_ECON \| RURAL \| PROTECAO \| ESPECIAL | PROTECAO | pipeline/zon_catalogo/20_macrozoneamento_cbre.sql |
| confianca | Confiança da geometria. proxy_texto é baixa por definição (o mapa da lei não foi publicado) | categoria | alta \| media \| baixa | alta | idem |
| lei | Instrumento legal do Plano Diretor | texto | livre | Lei 7.730/2019 | lei municipal |
| macro_nome | Nome da macrozona por extenso | texto | livre | Macrozona de Áreas Ambientalmente Protegidas | lei municipal |
| macro_sigla | Sigla da macrozona como a lei do município a nomeia | texto | siglas por município | MAAP | lei municipal |
| metodo | Como a geometria foi obtida | categoria | wfs \| app_json \| kmz \| georref_pdf \| mesmo_instrumento \| derivado_nivel2 \| proxy_texto | wfs | pipeline/zon_catalogo/20_macrozoneamento_cbre.sql |

### `mercado_il`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alerta | Aviso que viaja junto com o item (nível de bairro, preço abaixo de R$ 50/m², área >= 100 ha, republicação) | texto | livre \| NULL | area declarada >= 100 ha: conferir | geocode/50_mercado_il.sql |
| area_construida_m2 | Área construída declarada pelo anunciante | m² | > 0 \| NULL | 12.000 | anunciante |
| area_corrigida_m2 | area relida do texto do anuncio (quando houve correcao) | m2 |  | 42251 | pipeline/sanidade/44 |
| area_m2 | Área DECLARADA pelo anunciante (no Chaves na Mão vem codificada na própria URL). Não conferida contra matrícula | m² | > 0 \| NULL | 58.378 | anunciante |
| area_m2_origem | a area como veio do portal, antes da correcao | m2 |  | 42 | cbre.anuncios |
| categoria_il | Categoria Industrial & Logística do item | categoria | galpao \| terreno \| leilao | terreno | geocode/50_mercado_il.sql (regra declarada) |
| dist_estoque_log_m | Distância ao galpão ou condomínio logístico mais próximo | m | >= 0 \| NULL | 850 | cbre.estoque_logistico |
| duplicata_grupo | Grupo de republicações do mesmo ativo por imobiliárias diferentes | inteiro | > 0 \| NULL | 142 | geocode/50_mercado_il.sql |
| duplicata_principal | É o item principal do grupo (só ele é numerado no ranking) | booleano | true \| false | true | idem |
| estoque_prox | Nome do galpão/condomínio mais próximo | texto | livre \| NULL | GLP Guarulhos II | cbre.estoque_logistico |
| fav_gru | Favorabilidade da banda de tempo ao GRU Cargo (15 min 100, 30 min 80, 45 min 50, 60 min 30, fora 10) | 0-100 | 0-100 | 100 | transformação declarada |
| fav_porte | Favorabilidade do porte, em escala logarítmica de 1.000 a 100.000 m² | 0-100 | 0-100 | 78 | transformação declarada |
| fav_preco | Favorabilidade do preço pedido por m², relativa à mediana do município e da categoria. Sem preço = 50 (neutro declarado) | 0-100 | 0-100 | 50 | transformação declarada |
| fav_rodovia | Favorabilidade da distância à rodovia principal (<= 500 m 100, <= 2 km 70, <= 5 km 40, acima 15) | 0-100 | 0-100 | 100 | transformação declarada |
| fav_zona | Favorabilidade da zona (sim 100 / condicionado 70 / conferir 40 / não 0) | 0-100 | 0-100 | 100 | transformação declarada |
| fonte | Portal, leiloeiro ou carteira de onde o item veio | texto | Chaves na Mão \| Caixa \| Mega Leilões \| Portal Zuk \| Superbid \| Herzog \| LOG CP \| Bresco | Chaves na Mão | coletor (mercado/run_all.sh) |
| galpao_entra | A zona admite galpão? Em Guarulhos, São Paulo e Mogi a regra é DECLARADA a partir do glossário (research/14), não lida em zoneamento_parametros | categoria | sim \| condicionado \| conferir \| nao | sim | cbre.zoneamento_parametros_dom + regra declarada |
| geocode_confianca | Confiança DECLARADA do nível (0,95 porta exata a 0,25 bairro) | 0-1 | 0-1 | 0,95 | idem |
| geocode_metodo | Como a posição foi obtida | categoria | fonte \| cnefe_endereco \| cep \| osm_rua_numero \| bairro_centroide | cnefe_endereco | geocode/20_geocode.py |
| geocode_nivel | Nível da cascata que resolveu | categoria | porta_exata \| interpolado \| eixo_logradouro \| centroide_cep \| osm_logradouro \| cnefe_localidade_exato | porta_exata | idem |
| geocode_raio_m | Raio de precisão declarado do método | m | > 0 | 15 | idem |
| id | Identificador do item, herdado de cbre.anuncios | inteiro | > 0 | 812345 | cbre.anuncios |
| indice | 0,30 zona + 0,20 GRU + 0,20 rodovia + 0,20 porte + 0,10 preço. Pesos DECLARADOS, a calibrar com a CBRE. galpao_entra = nao zera o índice | 0-100 | 0-100 | 86 | geocode/50_mercado_il.sql |
| macro_confianca | Confiança da camada de macrozona naquele ponto | categoria | alta \| media \| baixa | alta | cbre.macrozoneamento |
| macro_sigla | Sigla da macrozona do Plano Diretor no ponto | texto | siglas por município | MD | cbre.macrozoneamento |
| precisao_classe | Classe de precisão ancorada no erro MEDIDO contra gabarito cego, não no raio declarado | categoria | lote \| quadra \| setor \| bairro \| suspeito | lote | geocode/30_validacao.py + 40_recalculo.sql |
| preco_confiavel | false = o valor publicado pelo portal nao e preco de venda (aluguel, parcela, unitario, zero); o item aparece como "sob consulta" | booleano | t \| f | t | pipeline/sanidade/44 |
| preco_corrigido_brl | preco total reconstruido (quando houve correcao) | R$ |  | 5600000 | pipeline/sanidade/44 |
| preco_m2_confiavel | false = nao mostrar R$/m2; so o preco absoluto e o motivo | booleano | t \| f | t | pipeline/sanidade/44 |
| preco_m2_motivo | por que o R$/m2 foi suprimido, ou o aviso que continua junto dele | texto |  | denominador_indefinido | pipeline/sanidade/44 |
| preco_m2_pedido | Preço pedido dividido pela área declarada | R$/m² | > 0 \| NULL | 994 | calculado |
| preco_origem_brl | o preco como veio do portal, antes da correcao | R$ |  | 140 | cbre.anuncios |
| preco_pedido_brl | Preço PEDIDO pelo vendedor, ou lance mínimo da praça no caso de leilão. NUNCA é transação | R$ | > 0 \| NULL | 58.000.000 | anunciante / leiloeiro |
| preco_tipo | O que o preço significa | categoria | pedido \| praca1 \| praca2 \| NULL | pedido | geocode/50_mercado_il.sql |
| suspeito | item em quarentena por area nao interpretavel: fica no banco, sai da lista e de toda contagem | booleano | t \| f | f | pipeline/sanidade/44 |
| suspeito_motivo | motivo da quarentena (codigo de cbre.sanidade_regra) | texto |  | area_ge_100ha | pipeline/sanidade/44 |
| tipo_fonte | Natureza da fonte | categoria | portal \| leilao \| carteira | portal | idem |
| tipo_imovel | Tipo declarado pelo anunciante | texto | livre | terreno comercial | anunciante |
| url | Endereço da página do item | URL | http(s) | https://… | fonte |
| zona_sigla | Sigla da zona da carta municipal no ponto do item | texto | siglas por município | ZUD4 | cbre.zoneamento |

### `onr_matricula`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_m2 | Área MEDIDA por nós sobre a geometria (ST_Area em geography) | m² | > 0 | 9.967 | calculado |
| cartorio | Serventia que georreferenciou e enviou a matrícula | texto | livre | 2º RI de Guarulhos | ONR |
| cidade | Cidade DECLARADA pelo ONR. NÃO é confiável: 5.579 registros rotulados São Paulo, só 60 dentro do município | texto | livre | São Paulo | ONR (rótulo, não medido) |
| cidade_bate | O rótulo cidade/uf do ONR coincide com o município medido pela geometria | booleano | true \| false | false | calculado |
| classificacao | Classificação registral por extenso | categoria | Geral \| Loteamento \| Usucapião \| Retificação \| REURB \| Definido RI \| Estrangeiros \| Fusão \| Desmembramento | Usucapião | ONR |
| cnm | Código Nacional de Matrícula (16 dígitos, prefixo = CNS). Quase sempre vazio nesta camada | texto | 16 dígitos \| NULL | NULL | ONR |
| codigo_cns | Código Nacional de Serventia do cartório | texto | livre | 123456 | ONR |
| escopo | Para que o registro foi baixado | categoria | frente_9mun \| praca_nacional | frente_9mun | onr/fetch_onr_scope.py |
| geom_valida | A geometria passou em ST_IsValid | booleano | true \| false | true | calculado |
| ingest_ts | Quando a linha foi carregada | timestamp |  | 2026-08-30 14:02 | onr/load_onr.py |
| matricula | Número da matrícula no registro de imóveis. 106 linhas vêm sem número | texto | livre \| NULL | 178475 | ONR |
| municipio | Nome do município medido pela geometria | texto | livre | Guarulhos | idem |
| municipio_ibge | Código IBGE do município MEDIDO por junção espacial com a malha IBGE. É o que vale | texto | 7 dígitos | 3518800 | cbre.area_estudo_municipios / onr_praca_limite |
| nivel_acesso | Nível de acesso declarado pelo ONR. O endpoint aberto devolve 3 e 4 mesmo assim; só se guarda o que ele devolve | inteiro | 1 público \| 2 \| 3 e 4 restrito | 1 | ONR |
| no_limite_praca | O polígono cai dentro do limite municipal da praça (e não só no envelope retangular da consulta) | booleano | true \| false \| NULL | true | onr/15_praca_limite.sql |
| onr_id | Identificador da feição no FeatureServer do ONR (objectid). É a chave da tabela — NÃO é a matrícula | inteiro | > 0 | 1234567 | ONR FeatureServer |
| praca | Praça da CBRE consultada quando escopo = praca_nacional | texto | Recife \| Rio de Janeiro \| …\| NULL | Curitiba | onr/fetch_onr_scope.py |
| shape_area_src | Área calculada pelo próprio servidor (SHAPE__Area) | m² (unidade do servidor) | > 0 | 9967 | ONR |
| tipo | Código de tipo do ONR | texto | códigos do ONR | 1 | ONR |
| tipo_classificacao | Código da classificação registral | inteiro | 1-10 | 3 | ONR |
| tipo_imovel | Código de tipo de imóvel do ONR | texto | códigos do ONR | 1 | ONR |
| uf | UF declarada pelo ONR. Mesmo defeito de cidade | texto | sigla | SP | ONR (rótulo) |
| url_mat | Link para PEDIR a matrícula. É serviço PAGO e nunca foi acessado | URL | http(s) \| NULL | https://… | ONR |

### `onr_praca_limite`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_km2 | Área do município medida no polígono | km² | > 0 | 1.521 | calculado |
| cd_mun | Código IBGE do município da praça | texto | 7 dígitos | 3550308 | malha IBGE hospedada no ONR |
| nm_mun | Nome do município | texto | livre | São Paulo | idem |

### `onr_urbano_fx`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| anm_lavra_pct | Fração do lote sob processo com direito de lavra. Veto a partir de 5 % | fração 0-1 | 0-1 | 0 | ANM SIGMINE |
| anm_n | Número de processos ANM que tocam o lote | contagem | >= 0 | 0 | ANM SIGMINE 09/08/2026 |
| aprm_pct | Fração do lote em Área de Proteção e Recuperação de Mananciais | fração 0-1 | 0-1 | 0 | cbre.aprm_ae |
| area_m2 | Área do lote MEDIDA no polígono do ONR | m² | >= 5.000 | 30.500 | ST_Area(geography) |
| banda_gru_min | Faixa de tempo de viagem em fluxo livre até o GRU Cargo | min | 15 \| 30 \| 45 \| 60 \| NULL (> 60) | 30 | OSRM sobre OSM (cbre.isocronas) |
| dist_mt_m | Distância à rede de média tensão mais próxima | m | >= 0 | 0 | BDGD 2024 |
| dist_rodovia_m | Distância do imóvel à rodovia principal mais próxima (motorway/trunk/primary) | m | >= 0 | 412 | OSM 27/08/2026 |
| dist_se_dist_m | Distância à subestação de distribuição mais próxima | m | >= 0 | 2.200 | cbre.subestacoes_dist (BDGD EDP + Enel) |
| d_urb_viz | Pressão urbana da vizinhança herdada da célula (variação da fração urbana 2014-2024) | pontos de fração | -1 a 1 | 0,05 | cbre.hex_score (250 m, HERDADO) |
| f_roubo_hex | Favorabilidade de roubo de carga herdada da célula de 250 m | 0-100 | 0-100 | 73 | cbre.hex_fatores_extra (HERDADO) |
| galpao_admite | A zona admite galpão? Usa galpao_entra quando a lei foi lida; senão cai para a CATEGORIA da carta — e isso NÃO é "pode construir galpão" | categoria | sim \| condicionado \| condicionado_por_categoria \| conferir \| nao \| NULL | condicionado_por_categoria | cbre.zoneamento_parametros_dom + cbre.fatores |
| galpao_entra | Leitura da lei: galpão logístico é uso permitido nessa zona? Não é parecer nem consulta prévia | categoria | sim \| condicionado \| conferir \| nao \| NULL (município sem parâmetro lido) | sim | cbre.zoneamento_parametros (artigo/quadro citado por linha) |
| hex_n | Quantas células de 250 m o lote toca (os campos herdados vêm delas) | contagem | >= 0 | 2 | cbre.hex |
| hex_veto_motivo | Motivo de veto herdado da célula | texto | ver imoveis_candidatos.veto_principal \| NULL | NULL | cbre.hex_fav |
| hex_veto_pct | Fração das células do lote que estão vetadas | fração 0-1 | 0-1 | 0 | cbre.hex_fav |
| inund_classe | Pior classe de inundação presente no lote | categoria | risco_setor \| alta \| media \| baixa \| nenhuma | media | cbre.inundacao_oficial |
| inund_fonte | De onde veio a leitura de inundação | categoria | oficial \| proxy | oficial | cbre.inundacao_oficial |
| inund_pct | Fração do lote em classe contável de inundação (Alta/Média, TR <= 25 ou setor R3/R4) | fração 0-1 | 0-1 | 0,08 | cbre.inundacao_oficial |
| macro_classe | Classe canônica da macrozona | categoria | URB_CONSOLIDADA \| URB_EXPANSAO_QUALIF \| IND_ATIV_ECON \| RURAL \| PROTECAO \| ESPECIAL | PROTECAO | cbre.macrozoneamento |
| macro_sigla | Sigla da macrozona do Plano Diretor no lote | texto | siglas por município | MAAP | cbre.macrozoneamento |
| mt_dentro_m | Metros de rede de média tensão DENTRO do lote | m | >= 0 | 120 | ANEEL BDGD 2024 (±35 m) |
| municipio | Município onde está o imóvel (pela divisa IBGE) | texto | 9 municípios da área de estudo | Guarulhos | IBGE malha 2022 × geometria do CAR |
| municipio_zoneado | O município tem carta de zoneamento carregada | booleano | true \| false | true | cbre.zoneamento_status |
| onr_id | Chave do lote: objectid da matrícula no ONR | inteiro | > 0 | 1234567 | cbre.onr_matricula |
| pct_forest_2024 | Fração do imóvel com formação florestal em 2024 | fração 0-1 | 0-1 | 0,35 | MapBiomas col. 10 |
| pct_urban_2024 | Fração do imóvel com cobertura urbana em 2024 | fração 0-1 | 0-1 | 0,12 | MapBiomas col. 10 |
| perim_m | Perímetro do lote medido | m | > 0 | 740 | calculado |
| rbcv_classe | Zona da Reserva da Biosfera do Cinturão Verde onde cai o imóvel | categoria | Zona Nucleo \| Zona de Amortecimento e Conectividade \| Zona de Transicao e Cooperacao \| Area Urbana \| NULL | Zona de Transicao e Cooperacao | DataGeo-SP WMS (raster classificado, confiança média) |
| rodovia_prox | Nome da rodovia principal mais próxima | texto | nome OSM | Rodovia Presidente Dutra | OSM 27/08/2026 |
| uc_pct | Fração do lote em unidade de conservação (todas as esferas) | fração 0-1 | 0-1 | 0 | cbre.uc_ae (CNUC/MMA + SIMA-SP) |
| uc_pi_pct | Fração do lote em UC de proteção integral. Veto a partir de 10 % | fração 0-1 | 0-1 | 0 | cbre.uc_ae |
| zona_categoria | Categoria de zona onde cai a maior parte do imóvel | categoria | industrial \| atividade_economica \| mista \| residencial \| especial \| rural \| protecao_ambiental \| outra | industrial | cbre.zoneamento (carta oficial do município) |
| zona_confianca | Confiança da carta de zoneamento no lote | categoria | alta \| media \| baixa | alta | cbre.zoneamento |
| zona_pct | Fração do lote coberta pela zona dominante | fração 0-1 | 0-1 | 0,92 | cbre.zoneamento |
| zona_sigla | Sigla da zona dominante conforme a carta municipal | texto | siglas por município (ver glossário) | ZUD-6 | cbre.zoneamento |
| zona_sigla_dom | Sigla usada para decidir "galpão entra": quando a sigla é ambígua na carta, a mais restritiva | texto | idem | ZUD-6 | cbre.zoneamento_parametros_dom |

### `onr_urbano_mercado`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| car_pct | Maior fração do lote dentro de um mesmo imóvel CAR | fração 0-1 | 0-1 | 0,63 | calculado (COALESCE antes de LEAST — LEAST(1,NULL) devolve 1 no Postgres) |
| n_anuncio_200m | Anúncios a até 200 m do lote | contagem | >= 0 | 3 | cbre.anuncios |
| n_anuncio_dentro | Anúncios com coordenada dentro do lote | contagem | >= 0 | 0 | cbre.anuncios |
| n_car | Imóveis CAR que o lote toca | contagem | >= 0 | 1 | cbre.imoveis_candidatos |
| n_estoque_dentro | Galpões já construídos sobre o lote | contagem | >= 0 | 0 | cbre.estoque_logistico |
| n_fii_200m | Ativos de FII a até 200 m | contagem | >= 0 | 1 | cbre.estoque_fii |
| n_leilao_200m | Lotes de leilão a até 200 m | contagem | >= 0 | 0 | cbre.leilao_detalhe |
| n_leilao_dentro | Lotes de leilão com ficha lida dentro do lote | contagem | >= 0 | 0 | cbre.leilao_detalhe |
| onr_id | Chave do lote (objectid da matrícula) | inteiro | > 0 | 1234567 | cbre.onr_matricula |

### `pedidos_dado`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada | O que está sendo pedido, em uma linha | texto | livre | [valor] Microdados de ITBI: por transação, valor declarado, data, inscrição cadastral, área | AQUISICAO_DADO.md |
| canal | Canal formal pelo qual o pedido se faz | texto | livre | Fala.BR (CGU) | verificado um a um |
| canal_url | URL do canal | URL | http(s) | https://falabr.cgu.gov.br/web/home | idem |
| degrau | Degrau de aquisição do dado | inteiro | 1 aberto online \| 2 pedido formal \| 3 analógico a digitalizar \| 4 lacuna declarada | 2 | AQUISICAO_DADO.md |
| esforco_digital | O que será preciso fazer com o que chegar | texto | livre \| NULL | vetorizar se vier em PDF (degrau 3) | registro próprio |
| fundamento | Base legal do pedido, quando há | texto | livre \| NULL | Dec. mun. 36.140/2019 | idem |
| observacao | O que já se sabe da fonte e por que o pedido é necessário | texto | livre | Só existe ITBI Online (guia individual por inscrição, exige CPF/CNPJ) | registro próprio |
| prazo_legal_em | Prazo legal de resposta, contado do protocolo | data | AAAA-MM-DD \| NULL | NULL | LAI / norma do canal |
| protocolado_em | Data em que foi efetivamente protocolado. NULL enquanto não for | data | AAAA-MM-DD \| NULL | NULL | registro próprio |
| quem_protocola | Quem deve protocolar | texto | CBRE \| CBRE (ou nós, com autorização) \| nós | CBRE | decisão declarada |
| status | Em que pé está. "preparado" NÃO é "protocolado" | categoria | preparado \| protocolado \| respondido \| negado \| sem_resposta | preparado | registro próprio |
| tabela_destino | Onde o dado vai morar quando chegar | texto | cbre.<tabela> | cbre.itbi_guarulhos | registro próprio |

### `polos_logisticos`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| fonte_verificacao | Como o ponto foi verificado no OSM, feição a feição | texto | livre | OSM harbour (BTP, Tecon) e landuse=industrial (DP World) | research/29 §3 |
| metodo | Regra que define o ponto quando ele não é uma feição única | texto | livre | ponto da via motorway com o nome exato da rodovia mais próximo da Praça da Sé (regra declarada) | idem |
| nome | Nome do polo por extenso | texto | livre | Porto de Santos, portões de contêiner | idem |
| n_pontos | Quantos pontos compõem o polo (o tempo do polo é o mínimo entre eles) | contagem | >= 1 | 3 | idem |
| polo | Chave do polo | texto | livre | porto_santos | pipeline/88a_polos_geom.py |
| tipo | Natureza do polo | categoria | carga_aerea \| porto \| anel_viario \| referencia_urbana \| cabeca_rodovia | porto | idem |

### `polos_logisticos_pontos`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| lat | Latitude do ponto | graus (WGS84) |  | -23,96110 | OSM |
| lon | Longitude do ponto | graus (WGS84) |  | -46,29057 | OSM |
| polo | Chave do polo a que o ponto pertence | texto | livre | rodoanel | pipeline/88a_polos_geom.py |
| rotulo | Nome do ponto | texto | livre | Tecon Santos | OSM |

### `sanidade_banda`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| banda_circular | true quando a banda sai da pedida dos proprios anuncios que ela julga | booleano | t \| f | t | declarado |
| mediana | mediana da banda | R$/m2 |  | 457 | cbre.valor_referencia |
| metodo | de onde saiu a banda | texto | itbi_transacao \| pgv_municipal \| anuncio_pedido \| fii_valor_declarado | pgv_municipal | cbre.valor_referencia |
| mult_atipico | multiplo declarado a partir do qual o R$/m2 recebe aviso mas continua visivel | vezes | 3 \| 5 | 5 | declarado |
| mult_impossivel | multiplo declarado alem do qual o R$/m2 e tratado como impossivel (p25/N e p75*N) | vezes | 10 \| 20 | 20 | declarado |
| municipio | municipio da banda; RMSP = fallback regional para lote de leilao fora dos 9 | texto |  | Guarulhos | cbre.area_estudo_municipios |
| objeto | o que a banda precifica | texto | terreno_urbano \| galpao_construido | terreno_urbano | cbre.valor_referencia |
| p25 | primeiro quartil da banda | R$/m2 |  | 216 | cbre.valor_referencia |
| p75 | terceiro quartil da banda | R$/m2 |  | 653 | cbre.valor_referencia |
| piso_terra_nua_m2 | VTN INCRA p25 da regiao rural do municipio, convertido de R$/ha para R$/m2: nenhum terreno urbano pede menos que terra nua | R$/m2 |  | 1.1195 | cbre.valor_referencia objeto=terra_rural |

### `sanidade_mercado`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_corrigida_m2 | area relida do texto do proprio anuncio quando o campo estruturado esta comprovadamente errado | m2 |  | 42251 | titulo do anuncio |
| area_corrigida_metodo | como a area foi relida | texto |  | texto do anuncio: separador de milhar lido como decimal (42 -> 42251) | declarado |
| avaliado_em | data em que a bateria julgou a linha | data |  | 2026-08-31 | execucao |
| id | chave do item na lista de origem | inteiro |  | 205750 | cbre.mercado_il.id |
| objeto | de que lista e a linha julgada | texto | mercado_il \| leilao_detalhe \| estoque_fii | mercado_il | declarado |
| preco_corrigido_brl | preco total reconstruido quando o texto diz "R$ X o m2" | R$ |  | 5600000 | titulo do anuncio x area |
| preco_corrigido_metodo | como o preco foi reconstruido | texto |  | texto do anuncio: "R$ 140 o m2" x area 40000 m2 | declarado |
| preco_m2_confiado | o R$/m2 que sobrevive a todas as regras; nulo quando nao ha um em que se confie | R$/m2 |  | 1500 | calculado |
| preco_m2_confiavel | false = mostrar so o preco absoluto, com o rotulo "R$/m2 nao confiavel" | booleano | t \| f | f | regra |
| preco_m2_motivo | por que o R$/m2 nao e confiavel, ou o aviso que viaja com ele | texto |  | banda_impossivel_baixo | regra |
| suspeito | true = item em quarentena: fora da lista publicada e de qualquer contagem afirmada | booleano | t \| f | t | regra |
| suspeito_motivo | codigos de cbre.sanidade_regra separados por "; " | texto |  | area_ge_100ha | regra |

### `sanidade_regra`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alvo | o que a regra julga | texto | area \| preco \| r$/m2 | area | declarado |
| codigo | identificador da regra | texto |  | area_ge_100ha | declarado |
| descricao | a regra escrita por extenso, com o limiar | texto |  |  | declarado |
| efeito | o que acontece com o item quando a regra dispara | texto | quarentena \| sem_preco \| sem_unitario \| aviso \| ausente | quarentena | declarado |

### `situacao_uso_limiares`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| condicao | A regra em português | texto | livre | lavoura declarada pelo MapBiomas… | declarado |
| limiares | Os números da regra, literais | texto | livre | lavoura_2024 >= 0,20 OU … | declarado |
| movimento | Movimento comercial indicado | texto | livre | aproximar o proprietário com uma oferta | declarado |
| observacao | Ressalva da regra | texto | livre | classe 21 não separa lavoura de pastagem | declarado |
| ordem | Ordem de precedência (igual a regra_id) | inteiro | 1-9 | 5 | declarado |
| regra_id | Número da regra | inteiro | 1-9 | 5 | declarado |
| rotulo | Rótulo produzido pela regra | texto | 9 rótulos | em uso agrícola | declarado |
| slug | Chave estável do rótulo | texto | 9 slugs | em_uso_agricola | declarado |

### `ssp_carga_pontos`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano_fabricacao | Ano de fabricação do veículo do BO | ano | — | 2015 | junção por bo_key |
| bo_key | Chave do boletim como HASH (md5 truncado de ANO_BO\|NUM_BO\|NOME_DELEGACIA); o número do BO nunca é gravado | texto | 16 hex | 3f1a… | derivada |
| classe_veiculo | Classe do veículo do BO (mapeamento em research/40 §4) | categoria | pesado_carga \| passeio_moto \| indeterminado \| sem_registro_de_veiculo | pesado_carga | derivada |
| marca_veiculo | Marca/modelo do veículo do BO, trazido da base "Veículos subtraídos" | texto | — | I/SCANIA R 440 | junção por bo_key |
| natureza | Classificação da natureza criminal auditada pela equipe SPDados | categoria | ROUBO DE CARGA \| FURTO DE CARGA \| ROUBO DE VEÍCULO \| FURTO DE VEÍCULO | ROUBO DE CARGA | NATUREZA_APURADA |
| n_veiculos_bo | Quantos veículos subtraídos a outra base registra nesse BO | contagem | >= 0 | 2 | junção por bo_key |
| pesado_nucleo | O BO tem ao menos um Caminhão, Caminhão trator, Semi-reboque ou Reboque (exclui Utilitário) | booleano | true \| false | true | derivada |
| tipo_veiculo | Tipo do veículo do BO, trazido da base "Veículos subtraídos"; NULL quando o BO não tem registro de veículo naquela base | categoria | 24 valores da fonte | Caminhão | junção por bo_key (pipeline/101) |

### `ssp_veiculo_subtraido`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano_bo | Ano do boletim | ano | — | 2025 | ANO_BO |
| ano_estat | Ano de registro do BO na base | ano | 2024-2026 | 2025 | ANO / ANO_REGISTRO_BO |
| ano_fabricacao | Ano de fabricação do veículo | ano | — | 2015 | ANO_FABRICACAO |
| ano_modelo | Ano-modelo do veículo | ano | — | 2016 | ANO_MODELO |
| arquivo_ano | Arquivo anual de onde a linha veio | ano | 2024 \| 2025 \| 2026 | 2025 | nome do arquivo |
| bairro | Bairro da ocorrência | texto | — | CUMBICA | BAIRRO |
| bo_key | Chave do boletim como HASH (md5 truncado de ANO_BO\|NUM_BO\|NOME_DELEGACIA). Serve para juntar com ssp_carga_pontos sem gravar o número do BO | texto | 16 hex | 3f1a… | derivada |
| classe_veiculo | Classe derivada por nós a partir de tipo_veiculo; mapeamento declarado em research/40 §4, nunca inferido de marca/modelo | categoria | pesado_carga \| passeio_moto \| indeterminado | pesado_carga | derivada (pipeline/100c_veiculo_classe.sql) |
| cod_ibge | Município do fato, código IBGE | código | 7 dígitos | 3518800 | SSP-SP Veículos subtraídos (CD_IBGE / COD IBGE) |
| conduta | Circunstância que qualifica a ocorrência | texto | Veículo \| Carga \| Outros \| Residência \| … | Veículo | DESCR_CONDUTA |
| cont_veiculo | Identificação do veículo dentro da ocorrência (a fonte repete a linha por vínculo; é a chave da deduplicação) | código | — | 1001973849 | CONT_VEICULO |
| data_acesso | Data em que o arquivo foi baixado | data | — | 2026-08-31 | declarado |
| data_ocorrencia | Data da ocorrência declarada no BO | data | — | 2025-03-14 | DATA_OCORRENCIA_BO |
| delegacia_circ | Delegacia de circunscrição (área onde se deu o fato) | texto | nome da DP | 04º D.P. GUARULHOS | NOME_DELEGACIA_CIRC |
| flag_status | Crime consumado ou tentado | texto | CONSUMADO \| TENTADO | CONSUMADO | FLAG_STATUS |
| fonte | Nome da fonte, gravado na própria linha | texto | — | SSP-SP, Transparência — Veículos subtraídos | declarado |
| fonte_url | URL do arquivo anual da fonte | texto | — | https://www.ssp.sp.gov.br/…/VeiculosSubtraidos_<ANO>.xlsx | declarado |
| geom | Ponto do local do fato, EPSG:4674 | geometria | Point | — | derivada de lat/lon |
| id_delegacia | Código da delegacia que registrou | código | — | 10108 | ID_DELEGACIA |
| lat | Latitude do local do fato (SIRGAS 2000); NULL quando a fonte traz 0 ou fora do estado | grau | -26..-19 | -23,4412 | LATITUDE |
| lon | Longitude do local do fato (SIRGAS 2000) | grau | -54..-44 | -46,5331 | LONGITUDE |
| marca_veiculo | Marca/modelo do veículo (texto livre da fonte) | texto | — | I/SCANIA R 440 | DESCR_MARCA_VEICULO |
| mes_estat | Mês de registro do BO na base | mês | 1-12 | 3 | MES / MES_REGISTRO_BO |
| municipio | Município da delegacia que registrou | texto | municípios de SP | GUARULHOS | NOME_MUNICIPIO |
| municipio_circ | Município da delegacia de circunscrição (onde se deu o fato) | texto | municípios de SP | GUARULHOS | NOME_MUNICIPIO_CIRC |
| ocorrencia_veiculo | Envolvimento do veículo na ocorrência | texto | Roubado \| Furtado \| Localizado / Entregue | Roubado | DESCR_OCORRENCIA_VEICULO |
| pesado_nucleo | Núcleo estrito de pesado/carga: Caminhão, Caminhão trator, Semi-reboque ou Reboque (exclui Utilitário) | booleano | true \| false | true | derivada |
| rubrica | Natureza jurídica da ocorrência (artigo) | texto | Roubo (art. 157) \| Furto (art. 155) \| Receptação (art. 180) \| … | Roubo (art. 157) | RUBRICA |
| subtracao | O veículo foi subtraído nesta ocorrência (Roubado ou Furtado); false = Localizado/Entregue (recuperação) | booleano | true \| false | true | derivada de DESCR_OCORRENCIA_VEICULO |
| tipo_local | Grupo de tipo de local onde se deu o fato | categoria | Via Pública \| Residência \| … | Via Pública | DESCR_TIPOLOCAL |
| tipo_veiculo | Tipo do veículo como a delegacia registrou, em lista fechada de 24 valores | categoria | Automovel \| Motociclo \| Caminhão \| Caminhão trator \| Semi-reboque \| Reboque \| Utilitário \| Caminhonete \| Camioneta \| … \| Não informado | Caminhão | DESCR_TIPO_VEICULO |

### `uf_pr_perimetro_urbano`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| cdmunicipioibge | Código IBGE do município declarado na fonte | texto | 7 dígitos | 4106902 | fonte |
| distcentrocidpoligenvperimurb | Distância do centro da cidade ao polígono envolvente do perímetro urbano | m/km (unidade da fonte) | > 0 | — | SEDU/Paranacidade |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| grauregularidadeperimetrourb | Grau de regularidade do perímetro declarado pelo Paranacidade | texto | livre | — | SEDU/Paranacidade |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| objectid | Identificador da feição no servidor de origem | inteiro | > 0 | 1234 | serviço de origem |
| shape__area | Área calculada pelo servidor ArcGIS de origem | unidade do servidor | > 0 | 12500 | fonte |
| shape__length | Perímetro calculado pelo servidor ArcGIS de origem | unidade do servidor | > 0 | 480 | fonte |

### `uf_rs_loteamento_metroplan`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano | Ano declarado pela própria camada de origem | ano | livre \| NULL | 2016 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| num_processo | Número do processo de parcelamento | texto | livre \| NULL | — | METROPLAN |
| n_unidades | Número de unidades do projeto de parcelamento | contagem | >= 0 \| NULL | 120 | METROPLAN |
| objectid | Identificador da feição no servidor de origem | inteiro | > 0 | 1234 | serviço de origem |
| shape__area | Área calculada pelo servidor ArcGIS de origem | unidade do servidor | > 0 | 12500 | fonte |
| shape__length | Perímetro calculado pelo servidor ArcGIS de origem | unidade do servidor | > 0 | 480 | fonte |
| tipo_metroplan | Classificação do parcelamento pela METROPLAN | texto | livre | — | METROPLAN |

### `uf_sp_area_intervencao`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_m2 | Área declarada pela fonte | m² | > 0 \| NULL | 12.500 | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |

### `uf_sp_area_urbanizada_2013`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| loc_type | Tipo de localidade (sede, distrito, aglomerado) declarado pela fonte | texto | livre | sede | acervo EMPLASA 2013 |
| objectid | Identificador da feição no servidor de origem | inteiro | > 0 | 1234 | serviço de origem |

### `uf_sp_cdhu_gleba`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano | Ano declarado pela própria camada de origem | ano | livre \| NULL | 2016 | fonte |
| area_m2 | Área declarada pela fonte | m² | > 0 \| NULL | 12.500 | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| quantidade_unid_habitacionais | Unidades habitacionais previstas na gleba | contagem | >= 0 \| NULL | 480 | CDHU via EMPLASA |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |

### `uf_sp_cdhu_terreno`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| area_m2_pol | Área do polígono calculada pela fonte | m² | > 0 \| NULL | 12.500 | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| cd_municipio_ibge | Código IBGE do município declarado na fonte | texto | 7 dígitos | 3518800 | fonte |
| data_edicao | Data da última edição da feição declarada pela fonte | data | livre \| NULL | 2016-03-11 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| matricula | NÚMERO da matrícula do terreno da CDHU. Sem titular | texto | livre \| NULL | — | CDHU via EMPLASA |
| nm_municipio | Nome do município declarado na fonte | texto | livre | Guarulhos | fonte |
| perimetro_m_pol | Perímetro do polígono calculado pela fonte | m | > 0 \| NULL | 480 | fonte |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| responsavel_edicao | Login do técnico que editou a feição na EMPLASA. ZERADO por UPDATE na ingestão (regra da casa: nada de identidade) | texto | sempre vazio |  | uf/fetch_uf_sp.py (campo esvaziado de propósito) |

### `uf_sp_cobertura`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| cd_ibge | Código IBGE do município medido por junção espacial (não é o rótulo da fonte) | texto | 7 dígitos | 3518800 | malha IBGE |
| n | Quantas feições daquela camada caem naquele município | contagem | >= 0 | 36.856 | uf/coverage.sql |
| tabela | Camada uf_* a que a contagem se refere | texto | uf_sp_* \| uf_pr_* \| uf_rs_* | uf_sp_uso_solo_urbano | uf/coverage.sql |

### `uf_sp_graprohab`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano | Ano declarado pela própria camada de origem | ano | livre \| NULL | 2016 | fonte |
| area_m2_pol | Área do polígono calculada pela fonte | m² | > 0 \| NULL | 12.500 | fonte |
| ar_glebam2 | Área da gleba do empreendimento | m² | > 0 \| NULL | 120.000 | idem |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| cd_municipio_ibge | Código IBGE do município declarado na fonte | texto | 7 dígitos | 3518800 | fonte |
| data_edicao | Data da última edição da feição declarada pela fonte | data | livre \| NULL | 2016-03-11 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nm_municipio | Nome do município declarado na fonte | texto | livre | Guarulhos | fonte |
| nu_certificado | Número do certificado GRAPROHAB | texto | livre \| NULL | — | GRAPROHAB via EMPLASA |
| nu_lot_habitacionais | Número de lotes ou unidades habitacionais | contagem | > 0 \| NULL | 480 | idem |
| perimetro_m_pol | Perímetro do polígono calculado pela fonte | m | > 0 \| NULL | 480 | fonte |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| responsavel_edicao | Login do técnico que editou a feição na EMPLASA. ZERADO por UPDATE na ingestão (regra da casa: nada de identidade) | texto | sempre vazio |  | uf/fetch_uf_sp.py (campo esvaziado de propósito) |
| st_empreendimento | Situação do empreendimento no GRAPROHAB | texto | livre \| NULL | — | idem |

### `uf_sp_grupo_industrial`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| codigo_rodovia | Eixo rodoviário a que a unidade é associada pela fonte | texto | livre \| NULL | — | idem |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| funcao_no_grupo | Papel da unidade no grupo | texto | sede \| filial \| fábrica \| centro de distribuição \| escritório \| transportadora \| depósito | centro de distribuição | idem |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| grupo_industrial | Nome do grupo industrial | texto | livre | — | acervo EMPLASA |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nome_empresa | Nome da empresa (pessoa jurídica) | texto | livre | — | idem |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| pais_origem | País de origem do grupo | texto | livre | Brasil | idem |
| quantidade_centro_distribuicao | Quantos centros de distribuição o grupo tem, segundo a fonte | contagem | >= 0 \| NULL | 3 | idem |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |

### `uf_sp_lote_prefeitura`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano | Ano declarado pela própria camada de origem | ano | livre \| NULL | 2016 | fonte |
| area_m2_pol | Área do polígono calculada pela fonte | m² | > 0 \| NULL | 12.500 | fonte |
| arquivo_original | Arquivo de origem citado pela EMPLASA | texto | livre \| NULL | — | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| cd_municipio_ibge | Código IBGE do município declarado na fonte | texto | 7 dígitos | 3518800 | fonte |
| data_edicao | Data da última edição da feição declarada pela fonte | data | livre \| NULL | 2016-03-11 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| lote_pk | Chave do lote no acervo | inteiro/texto | livre | — | acervo EMPLASA |
| nm_municipio | Nome do município declarado na fonte | texto | livre | Guarulhos | fonte |
| nu_inscricao | Inscrição imobiliária do lote no cadastro da prefeitura que entregou a camada à EMPLASA | texto | livre | — | cadastro municipal via convênio EMPLASA |
| observacao | Observação livre da fonte | texto | livre \| NULL | — | fonte |
| perimetro_m_pol | Perímetro do polígono calculado pela fonte | m | > 0 \| NULL | 480 | fonte |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| responsavel_edicao | Login do técnico que editou a feição na EMPLASA. ZERADO por UPDATE na ingestão (regra da casa: nada de identidade) | texto | sempre vazio |  | uf/fetch_uf_sp.py (campo esvaziado de propósito) |

### `uf_sp_macrozona_pdui_2019`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| projeto | Projeto/recorte do PDUI a que a feição pertence | texto | livre | PDUI | idem |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| tip_macro | Tipo de macrozona do Plano de Desenvolvimento Urbano Integrado da RMSP (2019) | texto | livre | — | PDUI RMSP 2019 |

### `uf_sp_perimetro_urbano`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alteracao | Norma que alterou o perímetro, quando há | texto | livre \| NULL | — | idem |
| ano | Ano declarado pela própria camada de origem | ano | livre \| NULL | 2016 | fonte |
| area_m2 | Área declarada pela fonte | m² | > 0 \| NULL | 12.500 | fonte |
| arquivo_original | Arquivo de origem citado pela EMPLASA | texto | livre \| NULL | — | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| codigo_municipio_ibge | Código IBGE do município declarado na fonte | texto | 7 dígitos | 3518800 | fonte |
| data_edicao | Data da última edição da feição declarada pela fonte | data | livre \| NULL | 2016-03-11 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| instrumento_legal | Lei ou decreto municipal que institui o perímetro urbano — é o que dá valor a esta camada | texto | livre | Lei Complementar nn/aaaa | acervo EMPLASA |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| nome_perimetro_urbano | Nome do perímetro (sede, distrito) | texto | livre | Sede | idem |
| observacao | Observação livre da fonte | texto | livre \| NULL | — | fonte |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| responsavel_edicao | Login do técnico que editou a feição na EMPLASA. ZERADO por UPDATE na ingestão (regra da casa: nada de identidade) | texto | sempre vazio |  | uf/fetch_uf_sp.py (campo esvaziado de propósito) |

### `uf_sp_plataforma_logistica`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| tipo | Tipo da plataforma logística prevista no Plano de Ação da Macrometrópole (2014) | texto | livre | — | PAM 2014 via EMPLASA |

### `uf_sp_quadra_fiscal_2004`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| codigo_quadra | Quadra fiscal do cadastro municipal (safra 2004) | texto | livre | 012 | idem |
| codigo_setor | Setor fiscal do cadastro municipal (safra 2004) | texto | livre | 001 | cadastro municipal via EMPLASA |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| tipo_quadra | Tipo da quadra declarado na fonte | texto | livre | — | idem |

### `uf_sp_quadra_igc_2000`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |

### `uf_sp_terreno_oferta_2014`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| codigo_municipio_ibge | Código IBGE do município declarado na fonte | texto | 7 dígitos | 3518800 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| imovel_em_oferta | Situação do imóvel declarada em 2014 | texto | livre \| NULL | — | idem |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| observacao | Observação livre da fonte | texto | livre \| NULL | — | fonte |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| valor_da_oferta_reais | Preço PEDIDO em 2014 pela EMBRAESP. NÃO é valor de mercado de 2026 e nunca deve ser citado como preço | R$ | > 0 \| NULL | 2.500.000 | EMBRAESP 2014 via EMPLASA |
| valor_m2_em_reais | Preço pedido por m² em 2014. Mesma ressalva | R$/m² | > 0 \| NULL | 380 | idem |
| zoneamento_antigo | Zona citada pela fonte à época | texto | livre \| NULL | ZI | idem |
| zoneamento_novo | Zona citada pela fonte na revisão à época | texto | livre \| NULL | ZPI-1 | idem |

### `uf_sp_uso_lote_tpcl_2016`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| uso_predominante | Uso predominante da quadra segundo o cadastro TPCL de 2016 | texto | livre | Industrial | cadastro TPCL 2016 via EMPLASA |

### `uf_sp_uso_solo_psim`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| analise_evolutiva | Marcação de evolução entre safras usada pela EMPLASA | texto | livre \| NULL | — | acervo EMPLASA |
| ano_mapeamento | Safra do mapeamento. NUNCA somar safras nem contar polígono sem filtrar este campo | ano | 2010 \| 2013 \| 2015 \| 2017 \| 2020 | 2017 | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| objectid | Identificador da feição no servidor de origem | inteiro | > 0 | 1234 | serviço de origem |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |

### `uf_sp_uso_solo_urbano`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ano_mapeamento | Safra do mapeamento. NUNCA somar safras nem contar polígono sem filtrar este campo | ano | 2010 \| 2013 \| 2015 \| 2017 \| 2020 | 2017 | fonte |
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| categoria | Categoria dentro do uso | texto | livre | Distrito ou condomínio industrial | idem |
| classe | Classe de uso do solo | texto | Industrial de base, de transformação e de extração \| Comercial e de serviço \| Misto \| … | Comercial e de serviço | idem |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| modalidade | Nível mais alto da taxonomia de uso do solo da EMPLASA | texto | livre | Urbano | acervo EMPLASA 1:10.000 |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| regiao_emplasa | Recorte regional da EMPLASA | texto | idem | RMSP | fonte |
| tipo | Tipo dentro da categoria | texto | livre | — | idem |
| uso | Uso observado no polígono. É aqui que aparece CENTRO DE DISTRIBUICAO, DEPOSITO E TRANSPORTADORA (3.358 polígonos no acervo) | texto | livre | CENTRO DE DISTRIBUICAO, DEPOSITO E TRANSPORTADORA | idem |

### `uf_sp_vazio_urbano`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| faixa | Faixa de área do vazio declarada pela fonte | texto | livre \| NULL | — | idem |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| nome_municipio | Nome do município declarado na fonte (o recorte medido está em cbre.uf_sp_cobertura) | texto | livre | Guarulhos | fonte |
| padrao | Padrão do entorno declarado pela fonte | texto | livre \| NULL | — | idem |
| regiao | Região metropolitana ou recorte da EMPLASA a que a feição pertence | texto | RMSP \| RMC \| RMBS \| RMVPLN \| RMS \| RMRP \| AUP \| AUJ \| AUF \| MRB \| ESP | RMSP | fonte |
| tipo | Se o vazio é comprometido ou não comprometido | texto | comprometido \| nao_comprometido | nao_comprometido | acervo EMPLASA 2009-2013 |

### `uf_sp_vetor_territorial`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |

### `uf_sp_zupi_1978`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| camada_wfs | Nome exato da camada WFS de onde a feição veio. É a procedência fina desta linha | texto | livre | acervo_emplasa:mvw_uso_solo_urbano_rmsp_2017 | uf/fetch_uf_*.py |
| data_edicao | Data da última edição da feição declarada pela fonte | data | livre \| NULL | 2016-03-11 | fonte |
| fonte | Órgão produtor gravado por nós em cada linha | texto | livre | IDE-SP / acervo EMPLASA (IGC) | uf/fetch_uf_*.py |
| fonte_url | URL do serviço de onde a linha veio, gravada por nós em cada linha | URL | http(s) | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs | uf/fetch_uf_*.py |
| gid | Chave da linha na nossa carga (FID do ogr2ogr). Não tem significado na fonte | inteiro | > 0 | 1 | carga uf/fetch_uf_*.py |
| id | Identificador da feição na camada de origem | inteiro/texto | livre | 1234 | IDE-SP / acervo EMPLASA |
| id_acervo | Identificador do item dentro do acervo da EMPLASA | inteiro/texto | livre | 87 | acervo EMPLASA |
| ingest_ts | Quando a linha foi carregada aqui | timestamp |  | 2026-08-30 11:20 | uf/fetch_uf_*.py |
| licenca | Licença declarada pelo serviço. Em todos os serviços estaduais de SP: não declarada | texto | livre | não declarada no serviço | uf/fetch_uf_*.py |
| responsavel_edicao | Login do técnico que editou a feição na EMPLASA. ZERADO por UPDATE na ingestão (regra da casa: nada de identidade) | texto | sempre vazio |  | uf/fetch_uf_sp.py (campo esvaziado de propósito) |
| texto_proposto | Texto da proposta associada à zona, quando a fonte traz | texto | livre \| NULL | — | idem |
| tipo | Classe da ZUPI da Lei estadual 1.817/1978 | texto | ZUPI 1 \| ZUPI 2 \| ZUP \| ZP | ZUPI 1 | Lei estadual 1.817/1978 via EMPLASA |

### `valor_referencia`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| base | Sobre que área o valor por metro é calculado | texto | area de terreno · area construida · ABL · face de quadra · hectare | area de terreno | definido por nós |
| confianca | Quão firme é a banda | texto | alta · media · baixa | alta | regra declarada: n>=100 alta, 20-99 media, <20 baixa |
| data_dado | Período a que o dado se refere, em palavras | texto | livre | transacoes com ITBI pago, 24 meses | declarado |
| fonte | Quem publica o dado de origem | texto | livre | Prefeitura de São Paulo / SF | declarado |
| limites | O que a banda NÃO é, em texto | texto | livre | valor declarado é base de cálculo do imposto… | declarado |
| mediana | Mediana | R$/m2 ou R$/ha | numérico | 1222 | medido |
| metodo | De onde vem o número | texto | itbi_transacao · itbi_valor_venal_ref · pgv_municipal · arrematacao_leilao · fii_valor_declarado · vtn_incra · anuncio_pedido | itbi_transacao | definido por nós |
| municipio | Município (ou recorte regional) a que a banda se refere | texto | 9 municípios, RMSP | Guarulhos | divisa IBGE |
| n | Número de observações que formam a banda | contagem | inteiro | 1603 | medido |
| objeto | O que está sendo referenciado | texto | terreno_urbano · galpao_construido · terra_rural | terreno_urbano | definido por nós |
| p25 | Primeiro quartil | R$/m2 ou R$/ha | numérico | 672 | medido |
| p75 | Terceiro quartil | R$/m2 ou R$/ha | numérico | 2267 | medido |
| recorte | A sigla ou rótulo do recorte | texto | sigla de zona, macrozona, uso ou faixa de porte | ZPI-1 | carta de zoneamento |
| recorte_tipo | Nível geográfico ou de corte da banda | texto | municipio · zona · macrozona · porte · uso · regiao_rural · rmsp | zona | definido por nós |
| unidade | Unidade da banda | texto | R$/m2 · R$/ha | R$/m2 | definido por nós |

### `valor_referencia_alvo`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| alvo_id | Identificador do alvo na sua tabela de origem | texto | código CAR, id ONR ou id do anúncio | SP-3518800-… | tabela de origem |
| alvo_tipo | Que tipo de alvo é a linha | texto | imovel_car · lote_urbano_onr · mercado_il | mercado_il | definido por nós |
| banda_do_proprio_municipio | Se a banda veio do próprio município (e não do fallback regional) | booleano | true · false | true | calculado |
| banda_mediana | Mediana da banda aplicada | R$/m2 ou R$/ha | numérico | 1288 | cbre.valor_referencia |
| banda_nivel | Que recorte da banda foi aplicado ao alvo | texto | zona · macrozona · porte (lote >= 1.000 m2) · municipio · RMSP | zona | definido por nós |
| banda_sigla | Sigla da zona ou macrozona usada, quando o nível é zona/macrozona | texto | sigla da carta | ZPI-1 | carta de zoneamento |
| f_preco | Favorabilidade do preco pedido contra a banda do alvo (fator 25 do Motor) | 0-100 | 0-100; 50 = neutro | 75 | calculado |
| f_preco_origem | De onde veio o f_preco, ou por que ficou neutro | texto | livre | pedido x banda zona | calculado |
| leitura | Posição do pedido em relação à banda | texto | abaixo da banda · dentro da banda · acima da banda · sem preco pedido · sem banda de referencia | acima da banda | calculado |
| preco_pedido_m2 | Preço PEDIDO por m² no anúncio (nunca transação) | R$/m2 | numérico | 1500 | cbre.mercado_il |
| razao_pedido_mediana | Preço pedido dividido pela mediana da banda | razão | numérico | 1.98 | calculado |

### `valor_referencia_zona`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| n | Observações na banda; mínimo declarado de 30 | contagem | inteiro >= 30 | 41 | medido |
| recorte_tipo | Nível da banda | texto | zona · macrozona | zona | definido por nós |
| sigla | Sigla da zona ou macrozona | texto | sigla da carta | ZPI-1 | carta de zoneamento |

### `veto_regras_urbano`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| medido_em | Se a regra e medida no lote ou herdada da celula de 250 m | texto | lote · celula | lote | declarada |
| motivo_da_diferenca | Por que a regra vale para um objeto e nao para o outro | texto | livre | regra do objeto rural… | declarada |
| regra | Nome da regra de veto | texto | 12 regras | urbano_ge_60 | declarada |
| vale_para_rural | Se a regra veta o imovel rural do CAR | booleano | true · false | true | declarada |
| vale_para_urbano | Se a regra veta o lote urbano da Linha 1 | booleano | true · false | false | declarada |

### `v_lote_vacancia_s2`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| vacancia_s2 | vacancia do lote depois da conferencia por satelite — a contagem publicavel | - | vazio\|construido\|vazio_superficie_nao_vegetada\|vazio_inconclusivo_s2\|indefinido\|nao_avaliado |  | derivado |
| vacancia_s2_fonte | quais fontes decidiram, incluindo o satelite e o ano da mudanca | - |  |  | derivado |

### `zoneamento`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| ca_max | Coeficiente de aproveitamento máximo (texto como na lei; "—" quando a lei não fixa) | adimensional | texto | 2,5 | lei municipal (quadro de parâmetros) |
| categoria | Categoria harmonizada entre municípios (nossa, para comparar cartas diferentes) | categoria | industrial \| atividade_economica \| mista \| residencial \| especial \| rural \| protecao_ambiental \| outra | mista | research/14 + 19_* |
| confianca | Confiança na geometria: alta = vetor oficial; média = PDF georreferenciado; baixa = texto/OCR ou WMS raster | categoria | alta \| media \| baixa | media | research/19_* |
| fonte_url | URL do serviço ou documento de onde a geometria veio | URL | http(s) | https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows | pipeline/zon_* |
| geom | Polígono da zona | geometria | MultiPolygon SIRGAS 2000 (EPSG:4674) | — | fonte por linha |
| h_max | Altura máxima | m | texto | 19 m | lei municipal |
| id | Identificador do polígono | inteiro | >= 1 | 1027 | pipeline/84b_zona_9mun.sql |
| lei | Lei que institui a zona | texto | livre | Lei 7.888/2021 | pipeline/zon_* |
| metodo | Como a geometria foi obtida | categoria | wfs \| shp \| app_json \| georref_pdf \| ocr_texto \| wms_getfeatureinfo | georref_pdf | pipeline/zon_* |
| municipio | Nome do município | texto | 9 municípios | Guarulhos | IBGE |
| municipio_ibge | Código IBGE do município (7 dígitos) | texto | 9 códigos | 3518800 | IBGE |
| to_max | Taxa de ocupação máxima | fração | texto | 0,7 | lei municipal |
| zona_nome | Nome da zona por extenso | texto | livre | Zona de Uso Diversificado 6 | lei municipal |
| zona_sigla | Sigla da zona como na carta oficial | texto | ver glossário (research/14) | ZUD-6 | carta municipal |

### `zoneamento_parametros`

| Campo | Significado | Unidade | Domínio | Exemplo | Fonte do campo |
|---|---|---|---|---|---|
| artigo_fonte | Artigo, quadro ou anexo da lei que sustenta a leitura | texto | livre | Lei 7.888/2021 Quadro 4C | lei municipal |
| ca_max | Coeficiente de aproveitamento máximo | adimensional | texto | 2,5 | quadro da lei citado em artigo_fonte |
| fonte_url | URL da lei | URL | http(s) | https://… | câmara/prefeitura |
| galpao_entra | Leitura da lei para galpão logístico: sim = permitido; condicionado = depende de análise (GTAU, EIV, porte); conferir = lei não editada ou sigla ambígua; nao = não permitido | categoria | sim \| condicionado \| conferir \| nao | sim | artigo_fonte |
| h_max | Altura máxima | m | texto | — | idem |
| lote_min_m2 | Lote mínimo (para o uso galpão quando a lei diferencia) | m² | texto | 250 m² (frente 10 m) | idem |
| municipio_ibge | Código IBGE do município | texto | 9 códigos | 3518800 | IBGE |
| recuo_frontal | Recuo frontal mínimo | m | texto | 5 m | idem |
| to_max | Taxa de ocupação máxima | fração | texto | 0,7 | idem |
| usos_permitidos | Resumo dos usos permitidos com foco em galpão (NR3) e indústria (I1/I2) | texto | livre | galpão NR3 SIM · I1 SIM · I2 NÃO | idem |
| zona_nome | Nome por extenso | texto | livre | Zona Industrial | lei municipal |
| zona_sigla | Sigla da zona | texto | ver glossário | ZI | lei municipal |

## 3. Registro de validação

Origem `doc` = verificação relatada nos `research/*.md` na construção; `auto` = bateria `pipeline/qa/qa_checks.py` (semanal, domingo 05:30).

| Data | Tabela | Teste | Esperado | Medido | Resultado | Script | Evidência | Origem |
|---|---|---|---|---|---|---|---|---|
| 2026-08-31 | web | site com X-Robots-Tag/meta noindex (nunca indexado) | noindex presente | só meta no HTML | atencao | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | web | HTTP https://cbre.iagrointel.com/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/catalogo.html | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | deliverable | SHA256SUMS.txt confere com os arquivos | 0 divergentes | 0 de 3 | passa | pipeline/qa/qa_checks.py | deliverable/SHA256SUMS.txt | auto |
| 2026-08-31 | glebas_candidatas | hash atual igual ao catalogado | ef51f85ee65d | e3cdacc6295d | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-31 | glebas_candidatas | hash do export determinístico reproduzível (2 execuções) | iguais | e3cdacc6295d / e3cdacc6295d | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imovel_mineracao | hash atual igual ao catalogado | 37eaf796fa28 | 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-31 | imovel_mineracao | hash do export determinístico reproduzível (2 execuções) | iguais | 37eaf796fa28 / 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | hash atual igual ao catalogado | 7ab22e39b59c | 7fb406e0365b | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-31 | leilao_detalhe | hash do export determinístico reproduzível (2 execuções) | iguais | 7fb406e0365b / 7fb406e0365b | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | hash atual igual ao catalogado | 41b47a7f9298 | 302051ef1631 | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-31 | imoveis_candidatos | hash do export determinístico reproduzível (2 execuções) | iguais | 302051ef1631 / 302051ef1631 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento_parametros | hash atual igual ao catalogado | 234a9e671412 | 234a9e671412 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-31 | zoneamento_parametros | hash do export determinístico reproduzível (2 execuções) | iguais | 234a9e671412 / 234a9e671412 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | fatores | hash atual igual ao catalogado | 4d251e795198 | d05e95d80c8b | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-31 | fatores | hash do export determinístico reproduzível (2 execuções) | iguais | d05e95d80c8b / d05e95d80c8b | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex | células dentro da área de estudo (+300 m) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | metodo/confianca no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento_parametros | galpao_entra no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | todos os imóveis >= 5 ha (definição do objeto) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_score | score entre 0 e 1 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_fav | favorabilidades f_* entre 0 e 100 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_s2_mensal | série mensal cobre 2020-01..2026-08 | 2020-01 .. 2026-08 | 2020-01 .. 2026-08 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-31 | anuncios | area_m2 entre 0 e 50 km² | 0 fora | 5 | atencao | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | preco_brl entre 0 e R$ 5 bi | 0 fora | 41 | atencao | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | 2ª praça não excede avaliação | 0 | 3 | atencao | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | praças em ordem e em 2026+ | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | data_leilao entre 2026 e 2028 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | coletado_em dentro do período da frente (>= 27/08/2026, <= hoje) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_fav | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imovel_mineracao | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_status | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | comitente que não parece pessoa jurídica/órgão (revisar à mão) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | comitente com pessoa física identificada (marcador PF/executado/espólio) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | padrão de CPF em qualquer campo de texto/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | CPF no campo anunciante | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | rótulo 'Nome:' em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | padrão de CPF (000.000.000-00) em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | fatores | fatores sem dado (disponivel=false) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | nenhum ranqueado com >= 50 % vetado ou veto de mineração | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | anúncios com coordenada nativa (minoria, declarada) | < 25 % (research/10 media 1.199 em 28/08; o cron diario acrescenta leiloes com coordenada) | 13532 de 88564 | passa | pipeline/qa/qa_checks.py | research/10_MERCADO_VARRIDO.md | auto |
| 2026-08-31 | imovel_mineracao | vetos de mineração | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-31 | imoveis_candidatos | elegíveis em Guarulhos | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/15_IMOVEIS_CANDIDATOS.md | auto |
| 2026-08-31 | imoveis_candidatos | imóveis elegíveis (rank_geral não nulo) | 617 | 617 | passa | pipeline/qa/qa_checks.py | research/21_INTEGRACAO_ZON_MINE.md | auto |
| 2026-08-31 | zoneamento_parametros_dom | contagem de linhas igual ao relatório | 86 | 86 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | leilao_detalhe | contagem de linhas igual ao relatório | 29 | 29 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | fatores | contagem de linhas igual ao relatório | 19 | 26 | atencao | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | car_status | contagem de linhas igual ao relatório | 7395 | 7395 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | imoveis_fav | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | imoveis_candidatos | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | hex_fav | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | hex_score | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | hex | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-31 | imoveis_candidatos | imóveis que intersectam a grade hex | = 4346 | 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: São Paulo | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Santa Isabel | >= 60 % (carta municipal) ou explicado | 99 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Nazaré Paulista | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Mogi das Cruzes | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Mairiporã | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Itaquaquecetuba | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Guarulhos | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Cajamar | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | zoneamento | cobertura da carta sobre o município: Arujá | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-31 | fatores | nulos em transformacao | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | fatores | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | fatores | nulos em nome | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_status | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_status | nulos em classe_alt | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_status | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imovel_mineracao | nulos em motivo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imovel_mineracao | nulos em veredito | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | nulos em status | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | nulos em coletado_em | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | nulos em tipo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento_parametros | nulos em artigo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento_parametros | nulos em galpao_entra | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento_parametros | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | nulos em fonte_url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | nulos em confianca | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | nulos em metodo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | nulos em municipio_ibge | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_fav | nulos em veto | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_fav | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_fav | nulos em hex_id | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | nulos em indice | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | nulos em area_ha | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | setor_renda | chave única (cd_setor) | 0 duplicadas | 0 duplicadas em 100928 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | tributacao_municipio | chave única (municipio_ibge) | 0 duplicadas | 0 duplicadas em 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | estoque_logistico | chave única (estoque_id) | 0 duplicadas | 0 duplicadas em 818 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | subestacoes_dist | chave única (se_id) | 0 duplicadas | 0 duplicadas em 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | polos_trafego | chave única (polo_id) | 0 duplicadas | 0 duplicadas em 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_ndvi | chave única (car_cod,periodo) | 0 duplicadas | 0 duplicadas em 59160 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_uso | chave única (car_cod,ano) | 0 duplicadas | 0 duplicadas em 29580 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_s2_mensal | chave única (car_cod,ano_mes) | 0 duplicadas | 0 duplicadas em 217951 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | fatores | chave única (ordem) | 0 duplicadas | 0 duplicadas em 26 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | glebas_candidatas | chave única (gleba_id) | 0 duplicadas | 0 duplicadas em 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | chave única (anuncio_id) | 0 duplicadas | 0 duplicadas em 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | chave única (url) | 0 duplicadas | 0 duplicadas em 88564 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento_parametros | chave única (id) | 0 duplicadas | 0 duplicadas em 88 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | chave única (id) | 0 duplicadas | 0 duplicadas em 62634 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imovel_mineracao | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 2956 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_status | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_fav | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_fav | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex_score | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | web/dist/data | polígonos inválidos nos GeoJSON publicados (arredondamento da exportação) | 0 | 590 de 26964 — anm_processos.geojson:123, aprm.geojson:2, comunidades.geojson:20, imoveis_outros.geojson:23, imoveis_urbanos.geojson:2, inundacao.geojson:82 | atencao | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | imoveis_urbanos | "Cartório Teste" do ONR na lista publicada | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/28_ONR_MATRICULA_URBANA.md | auto |
| 2026-08-31 | imoveis_urbanos | matrícula do ONR com vértice fora de lugar na lista publicada | 0 | 0 | passa | pipeline/qa/qa_checks.py | pipeline/qa/50_geom_qa.sql | auto |
| 2026-08-31 | macrozoneamento | centroide fora do retângulo da área de estudo (geom) | 0 | 0 de 47 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | macrozoneamento | vértice fora de lugar em geom (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 4 de 47 | falha | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | com_zeis | centroide fora do retângulo da área de estudo (geom_utm) | 0 | 0 de 4080 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | com_zeis | vértice fora de lugar em geom_utm (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 8 de 4080 | falha | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | com_favela | centroide fora do retângulo da área de estudo (geom_utm) | 0 | 0 de 6271 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | com_favela | vértice fora de lugar em geom_utm (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 5 de 6271 | falha | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | inundacao_oficial | centroide fora do retângulo da área de estudo (geom) | 0 | 0 de 13528 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | inundacao_oficial | vértice fora de lugar em geom (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 43 de 13528 | falha | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | assemblagem | vértice fora de lugar em geom (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 0 de 420 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | zoneamento | centroide fora do retângulo da área de estudo (geom) | 0 | 0 de 62634 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | zoneamento | vértice fora de lugar em geom (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 919 de 62634 | falha | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | estoque_logistico | centroide fora do retângulo da área de estudo (geom_poly) | 0 | 0 de 580 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | estoque_logistico | vértice fora de lugar em geom_poly (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 0 de 580 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | onr_matricula | vértice fora de lugar em geom_utm (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 17 de 32905 | falha | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | glebas_candidatas | centroide fora do retângulo da área de estudo (geom) | 0 | 0 de 171 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | glebas_candidatas | vértice fora de lugar em geom (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 0 de 171 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | imoveis_candidatos | centroide fora do retângulo da área de estudo (geom) | 0 | 0 de 4346 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | imoveis_candidatos | vértice fora de lugar em geom (dispersão > 3 E compacidade > 5, EPSG:31983) | 0 | 0 de 4346 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §11 | auto |
| 2026-08-31 | area_estudo_municipios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | leilao_detalhe | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | anuncios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 88564 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | subestacoes_dist | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | estoque_logistico | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 818 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | polos_trafego | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hidro_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 2498 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | embargo_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 552 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | sp_rbcv_zoneamento_wms | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 121 de 797 | atencao | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | aprm_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 6 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | uc_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 78 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | osm_buildings_ind | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7728 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | osm_landuse | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 16073 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | rodovias_principais | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 15676 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | isocronas | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 40 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | glebas_candidatas | geometrias válidas (ST_IsValid) em geom_utm | 0 inválidas | 0 de 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | car_status | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | imoveis_candidatos | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | zoneamento | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 4 de 62634 | atencao | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | hex | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260831.md | auto |
| 2026-08-31 | catalogo_camadas | tabelas de cbre.* sem linha no catálogo (exceto bak_/tmp_/raw_/insumos intermediários listados no script) | 0 | 0 | passa | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §5 | auto |
| 2026-08-30 | web | site com X-Robots-Tag/meta noindex (nunca indexado) | noindex presente | só meta no HTML | atencao | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | web | HTTP https://cbre.iagrointel.com/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/catalogo.html | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | deliverable | SHA256SUMS.txt confere com os arquivos | 0 divergentes | 0 de 3 | passa | pipeline/qa/qa_checks.py | deliverable/SHA256SUMS.txt | auto |
| 2026-08-30 | glebas_candidatas | hash atual igual ao catalogado | ef51f85ee65d | ef51f85ee65d | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-30 | glebas_candidatas | hash do export determinístico reproduzível (2 execuções) | iguais | ef51f85ee65d / ef51f85ee65d | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imovel_mineracao | hash atual igual ao catalogado | 37eaf796fa28 | 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-30 | imovel_mineracao | hash do export determinístico reproduzível (2 execuções) | iguais | 37eaf796fa28 / 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | hash atual igual ao catalogado | 7ab22e39b59c | 7ab22e39b59c | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-30 | leilao_detalhe | hash do export determinístico reproduzível (2 execuções) | iguais | 7ab22e39b59c / 7ab22e39b59c | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | hash atual igual ao catalogado | 41b47a7f9298 | 41b47a7f9298 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-30 | imoveis_candidatos | hash do export determinístico reproduzível (2 execuções) | iguais | 41b47a7f9298 / 41b47a7f9298 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento_parametros | hash atual igual ao catalogado | 70e283378824 | 234a9e671412 | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-30 | zoneamento_parametros | hash do export determinístico reproduzível (2 execuções) | iguais | 234a9e671412 / 234a9e671412 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | fatores | hash atual igual ao catalogado | 34cd88594538 | 4d251e795198 | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-30 | fatores | hash do export determinístico reproduzível (2 execuções) | iguais | 4d251e795198 / 4d251e795198 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex | células dentro da área de estudo (+300 m) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | metodo/confianca no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento_parametros | galpao_entra no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | todos os imóveis >= 5 ha (definição do objeto) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_score | score entre 0 e 1 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_fav | favorabilidades f_* entre 0 e 100 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_s2_mensal | série mensal cobre 2020-01..2026-08 | 2020-01 .. 2026-08 | 2020-01 .. 2026-08 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-30 | anuncios | area_m2 entre 0 e 50 km² | 0 fora | 5 | atencao | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | preco_brl entre 0 e R$ 5 bi | 0 fora | 41 | atencao | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | 2ª praça não excede avaliação | 0 | 3 | atencao | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | praças em ordem e em 2026+ | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | data_leilao entre 2026 e 2028 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | coletado_em dentro do período da frente (>= 27/08/2026, <= hoje) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_fav | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imovel_mineracao | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_status | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | comitente que não parece pessoa jurídica/órgão (revisar à mão) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | comitente com pessoa física identificada (marcador PF/executado/espólio) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | padrão de CPF em qualquer campo de texto/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | CPF no campo anunciante | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | rótulo 'Nome:' em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | padrão de CPF (000.000.000-00) em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | fatores | fatores sem dado (disponivel=false) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | nenhum ranqueado com >= 50 % vetado ou veto de mineração | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | anúncios com coordenada nativa (minoria, declarada) | < 25 % (research/10 media 1.199 em 28/08; o cron diario acrescenta leiloes com coordenada) | 13532 de 88564 | passa | pipeline/qa/qa_checks.py | research/10_MERCADO_VARRIDO.md | auto |
| 2026-08-30 | imovel_mineracao | vetos de mineração | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-30 | imoveis_candidatos | elegíveis em Guarulhos | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/15_IMOVEIS_CANDIDATOS.md | auto |
| 2026-08-30 | imoveis_candidatos | imóveis elegíveis (rank_geral não nulo) | 617 | 617 | passa | pipeline/qa/qa_checks.py | research/21_INTEGRACAO_ZON_MINE.md | auto |
| 2026-08-30 | zoneamento_parametros_dom | contagem de linhas igual ao relatório | 86 | 86 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | leilao_detalhe | contagem de linhas igual ao relatório | 29 | 29 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | fatores | contagem de linhas igual ao relatório | 19 | 20 | atencao | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | car_status | contagem de linhas igual ao relatório | 7395 | 7395 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | imoveis_fav | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | imoveis_candidatos | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | hex_fav | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | hex_score | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | hex | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-30 | imoveis_candidatos | imóveis que intersectam a grade hex | = 4346 | 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: São Paulo | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Santa Isabel | >= 60 % (carta municipal) ou explicado | 99 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Nazaré Paulista | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Mogi das Cruzes | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Mairiporã | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Itaquaquecetuba | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Guarulhos | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Cajamar | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | zoneamento | cobertura da carta sobre o município: Arujá | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-30 | fatores | nulos em transformacao | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | fatores | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | fatores | nulos em nome | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_status | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_status | nulos em classe_alt | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_status | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imovel_mineracao | nulos em motivo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imovel_mineracao | nulos em veredito | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | nulos em status | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | nulos em coletado_em | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | nulos em tipo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento_parametros | nulos em artigo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento_parametros | nulos em galpao_entra | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento_parametros | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | nulos em fonte_url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | nulos em confianca | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | nulos em metodo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | nulos em municipio_ibge | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_fav | nulos em veto | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_fav | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_fav | nulos em hex_id | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | nulos em indice | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | nulos em area_ha | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | setor_renda | chave única (cd_setor) | 0 duplicadas | 0 duplicadas em 100928 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | tributacao_municipio | chave única (municipio_ibge) | 0 duplicadas | 0 duplicadas em 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | estoque_logistico | chave única (estoque_id) | 0 duplicadas | 0 duplicadas em 818 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | subestacoes_dist | chave única (se_id) | 0 duplicadas | 0 duplicadas em 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | polos_trafego | chave única (polo_id) | 0 duplicadas | 0 duplicadas em 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_ndvi | chave única (car_cod,periodo) | 0 duplicadas | 0 duplicadas em 59160 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_uso | chave única (car_cod,ano) | 0 duplicadas | 0 duplicadas em 29580 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_s2_mensal | chave única (car_cod,ano_mes) | 0 duplicadas | 0 duplicadas em 217951 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | fatores | chave única (ordem) | 0 duplicadas | 0 duplicadas em 20 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | glebas_candidatas | chave única (gleba_id) | 0 duplicadas | 0 duplicadas em 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | chave única (anuncio_id) | 0 duplicadas | 0 duplicadas em 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | chave única (url) | 0 duplicadas | 0 duplicadas em 88564 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento_parametros | chave única (id) | 0 duplicadas | 0 duplicadas em 88 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | chave única (id) | 0 duplicadas | 0 duplicadas em 62634 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imovel_mineracao | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 2956 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_status | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_fav | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_fav | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex_score | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | area_estudo_municipios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | leilao_detalhe | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | anuncios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 88564 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | subestacoes_dist | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | estoque_logistico | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 818 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | polos_trafego | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hidro_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 2498 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | embargo_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 552 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | sp_rbcv_zoneamento_wms | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 121 de 797 | atencao | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | aprm_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 6 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | uc_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 78 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | osm_buildings_ind | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7728 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | osm_landuse | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 16073 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | rodovias_principais | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 15676 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | isocronas | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 40 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | glebas_candidatas | geometrias válidas (ST_IsValid) em geom_utm | 0 inválidas | 0 de 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | car_status | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | imoveis_candidatos | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | zoneamento | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 4 de 62634 | atencao | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | hex | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260830.md | auto |
| 2026-08-30 | catalogo_camadas | tabelas de cbre.* sem linha no catálogo (exceto bak_/tmp_/raw_/insumos intermediários listados no script) | 0 | 21: aruja_zona_central_lc42_p3,car_attr_ae,comentarios,conversao_regras,estoque_fii,estoque_fii_mun,hex_inundacao,imovel_aprm_sub,imovel_brownfield,imovel_inundacao,imovel_macrozona,imovel_mt,imovel_perfil_conversao,imovel_sigef,inundacao_oficial,leilao_historico,leilao_historico_log,macrozoneamento,mac | atencao | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §5 | auto |
| 2026-08-29 | web | site com X-Robots-Tag/meta noindex (nunca indexado) | noindex presente | só meta no HTML | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | web | HTTP https://cbre.iagrointel.com/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/catalogo.html | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | deliverable | SHA256SUMS.txt confere com os arquivos | 0 divergentes | 0 de 3 | passa | pipeline/qa/qa_checks.py | deliverable/SHA256SUMS.txt | auto |
| 2026-08-29 | glebas_candidatas | hash atual igual ao catalogado | ef51f85ee65d | ef51f85ee65d | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | glebas_candidatas | hash do export determinístico reproduzível (2 execuções) | iguais | ef51f85ee65d / ef51f85ee65d | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | hash atual igual ao catalogado | 37eaf796fa28 | 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | imovel_mineracao | hash do export determinístico reproduzível (2 execuções) | iguais | 37eaf796fa28 / 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | hash atual igual ao catalogado | 7ab22e39b59c | 7ab22e39b59c | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | leilao_detalhe | hash do export determinístico reproduzível (2 execuções) | iguais | 7ab22e39b59c / 7ab22e39b59c | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | hash atual igual ao catalogado | 41b47a7f9298 | 41b47a7f9298 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | imoveis_candidatos | hash do export determinístico reproduzível (2 execuções) | iguais | 41b47a7f9298 / 41b47a7f9298 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | hash atual igual ao catalogado | 70e283378824 | 234a9e671412 | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | zoneamento_parametros | hash do export determinístico reproduzível (2 execuções) | iguais | 234a9e671412 / 234a9e671412 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | hash atual igual ao catalogado | 34cd88594538 | bef4b768250d | atencao | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | fatores | hash do export determinístico reproduzível (2 execuções) | iguais | bef4b768250d / bef4b768250d | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex | células dentro da área de estudo (+300 m) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | metodo/confianca no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | galpao_entra no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | todos os imóveis >= 5 ha (definição do objeto) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_score | score entre 0 e 1 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | favorabilidades f_* entre 0 e 100 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_s2_mensal | série mensal cobre 2020-01..2026-08 | 2020-01 .. 2026-08 | 2020-01 .. 2026-08 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-29 | anuncios | area_m2 entre 0 e 50 km² | 0 fora | 4 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | preco_brl entre 0 e R$ 5 bi | 0 fora | 41 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | 2ª praça não excede avaliação | 0 | 3 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | praças em ordem e em 2026+ | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | data_leilao entre 2026 e 2028 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | coletado_em dentro do período da frente (>= 27/08/2026, <= hoje) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_fav | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | comitente que não parece pessoa jurídica/órgão (revisar à mão) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | comitente com pessoa física identificada (marcador PF/executado/espólio) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | padrão de CPF em qualquer campo de texto/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | CPF no campo anunciante | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | rótulo 'Nome:' em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | padrão de CPF (000.000.000-00) em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | fatores marcados 'gancho sem dado' (disponivel=false) que já têm dado em hex_fav | 0 (texto de cbre.fatores em dia) | 0:  | passa | pipeline/qa/qa_checks.py | research/16_FATORES_EXTRA.md — atualizar fonte/transformacao em cbre.fatores | auto |
| 2026-08-29 | imoveis_candidatos | nenhum ranqueado com >= 50 % vetado ou veto de mineração | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | anúncios com coordenada nativa (minoria, declarada) | < 25 % (research/10 media 1.199 em 28/08; o cron diario acrescenta leiloes com coordenada) | 13190 de 77178 | passa | pipeline/qa/qa_checks.py | research/10_MERCADO_VARRIDO.md | auto |
| 2026-08-29 | imovel_mineracao | vetos de mineração | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-29 | imoveis_candidatos | elegíveis em Guarulhos | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/15_IMOVEIS_CANDIDATOS.md | auto |
| 2026-08-29 | imoveis_candidatos | imóveis elegíveis (rank_geral não nulo) | 617 | 617 | passa | pipeline/qa/qa_checks.py | research/21_INTEGRACAO_ZON_MINE.md | auto |
| 2026-08-29 | zoneamento_parametros_dom | contagem de linhas igual ao relatório | 86 | 86 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | leilao_detalhe | contagem de linhas igual ao relatório | 29 | 29 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | fatores | contagem de linhas igual ao relatório | 19 | 19 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | car_status | contagem de linhas igual ao relatório | 7395 | 7395 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | imoveis_fav | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | imoveis_candidatos | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | hex_fav | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | hex_score | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | hex | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | imoveis_candidatos | imóveis que intersectam a grade hex | = 4346 | 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: São Paulo | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Santa Isabel | >= 60 % (carta municipal) ou explicado | 99 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Nazaré Paulista | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Mogi das Cruzes | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Mairiporã | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Itaquaquecetuba | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Guarulhos | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Cajamar | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Arujá | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | fatores | nulos em transformacao | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | nulos em nome | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | nulos em classe_alt | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | nulos em motivo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | nulos em veredito | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | nulos em status | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em coletado_em | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em tipo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | nulos em artigo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | nulos em galpao_entra | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em fonte_url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em confianca | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em metodo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em municipio_ibge | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | nulos em veto | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | nulos em hex_id | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em indice | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em area_ha | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | setor_renda | chave única (cd_setor) | 0 duplicadas | 0 duplicadas em 100928 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | tributacao_municipio | chave única (municipio_ibge) | 0 duplicadas | 0 duplicadas em 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | estoque_logistico | chave única (estoque_id) | 0 duplicadas | 0 duplicadas em 750 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | subestacoes_dist | chave única (se_id) | 0 duplicadas | 0 duplicadas em 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | polos_trafego | chave única (polo_id) | 0 duplicadas | 0 duplicadas em 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_ndvi | chave única (car_cod,periodo) | 0 duplicadas | 0 duplicadas em 59160 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_uso | chave única (car_cod,ano) | 0 duplicadas | 0 duplicadas em 29580 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_s2_mensal | chave única (car_cod,ano_mes) | 0 duplicadas | 0 duplicadas em 217951 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | chave única (ordem) | 0 duplicadas | 0 duplicadas em 19 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | glebas_candidatas | chave única (gleba_id) | 0 duplicadas | 0 duplicadas em 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | chave única (anuncio_id) | 0 duplicadas | 0 duplicadas em 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | chave única (url) | 0 duplicadas | 0 duplicadas em 77178 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | chave única (id) | 0 duplicadas | 0 duplicadas em 88 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | chave única (id) | 0 duplicadas | 0 duplicadas em 62634 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 2956 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_fav | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_score | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | area_estudo_municipios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 77178 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | subestacoes_dist | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | estoque_logistico | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 750 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | polos_trafego | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hidro_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 2498 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | embargo_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 552 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | sp_rbcv_zoneamento_wms | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 121 de 797 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | aprm_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 6 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | uc_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 78 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | osm_buildings_ind | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7728 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | osm_landuse | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 16073 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | rodovias_principais | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 15676 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | isocronas | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 40 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | glebas_candidatas | geometrias válidas (ST_IsValid) em geom_utm | 0 inválidas | 0 de 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 4 de 62634 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | catalogo_camadas | tabelas de cbre.* sem linha no catálogo (exceto bak_/tmp_/raw_/insumos intermediários listados no script) | 0 | 11: aruja_zona_central_lc42_p3,estoque_fii,estoque_fii_mun,estoque_fii_rua,hex_inundacao,imovel_inundacao,inundacao_oficial,leilao_historico,leilao_historico_log,rod_gru_fed_est,zoneamento_aruja_frentes | atencao | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §5 | auto |
| 2026-08-29 | web | site com X-Robots-Tag/meta noindex (nunca indexado) | noindex presente | só meta no HTML | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | web | HTTP https://cbre.iagrointel.com/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/catalogo.html | 200 | 404 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | web | HTTP https://iagrointel.com/cbre-2764295da680c267/ | 200 | 200 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | deliverable | SHA256SUMS.txt confere com os arquivos | 0 divergentes | 0 de 3 | passa | pipeline/qa/qa_checks.py | deliverable/SHA256SUMS.txt | auto |
| 2026-08-29 | glebas_candidatas | hash atual igual ao catalogado | ef51f85ee65d | ef51f85ee65d | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | glebas_candidatas | hash do export determinístico reproduzível (2 execuções) | iguais | ef51f85ee65d / ef51f85ee65d | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | hash atual igual ao catalogado | 37eaf796fa28 | 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | imovel_mineracao | hash do export determinístico reproduzível (2 execuções) | iguais | 37eaf796fa28 / 37eaf796fa28 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | hash atual igual ao catalogado | 7ab22e39b59c | 7ab22e39b59c | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | leilao_detalhe | hash do export determinístico reproduzível (2 execuções) | iguais | 7ab22e39b59c / 7ab22e39b59c | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | hash atual igual ao catalogado | 41b47a7f9298 | 41b47a7f9298 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | imoveis_candidatos | hash do export determinístico reproduzível (2 execuções) | iguais | 41b47a7f9298 / 41b47a7f9298 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | hash atual igual ao catalogado | 70e283378824 | 70e283378824 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | zoneamento_parametros | hash do export determinístico reproduzível (2 execuções) | iguais | 70e283378824 / 70e283378824 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | hash atual igual ao catalogado | 34cd88594538 | 34cd88594538 | passa | pipeline/qa/qa_checks.py | cbre.catalogo_camadas.sha256 (mudança de dado desde a catalogação) | auto |
| 2026-08-29 | fatores | hash do export determinístico reproduzível (2 execuções) | iguais | 34cd88594538 / 34cd88594538 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | * | faixas | executa | erro: ERROR:  within: Operation on mixed SRID geometries (MultiPolygon, 4674) != (Polygon, 4326) | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | metodo/confianca no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | galpao_entra no domínio declarado | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | todos os imóveis >= 5 ha (definição do objeto) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_score | score entre 0 e 1 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | favorabilidades f_* entre 0 e 100 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_s2_mensal | série mensal cobre 2020-01..2026-08 | 2020-01 .. 2026-08 | 2020-01 .. 2026-08 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-29 | anuncios | area_m2 entre 0 e 50 km² | 0 fora | 4 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | preco_brl entre 0 e R$ 5 bi | 0 fora | 41 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | 2ª praça não excede avaliação | 0 | 3 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | praças em ordem e em 2026+ | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | data_leilao entre 2026 e 2028 | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | coletado_em dentro do período da frente (>= 27/08/2026, <= hoje) | 0 fora | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_fav | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | uc_nome,aprm_nome | falha | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | colunas de identificação pessoal (nome/cpf/proprietário/telefone) | nenhuma | nenhuma | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | comitente que não parece pessoa jurídica/órgão (revisar à mão) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | comitente com pessoa física identificada (marcador PF/executado/espólio) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | padrão de CPF em qualquer campo de texto/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | CPF no campo anunciante | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | rótulo 'Nome:' em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | padrão de CPF (000.000.000-00) em titulo/raw | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | fatores sem dado (disponivel=false) | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nenhum ranqueado com >= 50 % vetado ou veto de mineração | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | anúncios com coordenada nativa (fração pequena, declarada) | ~1.199 de ~70-77 mil | 13190 de 77178 | atencao | pipeline/qa/qa_checks.py | research/10_MERCADO_VARRIDO.md | auto |
| 2026-08-29 | imovel_mineracao | vetos de mineração | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/17_MINERACAO_SENTINEL.md | auto |
| 2026-08-29 | imoveis_candidatos | elegíveis em Guarulhos | 19 | 19 | passa | pipeline/qa/qa_checks.py | research/15_IMOVEIS_CANDIDATOS.md | auto |
| 2026-08-29 | imoveis_candidatos | imóveis elegíveis (rank_geral não nulo) | 617 | 617 | passa | pipeline/qa/qa_checks.py | research/21_INTEGRACAO_ZON_MINE.md | auto |
| 2026-08-29 | zoneamento_parametros_dom | contagem de linhas igual ao relatório | 86 | 86 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | leilao_detalhe | contagem de linhas igual ao relatório | 29 | 29 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | fatores | contagem de linhas igual ao relatório | 19 | 19 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | car_status | contagem de linhas igual ao relatório | 7395 | 7395 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | imoveis_fav | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | imoveis_candidatos | contagem de linhas igual ao relatório | 4346 | 4346 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | hex_fav | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | hex_score | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | hex | contagem de linhas igual ao relatório | 73115 | 73115 | passa | pipeline/qa/qa_checks.py | README.md / research/12,15,17,18,21 | auto |
| 2026-08-29 | imoveis_candidatos | imóveis que intersectam a grade hex | = 4346 | 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: São Paulo | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Santa Isabel | >= 60 % (carta municipal) ou explicado | 99 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Nazaré Paulista | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Mogi das Cruzes | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Mairiporã | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Itaquaquecetuba | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Guarulhos | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Cajamar | >= 60 % (carta municipal) ou explicado | 89 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | zoneamento | cobertura da carta sobre o município: Arujá | >= 60 % (carta municipal) ou explicado | 100 % | passa | pipeline/qa/qa_checks.py | research/19_ZONEAMENTO_*.md + 21_INTEGRACAO_ZON_MINE.md (cobertura parcial declarada onde a lei só zoneia o urbano) | auto |
| 2026-08-29 | fatores | nulos em transformacao | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | nulos em nome | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | nulos em classe_alt | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | nulos em motivo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | nulos em veredito | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | nulos em status | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em coletado_em | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em tipo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | nulos em url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | nulos em artigo_fonte | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | nulos em galpao_entra | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em fonte_url | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em confianca | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em metodo | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em zona_sigla | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | nulos em municipio_ibge | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | nulos em veto | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | nulos em hex_id | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em indice | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em geom | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em area_ha | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em municipio | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | nulos em car_cod | 0 | 0 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | setor_renda | chave única (cd_setor) | 0 duplicadas | 0 duplicadas em 100928 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | tributacao_municipio | chave única (municipio_ibge) | 0 duplicadas | 0 duplicadas em 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | estoque_logistico | chave única (estoque_id) | 0 duplicadas | 0 duplicadas em 750 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | subestacoes_dist | chave única (se_id) | 0 duplicadas | 0 duplicadas em 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | polos_trafego | chave única (polo_id) | 0 duplicadas | 0 duplicadas em 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_ndvi | chave única (car_cod,periodo) | 0 duplicadas | 0 duplicadas em 59160 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_uso | chave única (car_cod,ano) | 0 duplicadas | 0 duplicadas em 29580 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_s2_mensal | chave única (car_cod,ano_mes) | 0 duplicadas | 0 duplicadas em 217951 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | fatores | chave única (ordem) | 0 duplicadas | 0 duplicadas em 19 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | glebas_candidatas | chave única (gleba_id) | 0 duplicadas | 0 duplicadas em 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | chave única (anuncio_id) | 0 duplicadas | 0 duplicadas em 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | chave única (url) | 0 duplicadas | 0 duplicadas em 77178 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento_parametros | chave única (municipio_ibge,zona_sigla) | 0 duplicadas | 2 duplicadas em 88 | falha | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | chave única (id) | 0 duplicadas | 0 duplicadas em 62632 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imovel_mineracao | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 2956 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_fav | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | chave única (car_cod) | 0 duplicadas | 0 duplicadas em 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_fav | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex_score | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex | chave única (hex_id) | 0 duplicadas | 0 duplicadas em 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | area_estudo_municipios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 9 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | leilao_detalhe | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 29 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | anuncios | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 77178 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | subestacoes_dist | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 524 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | estoque_logistico | geometrias válidas (ST_IsValid) em geom_poly | 0 inválidas | 0 de 750 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | polos_trafego | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 3804 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hidro_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 2498 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | embargo_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 552 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | sp_rbcv_zoneamento_wms | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 121 de 797 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | aprm_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 6 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | uc_ae | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 78 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | osm_buildings_ind | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7728 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | osm_landuse | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 16073 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | rodovias_principais | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 15676 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | isocronas | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 40 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | glebas_candidatas | geometrias válidas (ST_IsValid) em geom_utm | 0 inválidas | 0 de 171 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | car_status | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 7395 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | imoveis_candidatos | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 4346 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | zoneamento | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 4 de 62632 | atencao | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | hex | geometrias válidas (ST_IsValid) em geom | 0 inválidas | 0 de 73115 | passa | pipeline/qa/qa_checks.py | research/QA_20260829.md | auto |
| 2026-08-29 | catalogo_camadas | tabelas de cbre.* sem linha no catálogo (exceto bak_/tmp_/raw_) | 0 | 44: aruja_perimetro_urbano_lc42,bdgd_sub_raw,bdgd_untrat_raw,car_gru,car_rmsp,fatores_extra_parametros,gru_sub,gru_sub_4674,guarulhos,guarulhos_4674,guarulhos_macrozoneamento_pd2019,guarulhos_mananciais,guarulhos_ucs,guarulhos_zupi_1978,iso_grade,mogi_zede_sobreposicao,osm_contagens_municipio,osm_lines_ | atencao | pipeline/qa/qa_checks.py | METODOLOGIA_HONESTIDADE.md §5 | auto |
| 2026-08-29 | imoveis_candidatos | Arujá 4º geral: sigla dominante × células | coerente | Z-4 (galpão NÃO) com células em ZUPI-1/Z-3; divisa de PDF ±20-40 m | atencao | pipeline/83 | research/21 §4 | doc |
| 2026-08-29 | deliverable | nº de elegíveis banco × PDFs/dossiê | 617 | PDFs e dossiê corrigidos para 617 em 29/08 (README) | passa | build_docs.py | research/21 §6; README §29/08 | doc |
| 2026-08-29 | web | teste automatizado pós-deploy | HTTP 200, 0 erros de console | 200 em todas as páginas; 0 erros (desktop/mobile) | passa | web/test_zon_mine.py | research/21 §5 | doc |
| 2026-08-29 | imoveis_candidatos | efeito combinado zoneamento + mineração rastreável | 637 → 617 explicado | 23 saíram por zona, 14 entraram, 11 por mineração; estado anterior em bak_*_20260829 | passa | pipeline/run_chain4.sh | research/21 §3 | doc |
| 2026-08-29 | hex_score | cartas novas mudam só onde há carta nova | GRU/SP/Mogi inalterados | 0 células mudadas em GRU/SP; Santa Isabel 301→549 ≥ 0,45; Mairiporã 2.608→4.332 vetadas | passa | pipeline/80_score.sql | research/21 §2 | doc |
| 2026-08-29 | hex_zona | soma das classes galpao_entra | 73.115 | 3.052 + 7.632 + 3.433 + 10.704 + 48.294 = 73.115 | passa | pipeline/84b_zona_9mun.sql | research/21_INTEGRACAO_ZON_MINE.md §2 | doc |
| 2026-08-29 | hex_fav | cobertura dos fatores 16-18 por célula | 73.115 | f_polos/f_se/f_cluster em 73.115 (médias 79,6/68,8/41,4) | passa | pipeline/96b_fatores_extra_f.sql | research/20 §4 | doc |
| 2026-08-29 | estoque_logistico | FII por município carregado | sim | NÃO carregado (fontes sem tabela de ativos com cidade/m²) | atencao | — | research/20 §3 e §5 (fila: CVM) | doc |
| 2026-08-29 | subestacoes_dist | MVA disponível por SE | todas | Enel 152 de 228 PD (15.842 MVA); EDP 42 de 55 (3.426 MVA); NULL nas 'O' da EDP | atencao | pipeline/97_polos_se_estoque.sql | research/20 §2 | doc |
| 2026-08-29 | polos_trafego | dedupe nó × polígono | sem duplicata | 6.346 objetos → 3.804 polos (DBSCAN ≤ 150 m) | passa | pipeline/97_polos_se_estoque.sql | research/20_POLOS_SE_ESTOQUE.md §1 | doc |
| 2026-08-29 | leilao_detalhe | geocodificação dos lotes | todos | 19 publicadas, 5 por via OSM homônima, 5 sem coordenada | atencao | mercado/leilao_detalhe.py | research/18 §1 e §10 | doc |
| 2026-08-29 | anuncios | Caixa: terreno/galpão industrial nos 9 municípios | verificar | 725 imóveis; um único ≥ 2.000 m² (Mairiporã 2.022 m²) | passa | mercado/caixa_csv.py | research/18 §7 (confirmação negativa) | doc |
| 2026-08-29 | anuncios | Caixa lote 847: consistência dos valores publicados | 2ª praça < 1ª | 2º leilão R$ 5,26 mi > 1º R$ 1,83 mi > avaliação R$ 1,60 mi (falha da fonte, registrada como está) | atencao | mercado/caixa.py | research/18 §7 | doc |
| 2026-08-29 | leilao_detalhe | lote Zuk 967 (Guarulhos, Zircônio): área de terreno | conferir na ficha | relatórios 13/15 diziam 8.646 m² (construída); terreno = 79.669 m², residencial 5 torres, ZUD-8 | falha | mercado/leilao_detalhe.py | research/18 §3.1 (corrigida nos entregáveis) | doc |
| 2026-08-29 | leilao_detalhe | extração de ônus só do bloco do lote | só do lote | 1ª versão contava 'alienação fiduciária' do menu → corrigido | passa | mercado/leilao_detalhe.py | research/18 §1 (falha corrigida) | doc |
| 2026-08-29 | leilao_detalhe | dado pessoal no entregável (CPF/nome) | 0 | nenhum CPF no CSV; autor/réu só quando PJ; descrição integral não gravada | passa | mercado/leilao_detalhe.py, leilao_detalhe_pos.py | research/18 §9 e §11 | doc |
| 2026-08-29 | leilao_detalhe | cadência e bloqueios na coleta das fichas | zero 403/429 | 29 páginas em ~2 min (3 s), zero 403/429; Zuk veda /edital → não baixado | passa | mercado/leilao_detalhe.py | research/18_LEILOES_DETALHE.md §1 e §9 | doc |
| 2026-08-29 | leilao_resultado | histórico vendido × não vendido | esperado | 0 vendidos, 0 arrematações expostas; 7 encerrados sem venda | atencao | pipeline/94_leilao_resultado.py | research/16 §5 (fonte não expõe) | doc |
| 2026-08-29 | imovel_rl_app | dupla contagem APP dentro de RL | união ≥ soma | 155.105 ha soma × 155.479 ha união (de 181.152) | passa | pipeline/91_rl_app_imovel.sql | research/16 §4 | doc |
| 2026-08-29 | hex_renda | cobertura da renda por célula | 100 % | 70.475 de 73.115 (96,4 %); 99.223 de 100.928 setores | atencao | pipeline/93_renda_setor.sql | research/16 §3 | doc |
| 2026-08-29 | tributacao_municipio | completude por município | 9 completos | 4 lacunas (Itaquá ISS/incentivo; Mogi IPTU) + 3 'não confirmado' | atencao | pipeline/95_tributacao_municipio.sql | research/16 §2 e §7 | doc |
| 2026-08-29 | tributacao_municipio | dicas recebidas no pedido (Mogi LC 60/2009; Cajamar 2-5 %) | confirmar | as duas NÃO conferiram (Mogi = LC 26/2003; Cajamar = 2 %) | atencao | pipeline/95_tributacao_municipio.sql | research/16 §2 (corrigida na tabela) | doc |
| 2026-08-29 | hex_fatores_extra | P95 da densidade de roubo (parâmetro medido, não arbitrado) | medido | 2,251 BO/km²/ano, em cbre.fatores_extra_parametros | passa | pipeline/90b_roubo_carga_hex.sql | research/16 §1 | doc |
| 2026-08-29 | ssp_carga_pontos | georreferenciamento dos BOs de roubo de carga | alto | 5.345 BOs, 5.266 (98,5 %) com coordenada; 2.908.355 linhas lidas | passa | pipeline/90_ssp_roubo_carga.py | research/16_FATORES_EXTRA.md §1 | doc |
| 2026-08-29 | postgres | integridade após OOM do checkpointer (12:04 UTC) | sem perda | redo em 18 s; car_anm e 16 meses íntegros; regra PAR ≤ 2 | passa | pipeline/97_run_until_done.sh | research/17 §Tempo; 18 §10 | doc |
| 2026-08-29 | imoveis_candidatos | mineração ativa entre os ranqueados (auditoria do ranking de 28/08) | 0 | 19 vetos, 11 entre os 637 (nºs 1, 4, 12, 14 do geral) → corrigido para 617 | falha | pipeline/98 + 83_imoveis_candidatos.sql | research/17; 21 §3 (corrigida) | doc |
| 2026-08-29 | imovel_mineracao | os 94 'parados' são mineração ativa? | verificar | nenhum com direito de lavra; 78 seguem parados, 9 verificar, 4 exposição recente | passa | pipeline/99_mineracao_relatorio.sql | research/17 §Reclassificação | doc |
| 2026-08-29 | imovel_mineracao | limiar de sazonalidade 0,10 contra a distribuição | separar | medianas 0,03/0,06/0,00 → limiares 0,05 e 0,08 (declarados) | atencao | pipeline/98_mineracao_dinamica.sql | research/17 §Limiares (recalibrado) | doc |
| 2026-08-29 | car_s2_mensal | completude da série por imóvel | 80 meses | 217.951 linhas, 2.956 imóveis, mediana 74 meses (mín. 66) | atencao | pipeline/97_mineracao_s2_mensal.py | research/17 §Método 2 e §Limites | doc |
| 2026-08-29 | car_s2_mensal | redundância NDVI × BSI | — | correlação −0,92; classificador usa bare_frac | passa | pipeline/97_mineracao_s2_mensal.py | research/17_MINERACAO_SENTINEL.md §Método 2 | doc |
| 2026-08-29 | zoneamento_nazare | existe LUOS municipal? (10 canais) | encontrar | 0 resultados; Lei 1.340/2017 art. 1 confirma que não existe | passa | — | research/19_NAZARE §2-3 (confirmação negativa) | doc |
| 2026-08-29 | zoneamento_nazare | pontos de controle (centro, DI, corredor, sul, represa) | classe esperada | todos batem; 15,76 km² de água ANA em ZPA | passa | pipeline/zon_nazare/03_mapa_check.py | research/19_NAZARE §6 | doc |
| 2026-08-29 | zoneamento_nazare | cobertura da camada APA vs município | 326,3 km² | 326,01 km² | passa | pipeline/zon_nazare | research/19_NAZARE §5 | doc |
| 2026-08-29 | zoneamento_nazare | área oficial do Dec. 65.244/2020 × vetor DataGeo | igual | ZPA 1.288,0 × 1.364,8 km²; ZUS 1.128,3 × 1.062,2; ZPE 124,0 × 113,9 (~6 %) | atencao | pipeline/zon_nazare/01_apa_getfeatureinfo.py | research/19_ZONEAMENTO_NAZARE.md §6 | doc |
| 2026-08-29 | zoneamento_mairipora | conferência perímetro a perímetro contra LC 455/2022 e 484/2025 | feita | NÃO feita (anexos só como imagens sem georreferência) | atencao | — | research/19_MAIRIPORA §5 (lacuna declarada) | doc |
| 2026-08-29 | zoneamento_mairipora | Fernão Dias cai em zona econômica | sim | 18,0 km ZUDEM + 11,9 km ZUD; OSM industrial 6,3 ha ZUDEM + 2,6 ha ZUD | passa | pipeline/zon_mairipora | research/19_MAIRIPORA §4 | doc |
| 2026-08-29 | zoneamento_mairipora | área medida vs atributo Area do KML | igual | ZUD 6.175.891 m² no KML × 6,18 km² medido | passa | pipeline/zon_mairipora | research/19_MAIRIPORA §4 | doc |
| 2026-08-29 | zoneamento_mairipora | soma bruta × união (sobreposição do KMZ) | — | 331,0 bruto × 321,1 união; cobertura 319,65 de 320,70 km²; 1,41 km² fora | atencao | pipeline/zon_mairipora/20_load.sql | research/19_ZONEAMENTO_MAIRIPORA.md §2 | doc |
| 2026-08-29 | zoneamento_santaisabel | cobertura do município | 363,3 km² | 358,9 km² (98,8 %) | passa | pipeline/zon_santaisabel/55_clip.sql | research/19_SANTAISABEL §2.5 | doc |
| 2026-08-29 | zoneamento_santaisabel | nº de GCPs vs protocolo | ≥ 6 | 4 GCPs de grade (grade exata por construção) | atencao | pipeline/zon_santaisabel/21_georef_grid.py | research/19_SANTAISABEL §2.2 (desvio declarado) | doc |
| 2026-08-29 | zoneamento_santaisabel | massa d'água (layer RIO) × ANA | concordância | IoU 0,45 (nível do Jaguari varia) | atencao | pipeline/zon_santaisabel | research/19_SANTAISABEL §2.3 | doc |
| 2026-08-29 | zoneamento_santaisabel | contorno das zonas vs limite IBGE | — | p50 104 m, p75 205 m, p90 1,3 km; recorte divisa +100 m | atencao | pipeline/zon_santaisabel/55_clip.sql | research/19_SANTAISABEL §2.3 | doc |
| 2026-08-29 | zoneamento_santaisabel | vértices da BR-116 no PDF vs OSM | desvio pequeno | p50 44,6 m; 366 de 370 vértices a ≤ 150 m de ZUD/ZUPI | passa | pipeline/zon_santaisabel | research/19_SANTAISABEL §2.3 | doc |
| 2026-08-29 | zoneamento_santaisabel | IoU contra vetor independente (PE Itaberaba, DataGeo) | alto | IoU 0,92 (66,41 × 66,49 km²); centroides a 108/90 m | passa | pipeline/zon_santaisabel/40-42 | research/19_ZONEAMENTO_SANTAISABEL.md §2.3 | doc |
| 2026-08-29 | zoneamento_cajamar | cobertura do município | 131,4 km² | 117,1 km² (89 %); 14 km² sem zona | atencao | pipeline/zon_cajamar | research/19_CAJAMAR §5 | doc |
| 2026-08-29 | zoneamento_cajamar | OSM industrial (23 pol./~379 ha) em ZUPI | maioria | 240 ha (63 %) em ZUPI-1/2; 126 ha ZMU; 6 ha ZIA | passa | pipeline/zon_cajamar | research/19_CAJAMAR §4 | doc |
| 2026-08-29 | zoneamento_cajamar | datum do DWG contra a divisa IBGE | SIRGAS 2000/UTM 23S | desvio < 30 m | passa | pipeline/zon_cajamar | research/19_CAJAMAR §1 | doc |
| 2026-08-29 | zoneamento_cajamar | coerência memorial × DWG oficial | alta | 30 de 37 com ≥ 93 % da área dentro da camada do DWG | passa | pipeline/zon_cajamar/07_assemble.sql | research/19_CAJAMAR §2 | doc |
| 2026-08-29 | zoneamento_cajamar | memoriais LC 234 Anexo 7: área calculada vs declarada | \|ratio − 1\| ≤ 2 % | 20 memoriais fecham em ≤ 0,3 %; 8 zonas 'baixa' (10-260 %, OCR) | atencao | pipeline/zon_cajamar/04_memoriais.py, 07_assemble.sql | research/19_ZONEAMENTO_CAJAMAR.md §2 e §4 | doc |
| 2026-08-29 | zoneamento_itaqua | OSM industrial (36 pol./119 ha) vs zona | maioria em zona industrial | 41 % em zona industrial; 78 % onde Ind-1/2 permitido; 13 ha em ZEPAM 1 sem explicação | atencao | pipeline/zon_itaqua | research/19_ITAQUA §5 | doc |
| 2026-08-29 | zoneamento_itaqua | OCR dos rótulos vs classe atribuída | concordância | 16 de 16 concordam | passa | pipeline/zon_itaqua/15_ocr600.sh | research/19_ITAQUA §5 | doc |
| 2026-08-29 | zoneamento_itaqua | cobertura vs IBGE | 82,62 km² | 82,59 km² (0,04 %) | passa | pipeline/zon_itaqua/40_load.sql | research/19_ZONEAMENTO_ITAQUA.md §2 e §5 | doc |
| 2026-08-29 | zoneamento_aruja | cobertura vs IBGE | 96,13 km² | 95,80 km² (99,7 %) | passa | pipeline/zon_aruja/05_validate.sql | research/19_ARUJA §5 | doc |
| 2026-08-29 | zoneamento_aruja | OSM landuse=industrial cai em zona industrial | maioria | 66,0 % ZUPI-1 + 27,1 % ZEC = 93 %; 12 de 15 polígonos ZUPI-1 | passa | pipeline/zon_aruja/05_validate.sql | research/19_ARUJA §5 | doc |
| 2026-08-29 | aruja_perimetro_urbano_lc42 | georreferenciamento da Planta 1 | RMSE baixo | 13,7 m com 66 GCPs | passa | pipeline/zon_aruja | research/19_ARUJA §3 | doc |
| 2026-08-29 | zoneamento_aruja | divisa IBGE × linha no raster (checagem independente) | — | mediana 24,7 m, p90 69,7 m; descarta deslocamento SAD69 | passa | pipeline/zon_aruja | research/19_ARUJA §3 | doc |
| 2026-08-29 | zoneamento_aruja | georreferenciamento da Planta 2 (LC 42/2019) | RMSE baixo | RMSE 18,8 m, 62 GCPs (afim); 2ª ordem 14,2 m; máx 50 m | passa | pipeline/zon_aruja/11-14 | research/19_ZONEAMENTO_ARUJA.md §3 | doc |
| 2026-08-28 | acervo | regulador.zoning_rules tem geometria | presente | NULL em 3.827 de 3.827 → motivou a frente 06/19 | falha | SQL da sessão | research/03 §1.7 | doc |
| 2026-08-28 | acervo | ibge_trechos_rodoviarios cobre SP | cobrir | 0 trechos na RMSP (ingestão parcial GO/MS/MT) | falha | SQL da sessão | research/03 §1.3 | doc |
| 2026-08-28 | acervo | matview mv_car_x_protected_areas × cruzamento direto | concordar | matview 0 CARs em UC-PI; direto 183 → não confiar na matview | falha | SQL da sessão | research/03 §1.1 | doc |
| 2026-08-28 | hex_score | sensibilidade ao peso do zoneamento | ordem estável | com zona 2×, top-3 de Guarulhos muda (gleba 20 ZAE3 → 2ª) | atencao | pipeline/86_export.py | research/12_RANKING.md §Sensibilidade | doc |
| 2026-08-28 | anuncios | estabilidade da paginação Superbid | completa | SP 48 lotes, 36 na 1ª passagem, completados com orderBy=price:desc | atencao | mercado/superbid.py | research/10 §8 | doc |
| 2026-08-28 | anuncios | robots.txt respeitado e parada no 1º 403/429 | sem violação | Sodré 403 → parada, zero linhas; GLP/Prologis/Fulwood pulados; CnM só sitemaps e pg≤5 | passa | mercado/run_all.sh, common.py | research/10 §8 | doc |
| 2026-08-28 | glebas_candidatas | 'fora do mercado' como piso | confiável | só 1.199 de 71.129 itens com coordenada → piso fraco | atencao | pipeline/82_cruzamentos.sql | research/12_RANKING.md | doc |
| 2026-08-28 | anuncios | coordenadas nativas | válidas | só ~1,7 % com lat/lon; 0,0 do Chaves na Mão descartadas | atencao | mercado/load.py | research/10 §1 e §8 | doc |
| 2026-08-28 | anuncios | áreas absurdas do anunciante | descartar | ≥ 2.000.000 m² = 14 casos excluídos; preço/m² fora de 20-50.000 e área < 50 m² excluídos | passa | mercado/cnm_universo.py, relatorio.py | research/10_MERCADO_VARRIDO.md §1 e §3 | doc |
| 2026-08-28 | glebas_candidatas | cruzamento gleba × CAR parado usa a regra operacional | regra alt (94) | usou a regra estrita (3) → 0 glebas | falha | pipeline/82_cruzamentos.sql | research/11_CAR_PARADO.md §Limites (a corrigir) | doc |
| 2026-08-28 | car_ndvi | sanidade da amostra NDVI | alto em região úmida | 0,82 pico, 0,72-0,78 seca; 93 cenas, 3-4 por imóvel | passa | pipeline/82_car_parado_ndvi.py | research/11_CAR_PARADO.md | doc |
| 2026-08-28 | car_status | poder de separação de anos_sem_cultura | discriminar | = 4 em 5.092 de 7.395 → critério trocado por pasto/solo exposto | atencao | pipeline/83_car_parado_status.sql | research/11_CAR_PARADO.md | doc |
| 2026-08-28 | zoneamento_sao_paulo | paginação da camada da lei revogada (GeoSampa) | HTTP 200 | HTTP 400, não pagina → camada não usada | atencao | carga WFS | research/06 nota (b) (falha da fonte) | doc |
| 2026-08-28 | zoneamento | ZI de Guarulhos não urbanizada (MapBiomas 2024) | — | ZI 1,0 % (0,20 de 19,20 km²); ZAE 7,5 %; Mogi ZUPI 74,4 % | passa | cbre.zoneamento_x_mapbiomas_2024 | research/06 §2.1 | doc |
| 2026-08-28 | hex_rbcv | efeito da exclusão do Cinturão Verde sobre ZI+ZAE | significativo (hipótese) | ~0,1 km² de ZI+ZAE; hipótese refutada | passa | SQL da sessão | research/06 §2 | doc |
| 2026-08-28 | zoneamento | sobreposição ZI/ZAE × UCs de Guarulhos | ~0 | 0,43 km² ZI e 0,16 km² ZAE (franjas da APA Várzea do Tietê) | atencao | SQL da sessão | research/06 §2 | doc |
| 2026-08-28 | zoneamento | zona industrial de Guarulhos dentro de manancial | 0 | 93,53 de 93,65 km² em proteção ambiental; 0 em ZI/ZAE | passa | SQL da sessão | research/06 §2 | doc |
| 2026-08-28 | zoneamento_mogi_das_cruzes | área zoneada vs IBGE | 712,5 km² | 713,9 km² (+0,2 %) | passa | carga GeoMogi | research/06 §1 | doc |
| 2026-08-28 | zoneamento_guarulhos | soma das zonas vs limite municipal | 318,93 km² | 318,95 km² | passa | carga WFS | research/06_ZONEAMENTO_GEOMETRIA.md §1 | doc |
| 2026-08-28 | isocronas | truncamento e Rodoanel Norte | faixa de 60 min dentro da grade | 60 min extravasa o buffer de 5 km; Rodoanel Norte 42,4 km em construction | atencao | osm/sql/30_isocronas.sql | research/07 §5.3-5.4 | doc |
| 2026-08-28 | isocronas | simetria entre direções | pequena | 3-10 % (GRU 75,1/768,6/2.097,0/3.715,7 vs 68,5/721,2/1.933,3/3.512,4 km²) | passa | osm/sql/30_isocronas.sql | research/07 §5.3 | doc |
| 2026-08-28 | iso_tempos | tempos âncora → GRU Cargo plausíveis | fluxo livre | Guarulhos centro 13 min/10 km; Marginal×Fernão Dias 19; Dutra×Rodoanel 26; Sé 27 | passa | osm/isocronas.py | research/07 §5.1 | doc |
| 2026-08-28 | iso_tempos | cobertura do snap OSRM | todos os pontos | 23.402 de 25.585 (91,5 %); > 1.000 m da via = NULL | atencao | osm/isocronas.py | research/07 §5.2 | doc |
| 2026-08-28 | iso_ancoras | âncora Dutra × Rodoanel = cruzamento real | cruzamento | sugerida não coincidia; ST_Intersection BR-116 × SP-021 = -23,4143/-46,3648 | passa | research/07 §5.1 | research/07 §5.1 (corrigida) | doc |
| 2026-08-28 | iso_ancoras | coordenada do GRU Cargo contra o OSM | coincidir com o TECA | sugerida estava ~2 km a leste; adotada -23,4261/-46,4896 (aeroway=terminal Cargas) | passa | research/07 §5.1 | research/07_OSM_REDE_ISOCRONAS.md §5.1 (corrigida) | doc |
| 2026-08-28 | osm_landuse | landuse industrial de Guarulhos a ≤ 2 km de rodovia principal | alta | 99,6 % da área; Guarulhos = 41 % do núcleo (14,85 de 35,91 km²) | passa | osm/sql/20_contagens.sql | research/07 §4.2 | doc |
| 2026-08-28 | osm_buildings_ind | tag building=factory presente | esperada | 0 feições (no OSM-BR fábricas são industrial); regra ajustada | atencao | osm/sql/10_derivar.sql | research/07 §4.3 | doc |
| 2026-08-28 | osm_landuse | geometrias inválidas | 0 | 11 autointerseções → ST_MakeValid antes das contagens | passa | osm/sql/10_derivar.sql | research/07 §3 | doc |
| 2026-08-28 | osm_* | integridade do download e do recorte OSM | sha256 conferido | pbf 855.874.850 B sha256 5c9f5a46…; recorte 135.113.946 B sha256 3753a39b…; dados 2026-08-27T20:21:06Z | passa | osm/load_ogr.sh | research/07_OSM_REDE_ISOCRONAS.md §1 | doc |
| 2026-08-28 | hex | elevação no extremo sul de SP (tile S25) | > 0 | 1ª rodada: 132 células com elevação 0; corrigido incluindo S25 | passa | pipeline/20_relevo.py | research/08_GRADE_FISICA.md §2.2 (falha detectada e corrigida) | doc |
| 2026-08-28 | hex | cobertura das colunas por célula | 73.115 em todas | relevo 73.099, MapBiomas 73.098 (lascas de borda), demais 73.115 | atencao | pipeline/20_relevo.py, 30_mapbiomas.py | research/08_GRADE_FISICA.md §3 | doc |
| 2026-08-28 | hex | população da grade vs Censo 2022 (Guarulhos) | 1.291.771 hab (±0,5 %) | 1.297.428 hab (+0,44 %) | atencao | pipeline/60_pop.sql | research/08_GRADE_FISICA.md §2.6 e §4 (excesso = célula de divisa) | doc |
| 2026-08-28 | hex | área da grade vs área do núcleo | ≈ 3.872,9 km² | 73.115 células = 3.872,0 km² | passa | pipeline/10_hex.sql | research/08_GRADE_FISICA.md §3 | doc |
| 2026-08-28 | rmsp_municipios | municípios da RMSP (LC 1.139/2011) | 39 | 39, nomes batem | passa | SQL da sessão | research/03_MEDIDO_RMSP_GUARULHOS.md §0 | doc |

## 4. Frescor das fontes (últimas verificações)

`pipeline/qa/frescor_check.py`, mensal (dia 1, 06:00): uma requisição por fonte, robots respeitado; hosts atrás de Cloudflare são declarados como bloqueados, não adivinhados.

| Verificado em | Tabela | URL | Método | Mudou | Hash anterior | Hash novo | Obs. |
|---|---|---|---|---|---|---|---|
| 2026-09-01T06:02 | zoneamento_santaisabel | https://web.archive.org/web/20181221150029/http://santaisabel.sp.gov.br/pmsiport | sha256_corpo(2MB) | True | 99d1cdb37216 | 431f7564956b | HTTP GET parcial 11248 B |
| 2026-09-01T06:02 | zoneamento_itaqua | https://itaqua.sp.gov.br/arquivos/secretarias/planejamento-urbano/Mapas/ANEXO_II | last-modified | False | Mon, 15 Jun  | Mon, 15 Jun  | HTTP HEAD; content-length=14070921 |
| 2026-09-01T06:02 | zoneamento_aruja_lei1472_2000 | http://governoeletronico.aruja.sp.gov.br/leismunicipais/AtosPlanejamento/zoneame | etag |  |  | 7044649036e8 | HTTP HEAD; content-length=976168 |
| 2026-09-01T06:02 | uf_sp_area_intervencao | https://www.idesp.sp.gov.br/geoserver/acervo_emplasa/wfs?service=WFS&version=2.0 | sha256_corpo(2MB) |  |  | eb13ab765f68 | HTTP GET parcial 1185887 B |
| 2026-09-01T06:02 | uf_rs_loteamento_metroplan | https://iede.rs.gov.br/server/rest/services | sha256_corpo(2MB) |  |  | 628f4925ac4f | HTTP GET parcial 4904 B |
| 2026-09-01T06:02 | uf_pr_perimetro_urbano | https://paranainterativo.pr.gov.br/interativo/rest/services | sha256_corpo(2MB) |  |  | 890139b5c997 | HTTP GET parcial 3595 B |
| 2026-09-01T06:02 | servico:analise_sob_demanda | https://cbre.iagrointel.com/analisar.html | etag |  |  | 6a95c9a9-246 | HTTP HEAD; content-length=9323 |
| 2026-09-01T06:02 | raw_sp_habi_favela | https://dados.prefeitura.sp.gov.br | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:02 | raw_mogi_zeis2 | https://geomogi.mogidascruzes.sp.gov.br/mapa/zeis2 | sha256_corpo(2MB) |  |  | 08a52b623eed | HTTP GET parcial 25339 B |
| 2026-09-01T06:01 | raw_mogi_zeis1 | https://geomogi.mogidascruzes.sp.gov.br/mapa/zeis1 | sha256_corpo(2MB) |  |  | 396f58c1c192 | HTTP GET parcial 177467 B |
| 2026-09-01T06:01 | raw_mogi_macrozona | https://geomogi.mogidascruzes.sp.gov.br/mapa/macrozona | sha256_corpo(2MB) |  |  | 100a9ede33ac | HTTP GET parcial 1537225 B |
| 2026-09-01T06:01 | raw_mairipora_pd_kml | https://www.mairipora.sp.gov.br/cidadao/revisao-de-plano-diretor-participativo | sha256_corpo(2MB) | False | e35224b5c4af | e35224b5c4af | HTTP GET parcial 109451 B |
| 2026-09-01T06:01 | raw_mairipora_macrozoneamento_kml | https://drive.google.com/drive/folders/1VOirgMBOJZqB0cA5EGbLi0k3WwjXIzlK | sha256_corpo(2MB) |  |  | fcda987279b4 | HTTP GET parcial 386678 B |
| 2026-09-01T06:01 | raw_itaqua_zeis | https://itaqua.sp.gov.br/planejamento-urbano/ | sha256_corpo(2MB) |  |  | 2c81dee80ff3 | HTTP GET parcial 79634 B |
| 2026-09-01T06:01 | raw_inund_sgb_santaisabel | https://rigeo.sgb.gov.br/handle/doc/19432 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_inund_sgb_nazare | https://rigeo.sgb.gov.br/handle/doc/18190 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_inund_sgb_mogi | https://rigeo.sgb.gov.br/handle/doc/19434 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_inund_sgb_mairipora | https://rigeo.sgb.gov.br/handle/doc/15201 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_inund_sgb_itaqua | https://rigeo.sgb.gov.br/handle/doc/15197 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_inund_sgb_cajamar | https://rigeo.sgb.gov.br/handle/doc/19384 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_inund_sgb_aruja | https://rigeo.sgb.gov.br/handle/doc/19018 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:01 | raw_ibge_fcu_pop | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urba | sha256_corpo(2MB) |  |  | 7e8108678281 | HTTP GET parcial 19673 B |
| 2026-09-01T06:01 | raw_ibge_fcu_nset | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urba | etag |  |  | 836c3-64f1d8 | HTTP HEAD; content-length=538307 |
| 2026-09-01T06:01 | raw_ibge_fcu | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urba | etag |  |  | 8ab695-62666 | HTTP HEAD; content-length=9090709 |
| 2026-09-01T06:01 | raw_gu_sh_nucleo | https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows | sha256_corpo(2MB) |  |  | a5d3070aa070 | HTTP GET parcial 534 B |
| 2026-09-01T06:01 | raw_cajamar_dxf | https://cajamar.sp.gov.br/infraestrutura/wp-content/uploads/sites/20/2020/06/mac | etag | False | 5eea2897-103 | 5eea2897-103 | HTTP HEAD; content-length=17037853 |
| 2026-09-01T06:01 | raw_apa_cantareira_zoneamento_ff2020 | https://datageo.ambiente.sp.gov.br/geoportal/rest/document?id=%7B63470BF2-0DE8-4 | sha256_corpo(2MB) | False | 14c54e0dbe6d | 14c54e0dbe6d | HTTP GET parcial 10160 B |
| 2026-09-01T06:01 | questionario_resposta | https://cbre.iagrointel.com/q-<hash>/<token>/ | erro |  |  |  | HTTP Error 404: Not Found |
| 2026-09-01T06:01 | onr_praca_limite | https://gis-mapas.onr.org.br/onrgisserver/rest/services/Hosted | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:01 | onr_matricula | https://gis-mapas.onr.org.br/onrgisserver/rest/services/Hosted/imoveis_georrefer | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:01 | mogi_zede_sobreposicao | https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento | sha256_corpo(2MB) | False | 8294487e1a24 | 8294487e1a24 | HTTP GET parcial 2097152 B |
| 2026-09-01T06:01 | leilao_onus | https://www.megaleiloes.com.br/ | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:01 | leilao_historico | https://www.megaleiloes.com.br/leiloes-realizados | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:01 | leilao_documento | https://cdn1.megaleiloes.com.br/batches/ | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:01 | inundacao_oficial | https://rigeo.sgb.gov.br/handle/doc/15178 | etag |  |  | W/"2ef-19f37 | HTTP HEAD; content-length=751 |
| 2026-09-01T06:00 | imovel_situacao_uso | https://brasil.mapbiomas.org/ | sha256_corpo(2MB) |  |  | 30349c402a79 | HTTP GET parcial 548270 B |
| 2026-09-01T06:00 | hex_renda | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Cens | etag | False | 8ef99b-65154 | 8ef99b-65154 | HTTP HEAD; content-length=9370011 |
| 2026-09-01T06:00 | hex_rbcv | https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST= | sha256_corpo(2MB) | True | 8e834557fd17 | 890f7fd72db0 | HTTP GET parcial 416871 B |
| 2026-09-01T06:00 | hex_fatores_extra | https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCrimin | etag | False | 1dd088f712a2 | 1dd088f712a2 | HTTP HEAD; content-length=195899014 |
| 2026-09-01T06:00 | hex_carga_amp | https://www.ssp.sp.gov.br/assets/estatistica/transparencia/baseDados/veiculosSub | etag |  |  | 1dcfe84803df | HTTP HEAD; content-length=69435661 |
| 2026-09-01T06:00 | externa:sentinel2_l2a | https://earth-search.aws.element84.com/v1 | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:00 | externa:relevo_glo30 | https://copernicus-dem-30m.s3.amazonaws.com/Copernicus_DSM_COG_10_S23_00_W047_00 | etag | False | 6c2a956fc547 | 6c2a956fc547 | HTTP HEAD; content-length=42695944 |
| 2026-09-01T06:00 | estoque_fii | https://fnet.bmfbovespa.com.br/fnet/publico/abrirGerenciadorDocumentosCVM?cnpjFu | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:00 | com_zeis_regra | https://legislacao.prefeitura.sp.gov.br/leis/lei-16050-de-31-de-julho-de-2014 | sha256_corpo(2MB) |  |  | 08615ee1a7b2 | HTTP GET parcial 852602 B |
| 2026-09-01T06:00 | com_zeis | http://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs | erro |  |  |  | HTTP Error 400:  |
| 2026-09-01T06:00 | com_favela | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urba | sha256_corpo(2MB) |  |  | 96df42a88739 | HTTP GET parcial 21144 B |
| 2026-09-01T06:00 | car_uso | https://storage.googleapis.com/mapbiomas-public/initiatives/brasil/collection_10 | etag | False | dc8434523522 | dc8434523522 | HTTP HEAD; content-length=802022037 |
| 2026-09-01T06:00 | cad_lote | https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&re | sha256_corpo(2MB) | False | b30142ad9c15 | b30142ad9c15 | HTTP GET parcial 418208 B |
| 2026-09-01T06:00 | cad_galpao_oficial | https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=Get | sha256_corpo(2MB) | False | 3b8fc3e02fe7 | 3b8fc3e02fe7 | HTTP GET parcial 286768 B |
| 2026-09-01T06:00 | bdgd_sub_raw | https://www.arcgis.com/sharing/rest/content/items/afa54a48397745a2b2fbc550880aa2 | sha256_corpo(2MB) | False | fc80363ef20f | fc80363ef20f | HTTP GET parcial 2097152 B |
| 2026-09-01T06:00 | assemblagem | https://prefeitura.sp.gov.br/web/fazenda/w/acesso_a_informacao/31501 | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-09-01T06:00 | aruja_perimetro_urbano_lc42 | https://camaraaruja.sp.gov.br | sha256_corpo(2MB) | True | 75ee58ca7e38 | 2cbaf5d6c2b0 | HTTP GET parcial 85786 B |
| 2026-09-01T06:00 | aprm_ae | https://datageo.ambiente.sp.gov.br/geoserver/datageo/ows?service=WFS&request=Get | sha256_corpo(2MB) | False | 9c4d0361810c | 9c4d0361810c | HTTP GET parcial 610162 B |
| 2026-09-01T06:00 | anuncios | https://venda-imoveis.caixa.gov.br/listaweb/Lista_imoveis_SP.csv | etag | True | 35d31ed35137 | b77b3c54ad39 | HTTP HEAD; content-length=1220053 |
| 2026-09-01T06:00 | anuncio_geo | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Arquivos_CNEFE/CSV/Municip | erro |  |  |  | HTTP Error 404: Not Found |
| 2026-09-01T06:00 | acesso_polos | https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf | etag | True | 33042559-65a | 3306af2d-65a | HTTP HEAD; content-length=856076077 |
| 2026-08-31T17:54 | sanidade_banda |  | reexecucao | False |  |  | derivada de cbre.valor_referencia; reverificar quando ITBI/PGV/FII forem reingeridos |
| 2026-08-31T17:54 | sanidade_mercado |  | reexecucao | False |  |  | regra reavaliada a cada QA semanal (domingo 05:30) e a cada rebuild de cbre.mercado_il; bandas reverificadas a cada 90 dias com cbre.valor_referencia |
| 2026-08-31T16:13 | ssp_veiculo_subtraido | https://www.ssp.sp.gov.br/assets/estatistica/transparencia/baseDadosCelVeiEObjSu | manifesto JSON do portal + Last-Modified/content-length dos 3 arquivos anuais |  |  |  | base B publicada 17/06/2026 (2024/2025) e 28/07/2026 (2026); reverificar trimestralmente e sempre que o ano corrente virar semestre |
| 2026-08-31T16:13 | hex_carga_amp |  | derivada: recalcular quando ssp_carga_pontos ou ssp_veiculo_subtraido mudarem |  |  |  | kernel 2 km; P95 ampliado 3,087 gravado em cbre.fatores_extra_parametros |
| 2026-08-31T16:05 | uso_entrega | https://cbre.iagrointel.com/api/cbre/uso/saude | tabela viva: cresce a cada acesso ao link de entrega; conferir pelo /api/cbre/uso/saude ou pelo cartao "Uso da entrega" no hub |  |  |  | nao ha fonte externa para revalidar; o "frescor" e o proprio ultimo acesso registrado |
| 2026-08-31T13:14 | com_favela | https://dados.prefeitura.sp.gov.br/dataset/favelas | HEAD do recurso no CKAN | False |  |  | SEHAB publica trimestralmente; a versão em uso é de 06/2026 |
| 2026-08-31T13:14 | com_zeis_regra | https://leis.guarulhos.sp.gov.br/06_prefeitura/leis/leis_download/07888lei.pdf | sha256 do PDF consolidado | False |  |  | GATILHO: se a consolidação mudar, reler os arts. 16, 144 e 145 — é o que decide ZEIS 2 / ZEIS G em Guarulhos |
| 2026-08-31T13:14 | com_zeis | http://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs | GetFeature resultType=hits sobre perimetro_zona_lei_18177_24 | False |  |  | ZEIS de São Paulo muda por lei; reverificar anualmente ou quando houver revisão do PDE/LPUOS |
| 2026-08-31T13:14 | com_favela | https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&version=2.0 | GetFeature resultType=hits (contagem) | False |  |  | Guarulhos não declara data na camada: o gatilho é a contagem mudar (hoje 232) |
| 2026-08-31T13:14 | com_favela | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Favelas_e_comunidades_urba | HEAD (ETag/Last-Modified) | False |  |  | IBGE: reverificar anualmente; a malha mudou pela última vez em 08/11/2024 e as não setorizadas em 10/04/2026 |
| 2026-08-31T02:40 | questionario_resposta | https://cbre.iagrointel.com/q-572ecc8d7189/<token>/ | contagem diaria: select count(distinct token), count(*) from cbre.questionario_resposta (ou GET /api/cbre/questionario/saude); export com questionario/questionario_export.py | False |  |  | tabela viva: cresce quando a CBRE responde. Nasceu vazia em 31/08/2026. Conferir junto do QA semanal e sempre que o link for enviado a alguem novo. |
| 2026-08-31T02:36 | lote_serie_s2 | https://earth-search.aws.element84.com/v1/search | reexecutar pipeline/cadastro/60_lote_s2_serie.py com Y1 = ano corrente apos o fim da estacao seca (outubro); o script retoma por cena ja lida |  |  |  | serie anual — a proxima leitura util e outubro de 2027 (ou outubro de 2026 para fechar o ano de 2026 com as cenas de setembro) |
| 2026-08-31T02:32 | leilao_onus | mercado/run_leilao_onus.sh | releitura dos documentos dos lotes com praca nos proximos 30 dias |  |  |  | praca anda: reler junto do cron diario de leiloes (06:40) |
| 2026-08-31T02:29 | leilao_onus | mercado/run_leilao_onus.sh | releitura dos documentos dos lotes com praca nos proximos 30 dias |  |  |  | praca anda: reler junto do cron diario de leiloes (06:40) |
| 2026-08-29T19:27 | zoneamento_sao_paulo | https://wfs.geosampa.prefeitura.sp.gov.br/geoserver/geoportal/wfs?service=WFS&re | sha256_corpo(2MB) |  |  | b30142ad9c15 | HTTP GET parcial 418208 B |
| 2026-08-29T19:27 | zoneamento_santaisabel | https://web.archive.org/web/20181221150029/http://santaisabel.sp.gov.br/pmsiport | sha256_corpo(2MB) |  |  | 99d1cdb37216 | HTTP GET parcial 11248 B |
| 2026-08-29T19:27 | zoneamento_nazare | https://datageo.ambiente.sp.gov.br/geoportal/rest/document?id=%7B63470BF2-0DE8-4 | sha256_corpo(2MB) |  |  | 14c54e0dbe6d | HTTP GET parcial 10160 B |
| 2026-08-29T19:27 | zoneamento_mogi_das_cruzes | https://geomogi.mogidascruzes.sp.gov.br/mapa/zoneamento | sha256_corpo(2MB) |  |  | 8294487e1a24 | HTTP GET parcial 2097152 B |
| 2026-08-29T19:27 | zoneamento_mairipora | https://www.mairipora.sp.gov.br/cidadao/revisao-de-plano-diretor-participativo | sha256_corpo(2MB) |  |  | e35224b5c4af | HTTP GET parcial 109451 B |
| 2026-08-29T19:26 | zoneamento_itaqua | https://itaqua.sp.gov.br/arquivos/secretarias/planejamento-urbano/Mapas/ANEXO_II | last-modified |  |  | Mon, 15 Jun  | HTTP HEAD; content-length=14070921 |
| 2026-08-29T19:26 | zoneamento_guarulhos | https://geoserver.guarulhos.sp.gov.br:8443/geoserver/ows?service=WFS&request=Get | sha256_corpo(2MB) |  |  | 3b8fc3e02fe7 | HTTP GET parcial 286768 B |
| 2026-08-29T19:26 | zoneamento_cajamar | https://cajamar.sp.gov.br/infraestrutura/wp-content/uploads/sites/20/2020/06/mac | etag |  |  | 5eea2897-103 | HTTP HEAD; content-length=17037853 |
| 2026-08-29T19:26 | zoneamento_aruja | https://camaraaruja.sp.gov.br | sha256_corpo(2MB) |  |  | 75ee58ca7e38 | HTTP GET parcial 85621 B |
| 2026-08-29T19:26 | subestacoes_dist | https://www.arcgis.com/sharing/rest/content/items/afa54a48397745a2b2fbc550880aa2 | sha256_corpo(2MB) |  |  | fc80363ef20f | HTTP GET parcial 2097152 B |
| 2026-08-29T19:26 | hex_renda | https://ftp.ibge.gov.br/Censos/Censo_Demografico_2022/Agregados_por_Setores_Cens | etag |  |  | 8ef99b-65154 | HTTP HEAD; content-length=9370011 |
| 2026-08-29T19:26 | hex_rbcv | https://datageo.ambiente.sp.gov.br/geoserver/datageowms/ows?SERVICE=WMS&REQUEST= | sha256_corpo(2MB) |  |  | 8e834557fd17 | HTTP GET parcial 417846 B |
| 2026-08-29T19:26 | hex_fatores_extra | https://www.ssp.sp.gov.br/assets/estatistica/transparencia/spDados/SPDadosCrimin | etag |  |  | 1dd088f712a2 | HTTP HEAD; content-length=195899014 |
| 2026-08-29T19:26 | externa:sentinel2_l2a | https://earth-search.aws.element84.com/v1 | robots |  |  |  | robots.txt não permite; não tentado |
| 2026-08-29T19:26 | externa:relevo_glo30 | https://copernicus-dem-30m.s3.amazonaws.com/Copernicus_DSM_COG_10_S23_00_W047_00 | etag |  |  | 6c2a956fc547 | HTTP HEAD; content-length=42695944 |
| 2026-08-29T19:26 | estoque_logistico | https://download.geofabrik.de/south-america/brazil/sudeste-latest.osm.pbf | etag |  |  | 33042559-65a | HTTP HEAD; content-length=855909721 |
| 2026-08-29T19:26 | car_uso | https://storage.googleapis.com/mapbiomas-public/initiatives/brasil/collection_10 | etag |  |  | dc8434523522 | HTTP HEAD; content-length=802022037 |
| 2026-08-29T19:26 | aprm_ae | https://datageo.ambiente.sp.gov.br/geoserver/datageo/ows?service=WFS&request=Get | sha256_corpo(2MB) |  |  | 9c4d0361810c | HTTP GET parcial 610162 B |
| 2026-08-29T19:26 | anuncios | https://venda-imoveis.caixa.gov.br/listaweb/Lista_imoveis_SP.csv | etag |  |  | 35d31ed35137 | HTTP HEAD; content-length=1246734 |

---
Gerado por `pipeline/qa/catalogo_export.py`. Ausência de restrição na base não é certidão negativa. Nenhum dado pessoal.
