Arquitetura de alto nível
A VortixGeo é organizada em quatro camadas: ingestão, armazenamento geoespacial, serviço e apresentação. Uma frota de DAGs do Apache Airflow mantém o acervo atualizado; o PostGIS guarda a geometria; um backend FastAPI e um servidor de tiles expõem os dados; e duas aplicações web entregam a experiência ao usuário.
Camadas
Ingestão (Apache Airflow)
Uma frota de DAGs cuida de três tipos de trabalho:
- Ingestão de bases — baixa e normaliza dados oficiais (CAR, PRODES, DETER, focos de fogo, assentamentos INCRA, unidades de conservação, etc.) para tabelas PostGIS particionadas.
- Checks de compliance — executa as verificações espaciais e documentais que alimentam o score.
- RPA de certidões — robôs que emitem certidões (CNDT, CRF/FGTS, trabalho escravo, junta comercial, registro civil) sob demanda.
Veja Ingestão de dados.
Armazenamento
- PostgreSQL 16 + PostGIS guarda toda a geometria (imóveis, alertas, focos, camadas de referência). Tabelas de grande volume (alertas de desmatamento, focos de fogo) são particionadas por tempo.
- Cloudflare R2 guarda objetos: relatórios PDF, tiles vetoriais gerados, arquivos brutos de ingestão e logs.
Serviço
- Backend FastAPI expõe a API de consultas, orquestra a geração de relatórios e serve os endpoints de monitoramento.
- pg_tileserv publica vector tiles (MVT) diretamente do PostGIS para os mapas.
- Spark + Apache Sedona e Tippecanoe rodam sob demanda (em contêineres efêmeros) para processamento pesado e geração de tiles.
Apresentação
Três frentes de interface consomem a API e os tiles:
- Dashboard — visão operacional e mapas de monitoramento.
- Consult-bank — portal de compliance para instituições financeiras.
- Agro — painel dos índices climáticos e de sanidade.
Veja Módulos.
Fluxo de uma consulta de compliance
A consolidação do score é determinística e vive em uma camada de semântica de resultados isolada (Python puro, testável): ela classifica cada verificação, avalia a gravidade do achado e consolida a nota final. Veja Scoring de compliance.