15 pontos por GN⁺ 2026-01-27 | 1 comentários | Compartilhar no WhatsApp
  • MapLibre Tile (MLT) é um novo formato de vetor tile de próxima geração que substitui o Mapbox Vector Tile (MVT) existente, projetado para aumentar a eficiência no processamento de grandes volumes de dados geoespaciais
  • Oferece taxa de compressão até 6 vezes melhor e desempenho rápido de decodificação com base em SIMD, melhorando espaço de armazenamento, latência e eficiência de cache
  • Foi projetado para ser expansível no futuro, com suporte planejado para coordenadas 3D (elevação), processamento baseado em GPU, tipos de dados compostos, referência linear e m-values
  • Já pode ser usado imediatamente no MapLibre GL JS e no MapLibre Native, com suporte a tiles de demonstração, servidor de conversão e geração via Planetiler
  • É um formato desenvolvido pela colaboração entre a comunidade open source, empresas e academia, concluído com patrocínio da Microsoft e da AWS

Introdução ao MapLibre Tile

  • MapLibre Tile (MLT) é o formato sucessor do [Mapbox Vector Tile (MVT)], redesenhado do zero para lidar com o rápido crescimento do volume de dados geoespaciais e com formatos de origem complexos de próxima geração

    • Foi projetado para aproveitar o desempenho de hardware moderno e APIs gráficas, permitindo processar e renderizar com alto desempenho basemaps 2D e 2.5D em escala planetária
    • A implementação atual é funcionalmente equivalente ao MVT, mas traz melhorias em desempenho e eficiência
  • Principais melhorias técnicas

    • Melhoria na compressão: até 6 vezes melhor em tiles grandes, com aplicação de layout orientado a colunas e codificação leve recursiva
    • Melhoria no desempenho de decodificação: estrutura de codificação rápida e leve, compatível com instruções SIMD/vetorizadas
    • Como resultado, há redução de latência, queda nos custos de armazenamento e transmissão e melhor aproveitamento de cache

Possibilidades de expansão futura

  • O MLT foi projetado considerando o suporte a recursos futuros como os seguintes

    • Reforço do suporte a coordenadas 3D (elevação)
    • Otimização de formatos de armazenamento e memória para processamento eficiente em CPU e GPU
    • Suporte a referência linear (linear referencing) e m-values, tornando-o compatível com formatos de próxima geração como o Overture Maps (GeoParquet)
    • Suporte a tipos compostos como atributos aninhados, listas e mapas
  • A direção de evolução do MLT será definida de acordo com as necessidades da comunidade, e diversas ideias de extensão e contribuições são bem-vindas

    • Materiais relacionados incluem os slides da apresentação na FOSS4G 2024 de Markus Tremmel, a palestra no YouTube e um artigo da ACM

Disponibilidade e integração

  • O MLT está disponível para uso imediato

    • Tanto o MapLibre GL JS quanto o MapLibre Native oferecem suporte a fontes MLT
    • É possível usá-lo definindo o valor mlt na propriedade encoding do JSON de estilo
  • Como experimentar e desenvolver

  • Para compartilhar experiências com o uso de MLT, recomenda-se participar do canal #maplibre-tile-format no Slack ou de issues/discussions no GitHub

Agradecimentos e colaboração

  • O MLT foi desenvolvido por meio de anos de colaboração entre academia, open source e empresas
    • Markus Tremmel idealizou o formato, e Yuri Astrakhan liderou o projeto
    • Tim Sylvester foi responsável pela implementação em C++, enquanto Harel Mazor, Benedikt Vogl e Niklas Greindl cuidaram da implementação em JavaScript
    • Microsoft e AWS financiaram o desenvolvimento

Observação

  • Diferentemente do MVT, o MLT não oferece suporte a camadas em que o tipo dos valores dentro de uma coluna varia entre features

