Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Open Source/RS-Visao-Real
Python

RS-Visao-Real

Esqueleto Python de referência para GIS e imagem de satélite em emergências no RS

5MITAtualizado em 29 de set. de 2026000 visualizações00 reproduções
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
#brazil#emergency-response#gis#moretes#open-source#portfolio#python#rio-grande-do-sul#satellite-imagery
Ver no GitHub Site
git clone https://github.com/fernandofatech/ref-rs-visao-real.git
Ouvir guia

cerca de 4 min · áudio gerado ao tocar

RS Visão Real é uma arquitetura de referência em Python, ainda em estágio de esqueleto, para trabalhar com imagem de satélite e GIS aplicados à resposta a emergências no Rio Grande do Sul.

Por que este repositório existe

As enchentes de maio de 2024 no Rio Grande do Sul expuseram um problema que quem trabalha com dados conhece bem: a imagem de satélite existe, o mapa existe, mas entre o dado bruto e uma decisão de campo ficam horas de trabalho manual. O nome e os tópicos deste repositório (satellite-imagery, gis, emergency-response, rio-grande-do-sul) apontam para esse espaço: transformar imagem em leitura objetiva do que está acontecendo no território.

Quero ser direto sobre o estado atual. O README descreve o tipo do projeto (arquitetura de referência), a stack (Python), como montar o ambiente e a estrutura src/ e tests/. Ele não documenta pipeline de processamento, fonte de imagem, formato de saída nem API. Este guia não vai inventar essas partes.

O que dá para afirmar com segurança é o contrato de engenharia: ambiente isolado em venv, dependências declaradas em requirements.txt, código separado de teste e uma esteira de CI herdada de um repositório central.

Por que isso importa: em resposta a emergência, o código que sobrevive não é o mais esperto, é o que outra pessoa consegue rodar às duas da manhã sem precisar falar comigo. Um esqueleto previsível vale mais que uma demo brilhante que só roda na minha máquina.

O que você encontra hoje

Stack: Python puro, com ambiente isolado em .venv e dependências em requirements.txt.
Layout: código em src/, testes em tests/, sem nada misturado na raiz.
Domínio: GIS e imagem de satélite para resposta a emergências no Rio Grande do Sul, segundo os tópicos do repositório.
Esteira: pr-lint, CI, segurança e release vêm dos workflows reutilizáveis do platform.
Versionamento: a versão sai dos Conventional Commits; ninguém escreve número de versão à mão.

Como o repositório está organizado

A estrutura é deliberadamente mínima:

src/
tests/
requirements.txt

src/: onde mora o código do projeto. Separar o código de produção num diretório próprio evita o erro clássico de importar o módulo local em vez do instalado e mascarar bug de empacotamento.

tests/: testes isolados do código. Em projeto geoespacial isso pesa mais que o normal: uma mudança de projeção cartográfica ou de ordem de coordenadas (latitude/longitude contra longitude/latitude) não quebra nada em tempo de execução, só desloca o resultado no mapa. Teste é o único lugar onde esse tipo de erro silencioso aparece.

requirements.txt: a lista de dependências. Abra esse arquivo antes de assumir qualquer biblioteca. O ecossistema geoespacial em Python é rico, mas não afirmo aqui quais bibliotecas este repositório usa: quem decide é o arquivo, não o guia.

A escolha de Python não é acidental para esse domínio. É a linguagem em que a maior parte das ferramentas de sensoriamento remoto e análise espacial tem binding maduro, e é a que analista de geoprocessamento já lê. Num cenário de emergência, isso reduz o tempo entre alguém novo chegar e alguém novo contribuir.

Instalação geoespacial pode falhar fora do Python

Se o requirements.txt trouxer bibliotecas com dependência nativa (GDAL, por exemplo), o pip install pode exigir pacotes de sistema que o venv não instala. O erro aparece como falha de compilação, não como dependência faltando. Confira o arquivo e o sistema operacional antes de culpar o código.

