Martin - servidor de tiles vetoriais em tempo real de alto desempenho baseado em PostGIS
(github.com/maplibre)Problemas práticos que aparecem ao implementar um serviço de mapas
Normalmente, quando se tenta implementar um mapa por conta própria, surgem dúvidas em quatro pontos.
1. A dificuldade de atualizar os dados
- Problema: Um novo edifício foi adicionado ao DB, mas para redesenhar o mapa (Tile Generation) é preciso passar toda vez por um processo de pré-processamento que leva horas.
- Abordagem do Martin: Não existe processo de pré-processamento. No momento em que o usuário visualiza o mapa, ele lê as coordenadas mais recentes do DB e renderiza na hora.
2. O limite dos recursos do servidor
- Problema: Os dados de mapa são grandes e há muitas requisições, então o servidor trava ou fica lento com facilidade.
- Abordagem do Martin: Com o controle de baixo nível característico da linguagem Rust, o uso de memória foi reduzido ao extremo. Ele aguenta muitas requisições mesmo em servidores modestos.
3. Gestão fragmentada dos dados
- Problema: Alguns dados estão no PostgreSQL, enquanto outros ficam em arquivos grandes (MBTiles), aumentando os pontos de administração.
- Abordagem do Martin: Um único servidor lê vários formatos de dados ao mesmo tempo e os unifica em um só padrão. O desenvolvedor só precisa chamar uma API, sem se preocupar com a origem dos dados.
4. O desgaste com configurações secundárias
- Problema: Para colocar um mapa no ar, além dos dados de tiles, é preciso cuidar de fontes, ícones, arquivos de estilo e muito mais.
- Abordagem do Martin: Ele inclui funções para gerar ou servir internamente esses assets auxiliares. Não é necessário adicionar configurações extras de serving.
Ele se parece mais com um utilitário que resolve toda a parte chata intermediária até os dados aparecerem na tela. É um projeto que reduz o retrabalho repetitivo de quem constrói um sistema GIS do zero.
Ainda não há comentários.