>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

GeoLibre:重いソフトウェアをインストールせずに、ブラウザ、Jupyter、デスクトップでGISを実行する方法

空間データを扱ったことがある方なら、一般的な状況をよく知っているでしょう。GeoJSONをすぐに確認したり、Parquetファイルに対して空間クエリを数件実行したりするだけで、QGISを開きます。アプリケーションがロードされ、モジュールが読み込まれ、基本的な可視化のために数ギガバイトのRAMとレイヤー設定に時間を費やすことになります。

OpenGeosコミュニティの開発者たちは、問題を異なる角度から捉え直すことにしました。彼らはGeoLibreを作成しました—地理空間データを取り扱うための軽量プラットフォームで、ブラウザ内で直接、Jupyterノートブック内、そしてスタンドアロンのデスクトップアプリケーションとして動作します。

内部の構成

プロジェクトのアーキテクチャは、複数の最新のWeb技術を組み合わせています。フロントエンドはReactとTypeScriptで構築されています。MapLibre GL JSとdeck.glが2Dと3Dマップのレンダリングを担当しています。

最も興味深い部分はデータ処理の段階で発生します。重い地理空間ファイルを外部サーバーに送信する代わりに、GeoLibreは空間拡張機能付きのDuckDB-WASMを使用しています。ファイルはクライアント側で処理されます。GeoJSONやParquetファイルをブラウザウィンドウにドラッグすると、ローカルのDuckDBがデバイスのメモリ内で直接SQLクエリを実行します。

デスクトップとモバイルバージョンはTauri v2で構築されており、従来のElectronベースのソリューションと比較して、配布サイズがコンパクトでリソース消費が低いという特徴があります。

実践的な機能

このツールは、地理アナリストと開発者の日常的なタスクのほとんどをカバーしています。

ブラウザでのローカル空間SQL

DuckDB-WASMにより、PostgreSQLとPostGISを起動せずに空間SQLクエリを記述できます。レイヤー結合、バッファゾーンの計算、データの直接集計をアプリケーションインターフェース内で実行できます。

3Dデータと時間軸の操作

GeoLibreは3D Tilesと体積ベクターオブジェクトの操作をサポートしています。プロジェクトのデモ資料からの明確な例として、マンハッタンの建物の3Dマップがあります。

GeoLibreの3D Tilesデモ

各建物は高さで押し出され、建設年に基づいて色分けされています。組み込みの時間スライダーを使用すると、1850年から2025年までの都市の建設過程をアニメーションで確認できます。

マンハッタンの建物の3Dマップ

他の惑星のマッピング

プロジェクトの作者たちは地球だけに限定しませんでした。このプラットフォームにはOpenPlanetaryMapとUSGS Astrogeologyのベースマップが含まれています。

GeoLibreでの火星のビュー

月球、火星、水星、金星、木星の衛星に切り替えることができます。各天体には独自の楕円体が定義されているため、距離と面積の計算は正確です。

PythonとJupyterの統合

データサイエンティスト向けの個別のPythonパッケージ3が利用可能です。Jupyter Notebookセルに直接インタラクティブなマップを埋め込むことができます。PandasまたはGeoPandas DataFrameをウィジェットに渡すと、すぐに地図表現が得られます。

試用方法

最も迅速な方法は、Web版を開くことです4。登録やインストールは不要です。

Jupyterで作業している場合、パッケージは標準的なコマンドでインストールできます:

0

Condaでインストールする場合は、conda-forgeリポジトリを使用してください:

1

ディストリビューション向けのローカルデスクトップアプリケーションビルドには、Node.jsとRustが必要です:

2

対象ユーザー

GeoLibreは、空間データの検査と可視化のための迅速なツールを必要とする開発者、研究者、データアナリストに便利です。複雑な地図作成のための本格的なGISツールの完全な代替品ではありませんが、Jupyterでの迅速な初期処理、プロトタイピング、ウェブブラウザでの空間データのデモンストレーションに対応しています。

関連プロジェクト