Um visualizador de MBTiles vetoriais que funciona no navegador
Um arquivo MBTiles é um mapa em blocos inteiro dentro de um único arquivo. Lá dentro existe um pequeno banco de dados SQLite: uma tabela com os blocos e outra com informações sobre eles. Os MBTiles vetoriais guardam Mapbox Vector Tiles, blocos binários compactos com ruas, prédios, rios, limites e seus atributos, prontos para receber o estilo de um app de mapas. Eles são criados com ferramentas como tippecanoe, Planetiler, OpenMapTiles e QGIS, e estão por trás de muitos mapas MBTiles offline e hospedados por conta própria.
O problema começa quando você quer olhar dentro. O computador não sabe abrir o arquivo, os visualizadores de imagem não veem nada e a maioria dos visualizadores online só mostra blocos raster. Para ver um MBTiles vetorial, normalmente você precisa de um servidor de blocos, um estilo e um pouco de JavaScript, ou de um programa de SIG completo. Este visualizador de MBTiles vetoriais online pula tudo isso: solte o arquivo, e ele lê o banco de dados, decodifica os blocos vetoriais no navegador e desenha cada camada no mapa com sua própria cor.
Ele foi feito tanto para conferir quanto para ver. Você pode clicar em qualquer feição para ler os atributos, ligar e desligar camadas, ver quanto pesam os blocos em cada nível de zoom e quais são os maiores, e conferir o arquivo pelas especificações do MBTiles e dos blocos vetoriais. No fim, exporte as feições da vista em GeoJSON, salve um PNG do mapa ou baixe um relatório técnico para um colega ou cliente. Minha opinião: rode as verificações antes de colocar um tileset em um servidor. A maioria dos problemas de "meu mapa aparece em branco" é uma linha de metadados faltando ou uma faixa de zoom errada, e é bem mais fácil corrigir antes de publicar.
O que o visualizador de MBTiles vetoriais faz
Aqui está tudo o que a ferramenta faz, na ordem em que você vai encontrar.
- Abra o arquivo. Arraste um arquivo .mbtiles para o mapa ou clique em "Abrir MBTiles". Arquivos de até 300 MB abrem no navegador com o motor SQLite sql.js. "Testar um exemplo" carrega um pequeno tileset mundial com países, lagos, rios e cidades, para você ver a ferramenta funcionando na hora.
- Veja o mapa na hora. A ferramenta lê a extensão e o centro dos metadados e aproxima dos dados. Cada camada é desenhada em um canvas com sua própria cor: polígonos como preenchimentos claros, linhas como traços e pontos como círculos. Nomes de camada comuns como water, landuse, building, transportation e place recebem cores naturais.
- Trabalhe com as camadas. A aba Camadas lista cada camada dos metadados e dos blocos com seus tipos de geometria, o número de feições em uma amostra e todos os campos com um valor de exemplo. Ligue e desligue camadas, clique em "Só esta" para ver uma camada sozinha ou clique no quadradinho de cor para escolher sua própria cor.
- Clique para inspecionar feições. Clique no mapa e um cartão mostra cada feição naquele ponto nas camadas visíveis: camada, tipo de geometria, ID e todos os atributos. A feição fica destacada no mapa, e você pode copiá-la como GeoJSON ou baixar o bloco inteiro como arquivo .pbf bruto.
- Leia as informações do arquivo. A aba Arquivo mostra os metadados em palavras simples: nome, descrição, atribuição, versão, formato, compactação, faixa de zoom, extensão, centro, a ferramenta que o gerou (por exemplo tippecanoe) e o tamanho do arquivo e dos dados dos blocos.
- Confira os blocos. A aba Blocos mostra o número de blocos, o tamanho total, médio e máximo por nível de zoom e os dez maiores blocos do arquivo. Clique em "Ver" para ir até um bloco. A opção de grade desenha cada borda de bloco com seu z/x/y e tamanho.
- Rode as verificações. A aba Verificações testa o arquivo: tabela tiles, metadados, formato, compactação, a lista vector_layers do json, camadas fora dos metadados, extensão, centro, a faixa de zoom comparada aos blocos reais, blocos acima de 500 KB e atribuição. Cada verificação aparece como OK, aviso ou erro, com uma explicação simples.
- Aproxime além dos dados. Os blocos vetoriais continuam nítidos quando você aproxima além do último nível de zoom, então o visualizador continua desenhando os blocos mais profundos ampliados ("overzoom"). Abaixo do primeiro nível, um aviso pede para você aproximar.
- Ajuste a exibição. Mude a opacidade do preenchimento e a espessura da linha, ligue ou desligue os rótulos de lugares e adicione um mapa de ruas ou de satélite para se orientar. Sem mapa base, nada é carregado de outros servidores.
- Exporte. Baixe as feições visíveis em GeoJSON, a vista do mapa em PNG, os metadados em JSON ou um relatório técnico com as verificações, camadas, campos, estatísticas dos blocos e recomendações.
O arquivo é lido com JavaScript e WebAssembly dentro da aba do navegador. Ele nunca é enviado, então o visualizador é seguro também para dados privados ou licenciados.
Como ver um arquivo MBTiles vetorial, passo a passo
Um exemplo real com o tileset mundial de exemplo (dados do Natural Earth, zoom 0 a 5).

