より一般的な意味での地理空間データの管理のトピックは、ここまでに出てきました。バージョン管理のトピックもそこで言及されましたが、実際には対処されていません。
データベースは組織内からのみ更新されるため、従来の地理空間データの収集と保守では、バージョン管理を内部で処理するだけで済みます。これは、OpenStreetMapなどのクラウドソースジオデータベースには当てはまりません。そこでは、誰でもやって来て、オブジェクトを追加、変更、または削除できます。OpenStreetMapでは、これは基本的な方法で処理されます。各オブジェクトには整数のバージョン番号があり、最新バージョンのオブジェクトのみがライブデータベースに公開されます。データベースは楽観的ロックを使用するため、ユーザーは投稿を手動でアップロードするときに発生するすべての競合を解決する必要があります。
編集者(JOSM、Potlatch)による人間の貢献が唯一の貢献モードである限り、これはすべて合理的に機能しますが、そうではありません。オープンな公共部門のデータのインポートがますます行われています。これらは、より複雑なバージョン管理の問題を引き起こします。次のシナリオを検討してください。
- オープンな公共部門のデータセットから建物オブジェクトをインポートしています
- 建物は、人間の貢献者(属性、ジオメトリ、またはその両方)によるいくつかの変更を受け取ります
- 公共部門のデータの新しいバージョンが利用可能になり、インポートされます。
現在、ステップ3で、コミュニティの変更を受け取った各建物が新しいインポートと手動でマージされない限り、人間の貢献は失われます。
OpenStreetMapはこの状況にどのように対処できますか?ソフトウェア開発で分散バージョン管理を検討する必要がありますか?分散空間データのメンテナンスに対処するために、DVCのメソッドをどのように適合させることができますか?