16 pontos por GN⁺ 2025-05-04 | 2 comentários | Compartilhar no WhatsApp
  • A extensão geoespacial do DuckDB reduziu drasticamente a barreira de acesso a dados geoespaciais com uma interface simples baseada em SQL
  • Com isso, analistas de dados em geral agora conseguem fazer análise geoespacial com apenas duas linhas de código
  • Desde o fim de 2023, o interesse de busca por 'geospatial' disparou, coincidindo com o lançamento da extensão do DuckDB
  • A expansão de projetos geoespaciais mais recentes, como o Overture Maps, também é vista como um reflexo da influência do DuckDB
  • A equipe do DuckDB resolveu internamente dependências complexas e a integração com ferramentas GIS, simplificando a experiência do usuário

Como o DuckDB mudou a área geoespacial

  • O autor participou recentemente da Cloud-Native Geospatial Conference 2025 e discutiu a popularização dos dados geoespaciais
  • A questão central era como ampliar o uso de dados geoespaciais para mais setores da indústria, e o DuckDB estava no centro dessa discussão
  • Até o fim de 2023, o volume de buscas pela palavra-chave 'geospatial' estava estagnado, mas após o lançamento da extensão geoespacial do DuckDB, subiu rapidamente
  • Como prova da influência do DuckDB, no Google Trends os termos DuckDB e geospatial também mostram alta em conjunto
  • Claro, não dá para afirmar causalidade, mas o autor considera essa correlação significativa

Análise geoespacial em apenas duas linhas

install spatial;   
load spatial;  
  • Antes, era necessário instalar ou compilar inúmeros pacotes e configurar um banco de dados separadamente
  • Já o DuckDB entrega um ambiente completo de análise geoespacial com uma única interface SQL
  • Como resultado, qualquer pessoa que saiba usar SQL pode acessar isso com facilidade, reduzindo também a carga sobre a infraestrutura de TI

Overture Maps também graças ao DuckDB?

  • O autor se pergunta se a adoção bem-sucedida da Overture Maps Foundation teria sido possível sem o DuckDB
  • A suposição é que, sem o DuckDB, a barreira de entrada inicial para lidar com dados geoespaciais teria sido alta demais

Discussão adicional no Hacker News

  • Max, desenvolvedor do DuckDB, destacou que ferramentas FOSS GIS como PROJ DB, GDAL e QGIS foram empacotadas internamente para eliminar dependências
  • Com isso, o uso em várias plataformas, incluindo WASM, se torna possível sem processos complexos de instalação
  • Além disso, estão integrados recursos de alto desempenho como execução vetorizada fora da memória e armazenamento comprimido por colunas
  • Recentemente, um novo mecanismo de geometria e recursos de otimização de spatial join também foram incorporados ao branch dev

Conclusão

  • O DuckDB eliminou os problemas de instalação e conexão de ferramentas geoespaciais complexas, entregando tudo junto com SQL
  • Por isso, vem sendo avaliado como um software que deu uma contribuição decisiva para a popularização dos dados geoespaciais

2 comentários

 
zihado 2025-05-05

O DuckDB está mandando bem mesmo.

 
GN⁺ 2025-05-04
Opinião no Hacker News
  • Gosto do DuckDB e trabalho principalmente com análise geoespacial. Em geral, divido áreas geográficas com hexágonos Uber H3, faço cálculos de distância Haversine, cálculo de área geométrica e descubro a qual geometria um ponto pertence. Esses recursos já existiam no geopandas ou no postgis, e a extensão espacial do DuckDB não oferece nada realmente novo

    • Porém, o mecanismo do DuckDB permite trabalhar diretamente com arquivos parquet/geoparquet em grande escala no desktop local. Nesse ponto, ele é superior ao geopandas. Melhorou minha qualidade de vida
    • O DuckDB tem uma arquitetura de extensões que permite recursos geoespaciais incomuns, como curva de Hilbert e suporte a Uber H3
  • Antes, era preciso instalar ou compilar vários pacotes de código aberto, anotar cuidadosamente a localização dos caminhos e montar um banco de dados especializado. Era uma carga de trabalho que um generalista de dados talvez nem tentasse assumir, ou que o departamento de TI talvez não desse suporte

    • Uso CREATE EXTENSION postgis; há mais de 10 anos. PG, MySQL, Oracle, MS SQL Server e SQLite já têm extensões espaciais há muito tempo. O DuckDB não faz diferença real em termos de facilidade de instalação
  • import geopandas também existe e já é usado há bastante tempo. Deixando o sarcasmo de lado, fico curioso sobre o que há de tão especial no DuckDB. Se o autor tivesse mostrado exemplos reais, seria mais fácil entender a argumentação

  • O software que mais me empolga para trabalhar com apps geoespaciais é o Felt. Espero que expandam as ferramentas para permitir que desenvolvedores controlem autenticação/autorização de mapas e fontes de dados, viabilizando isolamento por tenant e acesso a dados proprietários. Isso pode revolucionar a forma como a tecnologia geoespacial é integrada a aplicativos de consumo

    • O texto não reconhece o quanto isso ainda é um nicho. É preciso muita formação sobre sistemas de coordenadas, projeções, transformações etc. Se possível, eu gostaria de substituir muitas ferramentas de mapeamento customizadas pelo Felt. Isso permitiria focar nos processos geoespaciais centrais, em vez do código para exibir e manipular tudo no navegador. Em termos de LOC para manter, é quase a mesma coisa ou até mais
    • Como mencionado em outro comentário, a DX do DuckDB descrita aqui é basicamente igual à do PostGIS
  • Não acho que “instalar geospatial” seja algo revolucionário em simplicidade quando comparado a pip install geopandas

    • Ambos têm uma linha só
  • É muito mais simples do que load extension postgis? GEOS e GDAL sempre foram um pouco incômodos, mas sinto que o Docker abstraiu tudo isso. docker pull postgis é bem fácil. Não estou familiarizado com o que mais o DuckDB oferece

  • Deixo um comentário para divulgar um projeto semelhante. Estou trabalhando em uma extensão geoespacial para o Polars. Ainda não está estável (mas está bem perto), porém já está quase completa em funcionalidades (usa GEOS e PROJ como backend, então é equivalente ao GeoPandas)

  • Qual é o tamanho dos conjuntos de dados? Na empresa, estamos tentando usar DuckDB para dados de transações financeiras e relatórios. O conjunto de dados é cerca de 500 GB em CSV no S3, e o DuckDB não consegue lidar com isso

  • Tenho preocupações com a licença do DuckDB e do GEOS. O primeiro usa licença MIT e o segundo LGPL 2.1

    • Isso cria uma situação complexa em que alguns builds podem violar a LGPL 2.1. Por exemplo, linkagem estática com aplicações closed source
  • O DuckDB é ótimo para geoespacial, mas é o mais importante dos últimos 10 anos? Há tantas ferramentas em categorias diferentes que, para mim, ele não entra no topo. Existem QGIS, postGIS (ainda o padrão), ArcGIS Online (ainda o padrão), ferramentas de mapeamento JS como mapbox (prefiro deckgl), novos tipos de dados como COG, geopackage e geoparquet, ferramentas de fotogrametria, tiles 3D, bibliotecas centrais como gdal e pdal, shapely etc.