A ferramenta abre com um mapa vazio e uma área para soltar arquivos. Arraste seu arquivo .mbtiles, clique para escolher um arquivo ou clique em "Testar um exemplo".

O visualizador lê o banco SQLite, aproxima da extensão e desenha as quatro camadas: países como preenchimentos cinza, lagos em azul, rios como linhas azuis e cidades como pontos vermelhos com rótulos.

A aba Camadas lista cada camada com sua geometria, as feições encontradas em uma amostra e cada campo com um valor de exemplo. Aqui só rios e cidades estão ligados, com a vista sobre a Europa.

Clique em uma cidade. O cartão mostra a camada, o tipo de geometria, o ID e todos os atributos, e a feição fica destacada. Você pode copiá-la como GeoJSON ou baixar o bloco de onde ela veio.

A aba Arquivo transforma a tabela metadata em informações claras: nome, atribuição, formato, compactação gzip, zoom 0 a 5, extensão, centro e tamanho do arquivo.

A aba Blocos mostra blocos e tamanhos por nível de zoom e os maiores blocos. Com a grade ligada, cada borda de bloco é desenhada com seu z/x/y e tamanho guardado.

A aba Verificações testa o arquivo pelas regras do MBTiles e dos blocos vetoriais. O exemplo passa em todas; um arquivo real costuma mostrar um ou dois avisos, cada um com sua explicação.

