GIS開発研究所 > QGISのオフライン編集をPostGISへ同期する方法|複数人調査の設計
2026年7月30日
•約5分で読めます
QGISのオフライン編集でGeoPackageへ持ち出したデータをPostGISへ同期する手順を解説します。複数人の現地調査で競合や上書きを防ぐためのUUID、担当範囲、同期前確認、運用ルールまで具体的に紹介し、トラブル時の切り分けにも使える内容です。
山間部や地下設備の点検では、通信できない場所でも地図と台帳を更新したいことがあります。ところが、複数人が同じPostGISレイヤーを持ち出すと、「誰の編集が最新なのか」「同期したら別の人の修正が消えないか」が心配になりますよね。
QGISには、PostGISなどのデータをGeoPackageへコピーし、現地での変更をネットワーク復帰後に同期するオフライン編集機能があります。この記事では、基本手順だけでなく、複数人調査で事故を減らす設計まで整理します。
QGISのオフライン編集を使えば、次の流れを作れます。
ただし、複数人が同じ地物を同時に編集しない運用は別途必要です。担当エリア、設備ID、調査日などで持ち出す対象を分けておくと、同期時の競合を減らせます。
最初に、オンライン状態でPostGISレイヤーをQGISへ追加します。編集対象を絞り込んだら、次の順で進めます。
QGISの公式ドキュメントでも、GeoPackageまたはSpatiaLiteへデータをコピーし、オフライン中の変更を専用テーブルへ保存する仕組みが説明されています。
現地調査では、地物の形だけでなく「誰が、いつ、どの端末で更新したか」を残すことが大切です。最低限、次の項目を用意しておくと確認しやすくなります。
| 項目 | 用途 |
|---|---|
asset_id |
設備を一意に識別するID |
survey_status |
未調査・調査済み・要確認などの状態 |
surveyed_at |
現地で確認した日時 |
surveyed_by |
調査担当者 |
updated_at |
レコードの最終更新日時 |
revision_no |
更新回数を確認する番号 |
主キーには、端末ごとの連番よりUUIDのような重複しにくい値を使う方法があります。新しい地物を複数端末から登録する場合に、IDの衝突を避けやすくなります。
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE TABLE survey_assets (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
asset_id text NOT NULL UNIQUE,
survey_status text NOT NULL DEFAULT '未調査',
surveyed_at timestamptz,
surveyed_by text,
updated_at timestamptz NOT NULL DEFAULT now(),
revision_no integer NOT NULL DEFAULT 1,
geom geometry(Point, 4326) NOT NULL
);
既存テーブルへ追加する場合は、バックアップを取り、検証環境で同期できることを確認してから変更しましょう。
同じレコードを別々の端末で変更すると、後から同期した内容で意図しない上書きが起きる可能性があります。担当エリアや設備IDで対象を分け、持ち出し対象が重複しないようにします。
事務所側でPostGISを更新すると、現地端末が持っているデータとの差が広がります。調査期間中は対象をロックする、またはupdated_atとrevision_noを比較して差分を人が確認する流れを用意します。
大量の写真をGeoPackageのバイナリとして持つと、ファイルが大きくなります。写真本体は端末内のフォルダや外部ストレージへ置き、レコードにはファイル名やURLだけを保存する方法も検討しましょう。
帰社後は、いきなり全員分を同期せず、次の順で進めると原因を追いやすくなります。
同期後は、PostGISで調査件数を確認します。
SELECT
surveyed_by,
count(*) AS surveyed_count,
max(surveyed_at) AS latest_survey
FROM survey_assets
WHERE survey_status = '調査済み'
GROUP BY surveyed_by
ORDER BY surveyed_by;
現場人数が増えるほど、QGISの画面だけでは状況を追いにくくなります。誰がどのGeoPackageを持ち出し、何件を同期したかを別テーブルで記録すると、問題が起きたときに戻りやすくなります。
オフライン編集は機能を有効にするだけでなく、担当分け、ID、更新履歴、バックアップを一緒に設計することが大切です。
QGISとPostGISを使った現地調査基盤の設計や、既存の点検台帳からの移行でお困りの場合は、GIS開発を無料相談する。
千葉県出身。10歳の頃からプログラミングを始め、ゲーム、Webサイト、ロボット、スマホアプリなどを制作。大阪大学基礎工学部情報科学科で情報工学と統計学を学び、大学時代はAIを研究。大学在学中にWeb広告代理店でのインターンや人材系Webサービスの立ち上げを経験し、卒業後はフリーランスエンジニアとしてGISシステム、データ基盤構築、Webシステムの開発に従事。10年以上のWebアプリ開発・データ分析経験を基に、2023年9月に株式会社ビットライトを設立し、現場業務の仕組み化からデータ基盤構築、データ活用支援までを一気通貫で支援。