- DuckDBの地理空間拡張機能は、SQLベースのシンプルなインターフェースにより、地理空間データへのアクセス障壁を大幅に下げた
- その結果、一般のデータアナリストでも2行のコードで地理空間分析が可能になった
- 2023年末以降、'geospatial' の検索関心が急増しており、DuckDBの拡張機能リリース時期と一致している
- Overture Maps のような最新の地理空間プロジェクトの広がりも、DuckDBの影響力を反映した結果だと分析されている
- DuckDBチームは、複雑な依存関係やGISツール統合を内部で解決し、ユーザー体験を単純化した
DuckDBはどのように地理空間分野を変えたのか
- 筆者は最近開催された Cloud-Native Geospatial Conference 2025 に参加し、地理空間データの大衆化について議論した
- 中心的なテーマは、地理空間データをより多くの産業にどう広げられるかであり、その中心にDuckDBがあった
- 2023年末まで ‘geospatial’ キーワードの検索量は停滞していたが、DuckDBの地理空間拡張機能リリース以降、急激に上昇した
- DuckDBの影響力を示すように、Google TrendsでもDuckDBとgeospatialのキーワードがそろって上昇傾向を描いている
- もちろん、因果関係を断定することはできないが、筆者はこの相関関係に意味を見いだしている
わずか2行で地理空間分析が可能
install spatial;
load spatial;
- 従来は多数のパッケージをインストールしたりコンパイルしたりしたうえで、データベースを別途構築する必要があった
- 一方DuckDBは、単一のSQLインターフェースで地理空間分析環境を完成させる
- その結果、SQLを扱える人なら誰でも簡単にアクセスできるようになり、ITインフラの負担も軽減された
Overture MapsもDuckDBのおかげか?
- 筆者は、Overture Maps Foundationの成功した導入もDuckDBなしで可能だったのか疑問視している
- DuckDBがなければ、地理空間データを扱う初期参入障壁はあまりにも高かっただろうと推測している
Hacker Newsでの追加議論
- DuckDB開発者のMaxは、PROJ DB、GDAL、QGISなどのFOSS GISツールを内部的にバンドルして依存関係を除去した点を強調した
- その結果、WASMなどさまざまなプラットフォームで複雑なインストール手順なしに利用可能になっている
- さらに、ベクトル化されたアウト・オブ・コア実行、カラム単位の圧縮保存といった高性能機能も統合されている
- 最近では、新しいジオメトリエンジンの開発や空間結合最適化機能もdevブランチに反映された
結論
- DuckDBは、複雑な地理空間ツールのインストールや接続の問題を取り除き、すべてをSQLとともに提供する
- これにより、地理空間データの大衆化に決定的に貢献したソフトウェアとして評価されている
2件のコメント
DuckDB、好調ですね
Hacker Newsの意見
DuckDBが好きで、主に地理空間分析を行っている。主に Uber H3 の六角形で地理区画を分割し、Haversine 距離計算、幾何学的面積計算、点がどのジオメトリに属するかを判定する作業をしている。こうした機能はすでに geopandas や postgis に存在しており、DuckDB の空間拡張が新しいものを提供しているわけではない
以前は複数のオープンソースパッケージをインストールまたはコンパイルし、パスの場所を注意深く記録し、専用データベースを構築する必要があった。これは一般的なデータ担当者が試そうとしない、あるいは IT 部門が支援しないかもしれないレベルの作業量だった
CREATE EXTENSION postgis;」は 10 年以上使ってきた。PG、MySQL、Oracle、MS SQL Server、SQLite には長年にわたって空間拡張が存在していた。DuckDB はインストールの容易さに実質的な差をもたらしてはいない「
import geopandas」もあり、かなり長い間使われてきた。皮肉はさておき、DuckDB の何が特別なのか気になる。著者が実例を示してくれていれば、その主張をもっとよく理解できただろう地理空間アプリを作る上で最も期待しているソフトウェアは Felt。開発者が地図やデータソースの認証・認可を制御できるようにツールを拡張し、テナント分離や専有データへのアクセスを可能にしてほしい。これは地理空間技術がコンシューマーアプリに統合される方法を一変させる可能性がある
「geospatial のインストール」が「
pip install geopandas」と比べて、単純さの面でゲームチェンジャーだとは思わない「
load extension postgis」よりずっと簡単なのか? geos と gdal は常に少し面倒だったが、docker がそのあたりをすべて抽象化したように感じる。docker pull postgisはかなり簡単だ。DuckDB が提供する他の点には詳しくない類似プロジェクトを宣伝するためにコメントする。Polars の地理空間拡張を開発中。まだ安定してはいないが(かなり近づいている)、すでに機能はほぼ完全で(バックエンドに GEOS と PROJ を使用しており、GeoPandas と同等)
データセットのサイズはどれくらい大きいのか? 会社では金融取引およびレポートデータに DuckDB を使おうとしている。データセットは S3 上の約 500GB の CSV で、DuckDB はこれを処理できない
DuckDB と GEOS のライセンスについて懸念がある。前者は MIT ライセンスで、後者は LGPL 2.1
DuckDB は地理空間分野で素晴らしいが、この 10 年で最も重要なものなのか? さまざまなカテゴリのツールが多くあり、自分にとってはそこまで上位ではない。QGIS、postGIS(今でも標準)、ArcGIS Online(今でも標準)、mapbox のような JS マッピングツール(deckgl の方が好み)、COG、geopackage、geoparquet のような新しいデータ型、写真測量ツール、3D タイル、gdal や pdal、shapely のような中核ライブラリなどがある