1 comentários

 
GN⁺ 2026-01-27
Comentários do Hacker News
  • Recomendo assistir à apresentação do MapLibre no devroom de Geospatial da FOSDEM no sábado
    Link da programação do evento

    • Eu iria com certeza se ainda houvesse lugar 😄
  • Dei uma olhada rápida nas páginas de exemplo e comparei o exemplo de exibição de mapa com MLT com o exemplo atual de exibição de mapa
    Pelos logs do console, deu para ver uma melhora de cerca de 10% na eficiência de compressão. Bastante impressionante

    • Mas o estilo de tiles da demo é difícil de comparar com um basemap de produção baseado em OpenMapTiles de verdade
      O formato MLT já vem com várias codificações leves embutidas, e cada tile também pode ser codificado de forma diferente
      Por isso, é necessário um método heurístico para encontrar a melhor combinação, e existe um trade-off entre tamanho do tile e desempenho de decodificação
      Ainda está no começo, mas a AWS continua patrocinando o trabalho de otimização do MLT neste ano, então ainda há bastante espaço para melhorias
      Na hora de fazer benchmark, é mais importante observar os padrões reais de uso do que o tamanho total dos tiles — afinal, ninguém dá zoom no meio do oceano 😉
  • Recentemente publiquei uma solução baseada em pmtiles e estou muito satisfeito
    Veja a documentação do PMTiles
    O pmtiles usa MVT, mas espero que no futuro apareçam ferramentas para converter para MLT

    • Na verdade, o PMTiles é independente do formato de tile. Já existe um PR atualizando o type byte para incluir MLT
    • O PMTiles pode armazenar não só MVT, mas também PNG, JPEG, WebP, AVIF e vários outros formatos. Veja a documentação da especificação
    • Eu construo PMTiles com Tilemaker, então parece que vai dar um bom trabalho gerar MLT com Tilemaker 😅
    • pmtiles é realmente uma solução simples e inovadora
  • MapLibre é a melhor biblioteca JS que já usei para exibir mapas no navegador
    Fico animado em pensar na migração para o novo formato

    • Concordo totalmente 👍
  • No Planetiler, já é possível gerar MLT com a opção de CLI --tile-format=mlt
    Por enquanto isso só está na branch main, mas deve sair em release em breve
    Nos testes, o tamanho do arquivo OpenMapTiles caiu cerca de 10% com a configuração padrão. Mais otimizações estão em andamento

  • Infelizmente, o Tilemaker não tem planos de suportar MLT no médio prazo
    Então parte da comunidade pode acabar ficando de fora da migração
    Veja a discussão na thread da issue

    • Mesmo assim, a conversão ainda é possível depois. Há um programa conversor em Java no repositório que transforma MVT em MLT
  • É interessante ver que formatos de arquivo vetorial ainda estão sendo reinventados
    Eu entendo os ganhos em taxa de compressão e velocidade de decodificação, mas queria saber quais novas ideias ou insights motivaram esse design

  • Estou acompanhando este projeto há algum tempo e estou realmente animado
    Para quem usa a stack do MapLibre, acho que o último grande passo é adicionar uma função As_MLT() ao PostGIS

    • E também seria necessário suporte no Geoserver
  • Alguém aqui faz self-hosting de mapas? Queria saber os prós e contras e quais ferramentas vocês usam

    • Nós fazemos self-hosting de protomaps (pmtiles) há alguns anos
      O servidor só precisa conseguir servir arquivos estáticos com range request (tanto Caddy quanto Nginx servem)
      Como o mapa é um único arquivo grande, também é fácil compartilhá-lo entre vários servidores
      Quase não há desvantagens, mas é preciso adicionar uma biblioteca de suporte a protocolo customizado no lado do cliente
      Editar estilos é um pouco chato, mas dá para carregar e modificar estilos do protomaps no editor Maputnik
      Veja o guia
    • Eu também faço self-hosting com pmtiles para um mapa de localizador de lojas na Austrália
      Criei separadamente um mapa mundial em baixa resolução (50MB) e um mapa da Austrália em alta resolução (900MB), e subi ambos para o S3
      Como eu não preciso de dados atualizados, deixo assim mesmo, e funciona muito bem
    • Em um projeto de produção de mapas em alta resolução para impressão, self-hosting também foi a única solução possível
      As APIs comerciais tinham custo alto demais para gerar raster a 300dpi ou impunham restrições de revenda
    • Eu também faço self-hosting. A vantagem é ter controle total sobre os dados e a stack, e a desvantagem é precisar montar a stack por conta própria e gerenciar a infraestrutura na nuvem
      Armazeno e sirvo tiles vetoriais com PostGIS, e guardo os dados raster no AWS S3 em formato GeoTiff COG
    • Nós usamos mod_tile+renderd
      Geramos o pbf do OSM para a área de interesse (Colorado), subimos o container openstreetmap-tile-server e aplicamos o estilo para renderizar com renderd
  • O MLT também é legal, mas eu gostaria de ver esse tipo de avanço acontecer também nos formatos de tiles 3D
    Hoje, o 3D Tiles da Cesium é praticamente a única opção, mas o desempenho não é tão rápido quanto eu esperava