← Voltar ao portfólio

Plataforma Geoespacial

Uma ferramenta de mapas interativa com importação de Shapefile/GeoJSON e um app React Native offline para coleta de dados em campo.

Engenheiro Full-Stack & Mobile2022
  • Mapbox GL JS
  • React Native
  • Expo
  • GeoJSON
  • PostgreSQL
  • TypeScript
Capa do estudo de caso da Plataforma Geoespacial

Desafio

Times de campo precisavam coletar e editar dados geoespaciais em lugares sem conectividade, e depois vê-los num mapa interativo rico de volta no escritório — importando datasets existentes (Shapefile / GeoJSON) sem um especialista em GIS no meio.

Solução

Construí uma ferramenta web de mapas sobre Mapbox GL JS, com importação de Shapefile/GeoJSON e gerenciamento de camadas, junto com um app React Native (Expo) com capacidade offline. Os dados de campo são capturados offline, enfileirados e sincronizados quando a conexão volta, e então renderizados como camadas interativas na web.

Visão geral

A plataforma faz a ponte entre campo e escritório: capture dados geoespaciais em qualquer lugar — com ou sem internet — e veja-os como camadas de mapa limpas e interativas no momento em que sincronizam.

Construção

  • Mapas web — o Mapbox GL JS renderiza camadas vetoriais com importação de Shapefile e GeoJSON, então datasets existentes entram direto.
  • Mobile offline-first — um app React Native (Expo) captura pontos e geometrias sem sinal, persistindo localmente e enfileirando mudanças.
  • Pipeline de sync — edições enfileiradas reconciliam na reconexão, com tratamento de conflito para que o trabalho de campo nunca se perca.

Por que se destaca

A restrição difícil era offline — o app tinha que ser genuinamente útil com zero conexão e confiável quando finalmente sincronizava. Essa confiabilidade foi o que o tornou usável em campo.

Impacto

  • Mapas web interativos sobre Mapbox GL JS
  • Importação de Shapefile / GeoJSON com gerenciamento de camadas
  • App React Native offline-first para captura em campo
  • Pipeline de fila-e-sync resiliente à falta de conexão
  • Dados de campo renderizados como camadas interativas de mapa