Instalar e usar

  1. 1

    Clone o repositório

    git clone https://github.com/fernandofatech/ref-rs-visao-real.git e entre no diretório com cd ref-rs-visao-real.

  2. 2

    Crie o ambiente isolado

    python3 -m venv .venv && source .venv/bin/activate. Nunca instale direto no Python do sistema: conflito de versão de biblioteca geoespacial é difícil de desfazer.

  3. 3

    Instale as dependências

    pip install -r requirements.txt. Se falhar na compilação, veja o aviso acima sobre dependências nativas.

  4. 4

    Leia src/ e tests/ antes de rodar

    Como o README não documenta ponto de entrada, os testes são a melhor descrição do comportamento esperado. Comece por eles.

  5. 5

    Rode os testes

    Se o pytest estiver nas dependências, python -m pytest tests roda a suíte. Se não estiver, instale no venv antes.

  6. 6

    Contribua seguindo a convenção

    Branch no formato <tipo>/<escopo> (feat/, fix/, chore/, docs/) e título de PR em Conventional Commits. O pr-lint recusa o resto.

Quickstart: do clone ao ambiente pronto
bash
git clone https://github.com/fernandofatech/ref-rs-visao-real.git
cd ref-rs-visao-real
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
ls src tests
# se o pytest estiver instalado / if pytest is installed
python -m pytest tests

Como o repositório funciona hoje

O fluxo real documentado: ambiente local isolado, código e testes separados, e uma esteira que vem de fora do repositório.

💻 Local: ambiente
  • .venv · Python isolado
  • requirements.txt · dependências
  • src/ · código
  • tests/ · verificação
🔧 CI: platform
  • pr-lint · Conventional Commits
  • CI + segurança · workflows reutilizáveis
  • release · versão pelos commits
🌐 Externo
  • fernandofatech/platform · fonte da régua

Convenções e esteira

Este repositório não define a própria esteira. Ele segue as convenções de fernandofatech/platform, e isso é uma decisão de manutenção, não de preguiça.

Branch: <tipo>/<escopo>, com feat/, fix/, chore/ ou docs/.

Commit e título de PR: Conventional Commits. O pr-lint barra o que não segue o formato.

Versão: sai dos commits. Ninguém escreve número de versão à mão, então não existe o PR que esquece de subir a versão nem o que sobe duas vezes.

Pipeline: pr-lint, CI, segurança e release vêm de workflows reutilizáveis. Corrigir a régua é mudar um arquivo lá, não aqui.

O custo de manter CI não é escrever o primeiro YAML, é manter dezenas de cópias alinhadas por anos. Com vários repositórios de referência no portfólio, cada um com sua própria esteira, uma correção de segurança no scanner viraria dezenas de PRs quase idênticos. Centralizar troca isso por uma mudança só. O trade-off é real: quem clona este repositório sozinho não vê a definição da esteira localmente e precisa ir ao platform para entender por que um PR foi recusado.

Perguntas frequentes

Posso usar isto em produção numa emergência real?

Não como está. É uma arquitetura de referência em estágio de esqueleto: o README não documenta pipeline, fonte de imagem nem formato de saída. Use como ponto de partida estruturado, não como ferramenta pronta.

Qual satélite ou fonte de imagem o projeto usa?

O README não diz. Leia src/ e requirements.txt para ver o que está de fato implementado antes de assumir uma fonte.

Como contribuo?

Abra uma branch <tipo>/<escopo>, escreva commits em Conventional Commits e abra o PR. A esteira do platform faz lint, CI, segurança e release.

Referências

GitHub: fernandofatech/ref-rs-visao-realFernando Moretes (homepage)fernandofatech/platformConventional Commits

Para quem é

Use este repositório quando você quer começar um projeto Python de GIS ou imagem de satélite para resposta a emergência e precisa de uma base com ambiente isolado, testes separados e esteira padronizada desde o primeiro commit. Não use quando você precisa de uma ferramenta pronta para analisar imagem amanhã: o esqueleto entrega disciplina de engenharia, não processamento geoespacial documentado.

Curte open source e arquitetura? Receba mais.

Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.

Sem spam · cancele quando quiser

Guia gerado com IA a partir do repositório e do README. · Fonte

Continue lendo

Pythonmcp-aws-solution-architectServidor MCP bilíngue com 5 ferramentas determinísticas para arquitetura AWSLer Pythonbedrock-agent-starterStarter de agente no Bedrock com tools, memória, Terraform e evals já ligadosLer HTMLsolution-architecture-mcp-toolkitADR, Well-Architected e threat model como ferramentas que um agente de IA chamaLer