GeoGigで地理情報データのバージョン管理
FOSS4G 2017 TOKYOSeptember 16, 2017
Tomoya Nakayama
発表の概要
1. GeoGigとは?
2. GeoGigの使い方
3. GeoGigとQGISとの連携
4. デモ
GISデータ管理の課題
• 履歴管理の問題
–過去からの更新履歴を蓄積したい
–変更の差分が簡単にわかるようにしたい
• 同時編集の問題
–複数人で手分けしてデータを作りたい
GeoGigとは?
• 「ジオギグ」
• GISデータ専用の分散バージョン管理システム
• Gitとほぼ同じ機能・操作性
– 昔はGeoGitという名前だった
• Boundless社が開発・メンテナンス
GeoGigの主な機能
• 複数人同時編集
–分散バージョン管理
–コンフリクトの検出
• 更新履歴確認
–地物ごとの履歴も見られる
• 差分取得
–任意の2時点間の差分を取れる
GeoGigのインストール
• Java8が必要(パスも通しておく)
1. GeoGigのサイトからzipをダウンロード
2. 任意のディレクトリに展開
3. binディレクトリにパスを通す
GeoGigの起動
• コマンドラインから呼び出す
GeoGigの主なコマンド(1)
• cloneローカルリポジトリを作成
• export編集用のファイルを作成
• import編集したファイルをローカルリポジトリに登録
• commit編集内容をコミット
GeoGigの主なコマンド(2)
• pushローカルリポジトリの変更をリモートリポジトリに反映
• pullリモートリポジトリの変更をローカルリポジトリに反映
• diff任意のバージョンの差分を取得
• logローカルリポジトリの更新履歴を見る
GeoGigの主なコマンド(3)
• lsローカルリポジトリのデータのリストを見る
• showローカルリポジトリのデータの中身を見る
GeoGigのワークフロー(1)
(1) clone
(1) clone
GeoGigリポジトリ
(2) export
(2) export
(3) 編集
(3) 編集
GeoGigのワークフロー(2)
(6) push
(6) push
(4) import
(4) import
(5) commit
(5) commit
GeoGigリポジトリ
GeoGigのワークフロー(3)
(7) pull
(7) pull
(8) export
(8) export
(9) 編集
(9) 編集
GeoGigリポジトリ
3. GeoGigとQGISとの連携
GeoGig QGIS Plugin
• QGIS上でGeoGigのリポジトリにアクセス
• GeoGigのネットワーキング機能を使う
– Web API経由
セットアップ
※python2とgitをインストールし、パスを通しておく
1. リポジトリをclone
git clone https://github.com/boundlessgeo/qgis-geogiglight-plugin.git
2. cd [cloneしたディレクトリ]
3. pavement.pyを書き換える
ディレクトリ名の書き換え “extlibs” -> “ext-libs”
これをやらないとプラグインの読込に失敗する
4. pip install paver
5. paver setup
6. paver install
準備
• GeoGigのサーバーを起動しておく
– geogig serve
GeoGig Navigatorパネル
Geometry Comparison
デモで使用するデータ
• City of Raleigh Open Data
https://data.raleighnc.gov/
リンク
• GeoGig
http://geogig.org/
• GeoGig QGIS Plugin
https://github.com/boundlessgeo/qgis-geogiglight-plugin