O que esta ferramenta faz
Os ficheiros GeoParquet não são legíveis por humanos. Ao contrário do GeoJSON, não é possível abrir um destes ficheiros num editor de texto e ver as coordenadas, e a maioria das ferramentas GIS de secretária mais comuns ainda não abre o formato diretamente. Isto cria uma lacuna entre ter um ficheiro .parquet e saber realmente o que ele contém: quantos elementos tem, que tipo de geometria usa, que colunas existem e que área abrange.
Este visualizador resolve essa lacuna. Basta carregar um ficheiro para que a ferramenta leia o contentor Parquet, verifique os metadados GeoParquet próprios do ficheiro para encontrar a coluna de geometria e a sua codificação, descodifique cada valor WKB (Well-Known Binary) de volta em coordenadas reais e desenhe o resultado num mapa. Clique em qualquer elemento para ver a sua tabela de atributos completa, ajuste a cor e o estilo para tornar os padrões mais fáceis de identificar, e exporte tudo de novo como um ficheiro GeoJSON quando precisar de um formato que mais ferramentas já compreendem. Nenhum ficheiro é enviado para lado nenhum: o leitor de Parquet é uma compilação WebAssembly executada inteiramente na sua máquina.
Como o visualizador lê um ficheiro GeoParquet
O processo decorre em três etapas. Primeiro, uma compilação WebAssembly da biblioteca Parquet em Rust lê os dados brutos das colunas e entrega-os como uma tabela Apache Arrow, o mesmo formato em memória usado internamente pelo GeoPandas e pelo DuckDB. Segundo, o visualizador procura nos metadados do esquema da tabela uma chave chamada "geo", o pequeno bloco JSON que todo o ficheiro GeoParquet transporta e que indica a coluna de geometria principal, declara a sua codificação e lista os tipos de geometria presentes. Se essa chave não existir, o ficheiro é um Parquet comum, não GeoParquet, e o visualizador informa isso mesmo em vez de tentar adivinhar.
Terceiro, o visualizador percorre cada linha da coluna de geometria, que contém valores WKB em bytes brutos, e descodifica cada um de volta em coordenadas: um byte de sinalização para a ordem dos bytes, um código de quatro bytes para o tipo de geometria e depois as próprias coordenadas como pares de números de 8 bytes. O mesmo descodificador também reconhece a sinalização SRID que o PostGIS acrescenta à sua saída EWKB e os marcadores de dimensão Z/M da norma ISO WKB, pelo que os ficheiros exportados de uma base de dados espacial também são lidos corretamente. As propriedades em todas as outras colunas são lidas da mesma forma que o Arrow já as armazena e são associadas a cada elemento, e o conjunto transforma-se numa FeatureCollection GeoJSON padrão, pronta a ser desenhada no mapa.
Guia passo a passo

Clique em "Upload" e escolha um ficheiro .parquet, arraste um ficheiro para o mapa, ou clique em "Sample Data" para carregar um pequeno exemplo já pronto.

O ficheiro é descodificado inteiramente no seu navegador. O painel File Info mostra o número de elementos, o tipo de geometria, o nome da coluna de geometria, o CRS e o tamanho do ficheiro, tudo retirado diretamente dos metadados do próprio ficheiro.

Clique em qualquer ponto, linha ou polígono no mapa para abrir uma janela com a lista de todas as propriedades guardadas para esse elemento.

Use o painel Style para alterar a cor, a espessura da linha e a opacidade do preenchimento aplicadas a todos os elementos no mapa.

