Feather / GeoArrow
2026年04月17日 13:08
GISBoxは、OSGB/GEOTIFF/RVTなどの複数のGISフォーマットでの編集をサポートし、3DTiles/Terrainへの変換や公開が可能なワンストップ3DGIS データ編集、変換、公開プラットフォームです。
概要
Feather / GeoArrow は、高速データ処理を目的とした列指向データフォーマットである Apache Arrow を基盤として拡張された地理空間データ形式です。大量のベクトル地理データを効率的に保存・転送することを目的として設計されており、従来の GIS フォーマットよりも高速な読み書き性能とメモリ効率を実現します。特にクラウド環境やビッグデータ分析環境において、地理データを高速に処理するための次世代フォーマットとして注目されています。GeoArrow は Arrow の列型メモリ構造を利用し、ジオメトリや属性データを統一的に管理できる点が特徴です。
データフォーマットの概要
Feather / GeoArrow のデータ構造は、Arrow の列指向アーキテクチャをベースに構築されており、主に以下の要素で構成されています。
- Schema(スキーマ定義):データセットの構造を定義する部分で、各フィールドの型(整数、文字列、浮動小数点など)やジオメトリ列の定義を記述します。これにより、異なる環境間でもデータ構造を統一して扱うことができます。
- Geometry Column(ジオメトリ列):ポイント、ライン、ポリゴンなどの空間ジオメトリを格納する専用列です。GeoArrow では、座標配列やオフセット配列などを用いて効率的にジオメトリ情報を保存します。
- Attribute Columns(属性列):地理オブジェクトに関連付けられる属性データ(名称、分類、数値データなど)を列形式で格納します。列指向形式のため、分析処理やフィルタリングが高速に行えます。
- Metadata(メタデータ):座標参照系(CRS)、ジオメトリタイプ、エンコーディング方式などの空間情報を記録します。これにより GIS ソフトウェアやデータ分析ツール間での互換性が向上します。
- Feather File Container(ファイルコンテナ):Arrow データをファイルとして保存するコンテナ形式です。データをバイナリ形式で保存し、高速な読み込み・書き込みを実現します。
長所
- 高速なデータ処理性能:Arrow の列指向メモリ構造により、データの読み込み・分析・転送を高速に実行できます。特に大規模な地理データセットの処理に適しています。
- メモリ効率が高いデータをメモリ上で効率的に管理できるため、分析処理のパフォーマンスが向上します。また、ゼロコピー(Zero-Copy)処理によりデータの再コピーを削減できます。
- ビッグデータ環境との高い親和性:Python、R、Java、C++ など多くのデータ分析環境と連携でき、機械学習やデータサイエンス分野での地理データ利用に適しています。
- クラウド・分散処理に適している:列型フォーマットはクラウドデータレイクや分散処理基盤と相性が良く、大規模 GIS データの分析基盤として活用できます。
短所
- GIS ソフトでの対応がまだ限定的:従来の GIS フォーマット(Shapefile や GeoPackage など)と比べると、対応している GIS ソフトウェアがまだ少ない場合があります。
- 可視化用途には直接利用しにくい:GeoArrow は主にデータ分析や処理を目的としたフォーマットであり、地図表示用のフォーマットとしては追加の変換が必要になる場合があります。
- フォーマット仕様が発展途上:比較的新しい技術であるため、仕様が今後変更される可能性があります。また、ツール間での実装差異が生じる場合もあります。
応用シーン
Feather / GeoArrow は、大規模な地理空間データ分析やクラウドベース GIS システムでの利用に適しています。例えば都市交通データ、衛星観測データ、位置情報ログなどの大量データを高速に処理する分析基盤として活用できます。また、データサイエンスや機械学習のワークフローにおいて、空間データを効率的に扱うためのフォーマットとして利用されるケースが増えています。さらに、クラウドデータレイクや分散計算環境と組み合わせることで、次世代の地理空間ビッグデータ処理基盤を構築する際にも重要な役割を果たします。
例
1. @geoarrow/deck.gl-layers を使って、無駄に10万個の点、1万個の線、1万個の三角形を表示したデモです。
関連 GIS ファイル
ASCAT
DRG
DTM
ENVI .HDR + .DAT
参考
- https://zenn.dev/mierune/articles/da621ff153594b
- https://gdal.org/en/stable/drivers/vector/arrow.html
- https://zenn.dev/mierune/articles/da621ff153594b