O relatório técnico reúne em uma página o resumo, uma prévia do mapa, as verificações, os metadados, cada camada e campo, as estatísticas dos blocos e recomendações. Imprima ou salve em PDF.
Como abrir um arquivo MBTiles: suas opções
Existem várias formas de abrir um arquivo MBTiles. A certa depende do que você quer: só olhar, conferir ou usar em um projeto.
- No navegador, com este visualizador. O jeito mais rápido de ver o que há dentro de um arquivo vetorial: sem instalar nada, sem servidor, no Windows, Mac, Linux e em tablets. Ideal para conferir um tileset, ler atributos e compartilhar um relatório. Para MBTiles raster (blocos PNG, JPEG, WebP), use o visualizador de MBTiles deste site.
- No QGIS. O QGIS 3.14 ou mais novo abre MBTiles vetoriais direto: arraste o arquivo para o mapa ou use Camada → Adicionar camada → Adicionar camada de blocos vetoriais. MBTiles raster abrem em Camada → Adicionar camada → Adicionar camada raster. Bom para combinar os blocos com outros dados de SIG.
- Com um servidor de blocos. TileServer GL, Martin e mbtileserver leem um arquivo MBTiles e servem seus blocos por HTTP, para que um mapa web no MapLibre GL JS, Mapbox GL JS ou Leaflet possa usá-los. É assim que os mapas MBTiles costumam ser publicados.
- Como PMTiles. Converta o arquivo para PMTiles (há um conversor grátis neste site) e coloque esse único arquivo em qualquer hospedagem estática ou armazenamento de objetos. O MapLibre lê direto, sem servidor de blocos.
- No celular ou GPS. Muitos apps de mapa offline carregam arquivos MBTiles para uso sem conexão. Confira qual formato de bloco o app espera: alguns só aceitam blocos raster.
- Como banco de dados. Como MBTiles é SQLite, o DB Browser for SQLite ou a linha de comando sqlite3 também abrem o arquivo. Você vê as tabelas e os blobs binários, não o mapa, mas é útil para corrigir uma linha de metadados.
Uma coisa é igual em todo lugar: um arquivo MBTiles traz dados, não um estilo. Cada app decide como colorir as camadas. Este visualizador escolhe as cores automaticamente para você ver a estrutura sem escrever um estilo antes.
Como o visualizador lê e desenha blocos vetoriais
Abrir um MBTiles vetorial leva quatro passos: ler o banco SQLite, achar o bloco certo, descompactar e decodificar e, por fim, desenhar. Veja exatamente o que acontece, com as fórmulas.
1. O banco de dados MBTiles
Um arquivo MBTiles é um banco SQLite com duas tabelas obrigatórias. O visualizador o carrega na memória com o sql.js, uma versão do SQLite compilada para WebAssembly, e roda consultas SQL comuns:
CREATE TABLE metadata (name text, value text);
CREATE TABLE tiles (zoom_level integer, tile_column integer,
tile_row integer, tile_data blob);
linhas de metadata: name, format = pbf, minzoom, maxzoom, bounds,
center, attribution, description, json, …
estatísticas: SELECT zoom_level, COUNT(*), SUM(LENGTH(tile_data)),
MAX(LENGTH(tile_data)) FROM tiles GROUP BY zoom_levelAlguns arquivos guardam tiles como uma visão sobre duas tabelas (map e images), para que blocos idênticos, como o oceano vazio, sejam guardados uma só vez. O visualizador lida com as duas estruturas e informa qual o seu arquivo usa.
2. Da posição no mapa à linha do bloco: a inversão TMS
Um mapa web numera os blocos de cima para baixo (a linha 0 fica no norte). O MBTiles segue o esquema TMS, mais antigo, e numera as linhas de baixo para cima. Por isso cada pedido de bloco inverte a linha:
n = 2^z blocos por lado no zoom z x = ⌊(λ + 180) / 360 × n⌋ y = ⌊(1 − ln(tan φ + sec φ) / π) / 2 × n⌋ linha do mapa web (a partir do norte) tile_row = n − 1 − y linha do MBTiles (a partir do sul) exemplo z = 5, x = 16, y = 10 → tile_row = 32 − 1 − 10 = 21
Esquecer essa inversão é o erro mais comum em leitores de MBTiles caseiros: o mapa mostra o hemisfério sul onde deveria estar o norte. Se o seu próprio app desenha os dados de cabeça para baixo ou no lugar errado, confira isso primeiro.
3. Descompactar o bloco
Blocos vetoriais quase sempre vêm compactados. O visualizador lê os primeiros bytes do bloco para saber como e o descompacta com o DecompressionStream embutido no navegador:
1F 8B … gzip (a maioria: tippecanoe, Planetiler, OpenMapTiles) 78 01/5E/9C/DA zlib (algumas ferramentas antigas) qualquer outro sem compactação 89 50 4E 47 PNG ┐ FF D8 JPEG ├ blocos raster: não é um arquivo vetorial 52 49 46 46 WebP ┘
A mesma verificação reconhece MBTiles raster mesmo quando os metadados estão errados, e envia você ao visualizador raster em vez de mostrar um mapa vazio.
4. Decodificar o protobuf
Um Mapbox Vector Tile é uma mensagem Protocol Buffers. Os números são guardados como varints: 7 bits por byte, e o 8º bit diz "vêm mais bytes". Valores com sinal usam codificação zigzag, para que números negativos pequenos continuem curtos:
varint 300 = 1010 1100 0000 0010 → 0101100 + 0000010 × 128 = 300
zigzag 0 → 0, −1 → 1, 1 → 2, −2 → 3, 2 → 4
decodificar: n = (z >>> 1) ^ −(z & 1)
Tile { layers = 3 }
Layer { name = 1, features = 2, keys = 3, values = 4, extent = 5, version = 15 }
Feature { id = 1, tags = 2, type = 3, geometry = 4 }
tags [índice da chave, índice do valor, índice da chave, índice do valor, …]Nomes e valores dos atributos são guardados uma só vez por camada, nas listas keys e values. Cada feição guarda só pares de índices, por isso os blocos vetoriais são tão compactos. O decodificador do visualizador foi escrito a partir da especificação e testado contra o decodificador de referência da Mapbox em mais de 350.000 feições, sem nenhuma diferença.
5. Comandos de geometria
A geometria é uma lista de comandos. Cada inteiro de comando traz um id de comando e uma contagem; os parâmetros que seguem vêm em zigzag e são relativos ao ponto anterior. As coordenadas ficam em unidades de bloco, de 0 a 4096 de lado a lado por padrão (o "extent"):
comando = (contagem << 3) | id MoveTo = 1, LineTo = 2, ClosePath = 7
9 = (1 << 3) | 1 MoveTo, 1 ponto
parâmetros 50, 34 → +25, +17 cursor (25, 17)
18 = (2 << 3) | 2 LineTo, 2 pontos
parâmetros 0, 18, 18, 0 → (25, 26), (34, 26)
15 = (1 << 3) | 7 ClosePath
anéis de polígono: área > 0 anel externo (sentido horário na tela)
área < 0 buraco
área = ½ Σ (x_j·y_i − x_i·y_j) fórmula de Gauss, y para baixoO sinal da área do anel separa anéis externos de buracos, então um lago dentro de um país continua sendo um buraco no desenho e na exportação para GeoJSON.
6. Desenho, escala e overzoom
Cada bloco do mapa é um canvas de 256 × 256 pixels (512 em telas de alta resolução). As unidades de bloco são convertidas em pixels, e acima do último nível de zoom o bloco pai é ampliado e deslocado, o que se chama overzoom:
escala = 256 × f / extent f = 2^(z_mapa − z_dados) deslocamento = (x mod f, y mod f) × 256 parte do bloco pai a mostrar exemplo dados até z 14, mapa em z 16 f = 4, escala = 256 × 4 / 4096 = 0.25 px por unidade o bloco (x, y) do mapa usa o bloco de dados (⌊x/4⌋, ⌊y/4⌋)
Como os dados são vetoriais, as linhas são redesenhadas na nova escala e continuam nítidas, ao contrário de blocos raster ampliados. Espessuras de linha e tamanhos de ponto são divididos pela escala para ficarem do mesmo tamanho na tela em cada nível de zoom.
7. Clicar em uma feição: o teste de seleção
Quando você clica, o visualizador acha o bloco de dados sob o cursor, converte o clique em unidades de bloco e testa as feições das camadas visíveis da camada de cima para baixo:
unidades por pixel = extent / (256 × 2^(z_mapa − z_dados))
ponto selecionado se a distância ≤ 7 px
linha selecionada se a distância a um segmento ≤ 5 px
d² = |p − a − t(b − a)|², t = clamp(((p − a)·(b − a)) / |b − a|², 0, 1)
polígono selecionado se um raio a partir do ponto cruza os anéis um número ímpar de vezesUm teste rápido com o retângulo envolvente descarta a maioria das feições antes do teste exato, então até blocos com dezenas de milhares de feições respondem na hora.
8. Orçamento de tamanho por bloco
Blocos grandes deixam os mapas lentos: cada um precisa ser baixado, descompactado e decodificado antes de qualquer coisa aparecer. O tippecanoe limita os blocos a 500 KB por padrão, e o mesmo limite de 500 KB é muito usado em serviços de blocos vetoriais. O visualizador mede cada bloco com uma única consulta SQL e marca os níveis de zoom que passam disso:
tamanho guardado = LENGTH(tile_data) bytes, ainda compactados tamanho médio = SUM(tamanho) / COUNT(*) por nível de zoom cobertura = blocos / 4^z parte da grade mundial referência maior bloco < 500 KB (512.000 bytes)
Na prática, os maiores blocos costumam ficar em um zoom intermediário sobre cidades densas, onde muitos prédios e ruas se juntam antes que a simplificação os afine. A lista de maiores blocos leva você direto até lá.
MBTiles e os formatos de exportação em detalhe
O que há dentro de um arquivo MBTiles, como os MBTiles vetoriais e raster se diferenciam e o que cada download deste visualizador contém.
MBTiles vetorial .mbtiles
Um banco SQLite que segue a especificação MBTiles 1.3, com format = pbf. Cada bloco é um Mapbox Vector Tile compactado com gzip, com uma ou mais camadas com nome. A linha de metadados json lista as camadas e seus campos, e o tippecanoe também acrescenta tilestats com contagens de feições e valores de atributos.
metadata.json = {
"vector_layers": [
{ "id": "cities", "minzoom": 0, "maxzoom": 5,
"fields": { "name": "String", "pop_max": "Number" } } ],
"tilestats": { "layerCount": 1, "layers": [ … ] }
}MBTiles vetoriais são leves para a área que cobrem, podem receber qualquer estilo e continuam nítidos em qualquer zoom. Eles precisam de um renderizador (MapLibre, Mapbox GL, QGIS ou este visualizador) e de um estilo para parecer um mapa pronto.
MBTiles raster .mbtiles
A mesma estrutura de banco, mas cada bloco é uma imagem pronta (PNG, JPEG ou WebP), normalmente de 256 × 256 pixels. O estilo fica fixo nos pixels, então o mapa aparece igual em todo lugar, mas não dá para mudar o estilo nem consultar, e ele fica borrado acima do último nível de zoom.
Este visualizador reconhece arquivos raster pela assinatura das imagens e envia você ao visualizador de MBTiles raster deste site, feito para eles.
GeoJSON (vista) .geojson
Todas as feições das camadas visíveis nos blocos que cobrem a vista atual, no nível de zoom de dados atual, como FeatureCollection RFC 7946 em WGS84. Cada feição mantém seus atributos e ganha dois a mais: _layer e _tile. Os polígonos são agrupados em Polygon ou MultiPolygon com seus buracos.
{ "type": "Feature", "id": 812,
"properties": { "name": "Lyon", "pop_max": 1423000,
"_layer": "cities", "_tile": "5/16/11" },
"geometry": { "type": "Point", "coordinates": [4.8320114, 45.7578137] } }As feições são cortadas nas bordas dos blocos, do jeito que foram guardadas, então uma rua longa pode sair em vários pedaços. Uma exportação cobre no máximo 64 blocos; aproxime para exportar uma área menor com mais detalhe.
PNG (vista) .png
Uma imagem das camadas vetoriais como você vê na janela do mapa, com fundo branco, uma barra de título com o nome do arquivo e o nível de zoom, e a atribuição dos metadados.
Prático para documentação, um relatório de bug ou uma prévia rápida para um cliente. O mapa base não entra, então não há direitos de imagem de terceiros para se preocupar.
Metadados (JSON) .json
Todas as linhas da tabela metadata, com a linha json convertida em JSON de verdade, mais as estatísticas dos blocos por nível de zoom e a lista de camadas encontradas nos blocos.
Útil para comparar duas versões de um tileset ou copiar a lista vector_layers para um estilo do MapLibre.
Bloco (.pbf) .pbf
O bloco vetorial sob o seu clique, descompactado, exatamente como um servidor de blocos enviaria depois da descompactação. O nome do arquivo traz o z/x/y dele.
Passe para outras ferramentas (por exemplo vt2geojson ou um visualizador de protobuf) para depurar um bloco em detalhe.
Relatório técnico .html
Uma página HTML com o resumo do arquivo, uma prévia do mapa, todas as verificações, a tabela metadata completa, as camadas com tipos de geometria e campos, os blocos por nível de zoom, os maiores blocos, recomendações e como usar o arquivo.
Ele imprime bem em PDF. Anexe a um chamado ou envie junto com uma entrega, para que quem recebe veja o que há no tileset sem abri-lo.
Todas as exportações são criadas no seu navegador a partir do arquivo aberto. Nada é enviado a um servidor.
Quem usa um visualizador de MBTiles vetoriais
Os blocos vetoriais ficam entre os dados e o mapa, então muita gente diferente precisa olhar dentro deles.
- Desenvolvedores de mapas web. Confira um tileset antes de escrever um estilo do MapLibre ou do Mapbox GL: quais camadas existem, como os campos se chamam e em que níveis de zoom os dados aparecem. A lista de campos e os valores de exemplo poupam muita tentativa e erro.
- Analistas de SIG. Confirme que uma exportação do tippecanoe, Planetiler ou QGIS tem o que você espera, com os atributos e a faixa de zoom certos, antes de entregar.
- DevOps e administradores de servidores de blocos. Encontre blocos grandes demais, metadados faltando e faixas de zoom erradas antes de publicar no TileServer GL, no Martin ou em uma CDN, e guarde o relatório como registro.
- Mapeamento offline e de campo. Confira se os mapas MBTiles carregados em tablets ou coletores de campo cobrem a área e os níveis de zoom certos antes de ficar sem sinal.
- Compradores e revisores de dados. Veja um tileset vetorial de um fornecedor sem instalar nada, percorra os atributos e devolva o relatório.
- Estudantes e professores. Veja como os blocos vetoriais funcionam de verdade: ligue a grade, compare tamanhos de bloco entre níveis de zoom e observe o overzoom manter as linhas nítidas.
- Publicadores de dados abertos. Confira a atribuição, a extensão e a descrição nos metadados antes de publicar um tileset, para que os usuários tenham o crédito e a vista inicial corretos.
- Suporte e relatórios de bug. Quando um mapa mostra um buraco ou uma feição quebrada, ache o bloco, baixe como .pbf e anexe ao chamado junto com o relatório.
Perguntas frequentes sobre MBTiles e blocos vetoriais
As 20 perguntas mais comuns sobre arquivos MBTiles e este visualizador.
1. O que é um arquivo MBTiles?
Um arquivo MBTiles é um banco SQLite que guarda blocos de mapa. Ele tem uma tabela tiles com uma linha por bloco (zoom, coluna, linha e os dados do bloco) e uma tabela metadata com nome, formato, faixa de zoom, extensão e outras informações. Um único arquivo pode conter um mapa em blocos inteiro, por isso é fácil de copiar, compartilhar e usar offline.
2. Qual a diferença entre MBTiles vetorial e raster?
MBTiles raster guardam imagens prontas (PNG, JPEG ou WebP). MBTiles vetoriais guardam Mapbox Vector Tiles: geometria e atributos que o app de mapas estiliza e desenha por conta própria. Arquivos vetoriais são menores para a mesma área, continuam nítidos em qualquer zoom e podem receber outro estilo ou ser consultados. Veja a linha format: pbf quer dizer vetorial.
3. Como abrir um arquivo MBTiles?
Para dar uma olhada rápida em um arquivo vetorial, solte-o neste visualizador: sem instalar nada e sem upload. No QGIS 3.14 ou mais novo, arraste o arquivo para o mapa ou use Camada → Adicionar camada → Adicionar camada de blocos vetoriais. Para publicar em um site, sirva com TileServer GL, Martin ou mbtileserver, ou converta para PMTiles. A seção "Como abrir um arquivo MBTiles" acima compara todas as opções.
4. Este visualizador de MBTiles vetoriais é grátis?
Sim. É grátis, sem conta, sem limite diário de arquivos e sem marca d’água nas exportações. Tudo roda no seu navegador, então não há custo de servidor.
5. Meu arquivo é enviado para algum lugar?
Não. O arquivo é lido com FileReader e aberto com o sql.js (SQLite em WebAssembly) dentro da aba do navegador. Os blocos também são decodificados e desenhados ali. Só quando você liga um mapa base o navegador carrega blocos de ruas ou satélite desses provedores; seu arquivo fica no seu computador.
6. Qual o tamanho máximo do arquivo?
Até 300 MB. O banco inteiro é carregado na memória do navegador, então arquivos muito grandes precisam de bastante RAM. Em celulares e tablets, arquivos de menos de 100 MB funcionam melhor. Para tilesets do planeta inteiro, use um servidor de blocos ou o QGIS.
7. Por que o mapa fica vazio quando o arquivo abre?
Normalmente o mapa está abaixo do primeiro nível de zoom do arquivo: um tileset de cidade pode começar no zoom 10, e o visualizador mostra um aviso para aproximar. Outras causas são bounds errados nos metadados (o mapa vai para o lugar errado) ou blocos raster no arquivo. A aba Verificações diz qual é o caso.
8. O que significa overzoom?
Um tileset tem um último nível de zoom, muitas vezes 14. Quando você aproxima mais, o visualizador continua usando os blocos do zoom 14 e os desenha maiores. Como os dados vetoriais são redesenhados, as linhas continuam nítidas. Por isso muitos mapas base param no zoom 14: os blocos têm detalhe suficiente para o nível de rua.
9. Por que as feições são cortadas nas bordas dos blocos?
Cada bloco vetorial só guarda as partes das feições que caem dentro dele, mais uma pequena margem. Um rio longo ou um país grande fica guardado em muitos pedaços, um por bloco. Os renderizadores desenham os pedaços lado a lado e o corte não aparece. Na exportação GeoJSON os pedaços ficam separados, cada um com um atributo _tile.
10. Por que algumas camadas não aparecem nos metadados?
A linha de metadados json é escrita pela ferramenta que criou o arquivo. Se o arquivo foi editado, juntado de várias fontes ou gerado por um script, uma camada pode estar nos blocos sem aparecer na lista. O visualizador decodifica uma amostra de blocos, encontra essas camadas mesmo assim e as marca como "fora dos metadados".
11. O que é o esquema TMS no MBTiles?
O MBTiles numera as linhas de blocos de baixo para cima (sul), como o antigo padrão TMS, enquanto os mapas web numeram de cima para baixo (norte). Todo programa que lê MBTiles precisa inverter a linha: tile_row = 2^z − 1 − y. Se um mapa de um MBTiles aparece de cabeça para baixo ou no hemisfério errado, a causa provável é a inversão que faltou.
12. Qual deve ser o tamanho dos blocos vetoriais?
Mantenha cada bloco abaixo de 500 KB, o limite padrão do tippecanoe e um limite comum de serviços de blocos. Bons blocos costumam ter entre 10 e 200 KB. A aba Blocos mostra os maiores por nível de zoom, e o relatório sugere formas de diminuí-los.
13. Posso editar um arquivo MBTiles com este visualizador?
Não, ele só lê. Para mudar os dados, edite a fonte (GeoJSON, Shapefile, um banco de dados) e gere os blocos de novo com tippecanoe, Planetiler ou QGIS. Para corrigir uma linha de metadados, abra o arquivo no DB Browser for SQLite e edite a tabela metadata.
14. Posso converter MBTiles em GeoJSON?
Para uma parte do mapa, sim: aproxime da área e clique em "GeoJSON (vista)". As camadas visíveis dos blocos da vista são exportadas, até 64 blocos por vez. Para um tileset inteiro, é mais limpo exportar dos dados originais, porque os blocos são simplificados e cortados nas bordas.
15. Posso converter MBTiles em PMTiles?
Sim, com o conversor grátis de MBTiles para PMTiles deste site. PMTiles é um único arquivo que o MapLibre lê de qualquer hospedagem estática, sem servidor de blocos. Os blocos dentro dele continuam exatamente iguais.
16. Um arquivo MBTiles traz um estilo de mapa?
Não. Um MBTiles vetorial traz só dados; cores, espessuras de linha e rótulos vêm de um estilo, normalmente um JSON de estilo do MapLibre ou do Mapbox. Este visualizador escolhe as cores automaticamente pelos nomes das camadas para você ver a estrutura na hora.
17. Quais ferramentas criam MBTiles vetoriais?
As mais comuns são tippecanoe (a partir de GeoJSON e CSV), Planetiler e OpenMapTiles (a partir do OpenStreetMap), QGIS (Gerar blocos XYZ / exportação de blocos vetoriais) e o driver MVT do GDAL. A aba Arquivo mostra a ferramenta geradora quando o arquivo registra essa informação.
18. O que é tilestats?
tilestats é uma parte dos metadados json escrita pelo tippecanoe. Ela conta as feições de cada camada e lista nomes e tipos de atributos e até 100 valores de exemplo. Quando existe, o visualizador mostra o total de feições de cada camada.
19. Posso ver MBTiles raster aqui?
Esta página foi feita para blocos vetoriais. Se você abrir um arquivo raster, o visualizador reconhece os blocos de imagem e leva você ao visualizador de MBTiles deste site, que mostra blocos PNG, JPEG e WebP.
20. Funciona no celular ou tablet?
Sim, em qualquer navegador atual no iOS, Android, Windows, macOS e Linux. No celular, use arquivos pequenos (menos de 100 MB), abra a versão em tela cheia para ter mais espaço e toque em uma feição para inspecioná-la.
Especificações, software e créditos dos dados
O visualizador se baseia em especificações e software abertos:
- MBTiles Specification (Mapbox) · SpecificationEspecificação MBTiles da Mapbox: a estrutura SQLite do arquivo, a ordem de linhas TMS e as linhas de metadados que o visualizador confere.
- Mapbox Vector Tile Specification · SpecificationEspecificação Mapbox Vector Tile: a estrutura protobuf, os comandos de geometria e as regras de orientação que o decodificador segue.
- sql.js · MITSQLite compilado para WebAssembly, usado para abrir o banco .mbtiles no navegador.
- Leaflet 1.9 · BSD-2-ClauseMapa interativo e a camada de grade em canvas que desenha os blocos.
- Natural Earth · Public domainDados de domínio público usados para criar o tileset de exemplo (países, lagos, rios e cidades na escala 1:50m).
- Protomaps (hosted by KONAKTIVE), CARTO, OpenStreetMap, Esri World Imagery · ODbL and provider termsMapas base opcionais: blocos vetoriais próprios hospedados pela KONAKTIVE, com CARTO e OpenStreetMap como reserva, e Esri World Imagery.
O decodificador de blocos vetoriais, o renderizador, as verificações e todas as exportações foram escritos para este site e rodam inteiramente no seu navegador.
Ferramentas relacionadas de blocos e arquivos SIG
As verificações seguem as especificações MBTiles 1.3 e Mapbox Vector Tile 2.1 e a prática comum; passar nelas não garante que todo app de mapas aceite o arquivo. Sample data: Natural Earth. Optional base maps © OpenStreetMap contributors, Protomaps (hosted by KONAKTIVE), CARTO, Esri.