Clique em "Download as GeoJSON" para exportar todos os elementos descodificados como um ficheiro GeoJSON padrão.
Casos de uso reais
Situações em que abrir diretamente um ficheiro GeoParquet, sem escrever qualquer código, é realmente útil.
- Verificar rapidamente o resultado de um pipeline de dados. Se um script ou uma tarefa ETL gera ficheiros GeoParquet, arrastar o resultado mais recente diretamente para este visualizador é uma forma rápida de confirmar que a geometria e os atributos estão corretos antes de confiar no ficheiro nas etapas seguintes.
- Explorar um conjunto de dados aberto antes de escrever qualquer código. Conjuntos de dados como o Overture Maps ou as coleções do Source Cooperative são distribuídos em GeoParquet. Descarregar um pequeno excerto e visualizá-lo aqui mostra exatamente que colunas e tipos de geometria existem, antes de configurar o DuckDB ou o GeoPandas.
- Verificar uma conversão de GeoJSON para GeoParquet. Depois de converter um ficheiro com uma ferramenta como o conversor de GeoJSON para GeoParquet deste site, carregar o resultado de volta neste visualizador confirma que o processo preservou corretamente todos os elementos e propriedades.
- Rever dados antes de os publicar como dados abertos. Equipas municipais e de investigação publicam cada vez mais ficheiros GeoParquet a par de GeoJSON. Uma verificação visual rápida aqui deteta problemas óbvios, como uma coluna de geometria vazia ou uma caixa delimitadora no hemisfério errado, antes de o ficheiro ser publicado.
- Ensinar ou demonstrar o formato GeoParquet. Como o painel de informação do ficheiro mostra a coluna de geometria principal, o CRS e a codificação diretamente a partir dos metadados do próprio ficheiro, esta é uma forma prática de mostrar a estudantes ou colegas o que realmente existe dentro de um ficheiro GeoParquet.
- Recuperar dados utilizáveis de um ficheiro quando não há outro visualizador disponível. Nem todas as ferramentas GIS de secretária leem GeoParquet ainda. Quando só precisa de ver o que está dentro de um ficheiro .parquet naquele momento, ou de o extrair novamente como GeoJSON para uma ferramenta que só compreende esse formato, isto evita ter de instalar seja o que for.
Perguntas frequentes
Que tipo de ficheiro posso abrir aqui?
Qualquer ficheiro que siga a especificação GeoParquet: um ficheiro Apache Parquet comum com uma chave de metadados "geo" ao nível do esquema, a descrever uma coluna de geometria. Funcionam ficheiros produzidos pelo GeoPandas, pela extensão espacial do DuckDB, pelo ogr2ogr, pelo Apache Sedona ou pelo conversor de GeoJSON para GeoParquet deste próprio site.
Que codificação de geometria é suportada pelo visualizador?
WKB (Well-Known Binary), que é a codificação predefinida e, de longe, a mais comum nos ficheiros GeoParquet atuais. O GeoParquet 1.1 também define codificações Arrow nativas separadas para cada tipo de geometria; os ficheiros que usam essas codificações ainda não são suportados, e o visualizador informa claramente se encontrar um caso desses.
Suporta ficheiros de Ponto, Linha e Polígono, incluindo geometrias de várias partes?
Sim. Point, LineString, Polygon, MultiPoint, MultiLineString e MultiPolygon são todos descodificados corretamente, incluindo ficheiros que combinam mais do que um tipo de geometria na mesma coluna.
O que acontece às coordenadas 3D (Z) ou medidas (M)?
O leitor reconhece tanto o estilo EWKB do PostGIS como o estilo ISO WKB para marcar as dimensões Z e M, e ignora corretamente esses valores extra para que o resto da geometria continue a ser descodificado. Como o resultado em GeoJSON e o mapa são inerentemente 2D, apenas X e Y são mantidos para visualização.
Como sabe o visualizador qual é a coluna que contém a geometria?
Lê o campo "primary_column" nos metadados "geo" do ficheiro, que todo o ficheiro GeoParquet válido tem de incluir. É também assim que o visualizador reporta o CRS e confirma a codificação antes de tentar descodificar seja o que for.
E se o meu ficheiro não tiver metadados "geo"?
Nesse caso trata-se de um ficheiro Parquet comum, não de um ficheiro GeoParquet, e o visualizador informa isso mesmo em vez de tentar adivinhar. Uma coluna de geometria sem metadados associados tanto pode ser WKB, WKT ou outra coisa qualquer, por isso não há forma segura de a descodificar automaticamente.
Existe um limite de tamanho de ficheiro?
Os carregamentos estão limitados a 100 MB. Ficheiros muito grandes também podem demorar a ser desenhados no mapa, porque cada elemento se transforma numa camada Leaflet; para ficheiros com centenas de milhares de linhas, é normal que a primeira renderização demore alguns segundos.
Posso recuperar os meus dados como GeoJSON?
Sim. O botão "Download as GeoJSON" exporta todos os elementos descodificados, incluindo geometria e propriedades, como uma FeatureCollection GeoJSON padrão que pode abrir em qualquer ferramenta GIS.
O meu ficheiro é enviado para um servidor?
Não. A leitura do ficheiro Parquet, a descodificação da geometria WKB e a renderização do mapa acontecem tudo localmente no seu navegador, usando WebAssembly. O ficheiro nunca sai do seu dispositivo.
A leitura é executada inteiramente no seu navegador, usando Apache Arrow e uma compilação WebAssembly do parquet-wasm. Nenhum ficheiro é alguma vez enviado para um servidor. Blocos do mapa © colaboradores do OpenStreetMap, desenhados com Protomaps (hospedado por KONAKTIVE), com CARTO como reserva.
