ArcGIS Pro でジオデータベースを簡単にコピーする方法(スキーマ・データの移行)

A_view05_ArcGISPro_release

ArcGIS Pro で作業する上で最も欠かせないデータ形式として、ジオデータベースがあります。ジオデータベースは Esri が GIS データを格納するために考案した ArcGIS の標準データ フォーマットであり、1 つのジオデータベースにポイント・ライン・ポリゴン、テーブル、ドメイン、サブタイプ、トポロジー、リレーションシップ クラスなど、さまざまな種類の地理情報をまとめて管理できます。 

そうしてデータベースに作りこんだデータやスキーマを他の作業でも同じ形式で再利用したり、バックアップを作成したり、他の人と共有したいと思うことがあるかもしれません。本記事では、ArcGIS Pro でジオデータベースのスキーマおよびデータをコピーする方法をご紹介します。 

はじめに

さて、皆さんは普段ジオデータベースのコピーをする際はどのような方法で行っていますか? 下図のように [カタログ] ウィンドウでジオデータベースを手動で右クリック → 「コピー」と「貼り付け」を行う方法が多いのではないでしょうか? 

GDB_Schema01

この方法でももちろんコピーを行うことはできますが、データ量が多い場合など、途中でコピーに失敗することがあります。そして履歴にも残らずエラーなどが見えないため、トラブル シューティングが難しいことがあります。 

そんな時、ArcGIS Pro でより確実にコピーを行うには、この後紹介するジオデータベースをコピーする方法①と②をお勧めします。これらの方法ではジオプロセシング ツールを使いますが、ツールの実行履歴でエラーを確認することができるため、よりエラーの原因を特定しやすくなります。また、ジオプロセシング ツールを使用すれば定期的なコピーをしたい場合などに ModelBuilder や Python などを使って処理の自動化にも利用できるため利便性の向上が期待できます。早速方法を確認していきましょう。 

ジオデータベースの種類

まず、ジオデータベースの種類を確認しましょう。ジオデータベースには、ファイル ジオデータベース、エンタープライズ ジオデータベース、モバイル ジオデータベースの 3 つの種類があり、動作や扱えるデータ容量、利用用途が異なります。それぞれの違いについては、ジオデータベースの種類 (ヘルプ) をご参照ください。 

本記事ではファイル ジオデータベースを例に 2 つの主な方法をご紹介します。 

ジオデータベースをコピーする方法

XML ドキュメントのインポート/エクスポート ジオプロセシング ツールを使用する

データとスキーマの両方、またはスキーマだけをコピーすることを設定できます。最も汎用的な方法であり、特にドメインやサブタイプ、そしてトポロジーなどを移行できます。また、ファイル ジオデータベースからエンタープライズ ジオデータベースなど、異なる種類のジオデータベース間でスキーマを共有するときにも便利です。 

交換フォーマットは、XML ドキュメントです。 

違うタイプのジオデータベース間でのコピーは各ジオデータベースのデータ構造や特性が異なるため、各ジオデータベースの特性をよく理解して行う必要があります。 

データ量が多い場合は XML ファイルが非常に大きくなることがあります。そのため、どちらかというとスキーマだけを配布したい場合に向いている方法です。 

ひとつ例を挙げてみましょう。 

ある自治体の都市整備部が公園台帳の標準的なスキーマを作成します。標準スキーマにはたくさんのフィールドがあり、それぞれフィールド名、エイリアス、データ タイプなどのフィールド定義、そしてサブタイプ、ドメインなどが設定されています。 

GDB_Schema02

公園台帳のスキーマ (フィールド定義、サブタイプ、ドメインを設定済み)

これを例えば緑地管理課、景観課、または委託業者間に同一の形式で台帳を運用したいという場合や、年度ごとに一から作成しようとすると、手間と時間がかかり、また不備があった場合は同じスキーマで管理を行うことが難しくなります。 

そんな時にスキーマだけを XML で配布し、各課や業者それぞれがインポートして自分のジオデータベースに取り込むことが可能です。データが極端に大きくなければ、データ共有も可能です。 

GDB_Schema03

公園台帳のデータベースから、スキーマ/データだけを XML ファイルに変換して共有、各移行先のデータベースにインポート

使用ツール 

移行元からエクスポートする入力データ、および出力ファイル名を指定します。エクスポート オプションで、データ+スキーマ、またはスキーマのみをエクスポートするかを選択します。データも出力する場合、格納タイプは基本的にはデフォルトであるバイナリーを選択します。正規化は ArcGIS Pro 以外の XML へ出力したい時に使用します。 

GDB_Schema04

XML ワークスペース ドキュメント ファイルを、移行先のジオデータベースにインポートします。インポート オプションでは、データとスキーマをインポートするか、スキーマのみをインポートするかを選択できます。 

GDB_Schema05

ジオデータベースをコピー/クリップする

[コピー] ツールと [クリップ] ツールを使用することでもデータとスキーマを両方コピーできます。 

① の方法と異なりファイル ジオデータ ベースのスキーマをエンタープライズ ジオデータベースにインポートするなど、異なるデータベース間のコピーはできません。また、スキーマだけをコピーすることもできません。単純に既存データのバックアップなどを取りたい時などに便利な方法です。 

コピー

[コピー] ジオプロセシング ツールはジオデータベースを丸ごとコピーすることができるツールです。入力に指定でフォルダー単位やフィーチャクラス単位でもコピーが可能です。 

GDB_Schema06

クリップ

[クリップ] ジオプロセシング ツールは、ある範囲でデータを切り抜くためのツールです。デフォルトの設定でツールを実行すると、フィールド定義やデータは引き継がれますが、データベースのサブタイプやドメインなどのジオデータベース フィールド プロパティは引き継がれません。しかし、ツールの [環境設定] で [ジオデータベース フィールド プロパティを転送] を有効にすると引き継ぐことができるようになります。こちらは、フィーチャまたはデータセット単位での出力のため、トポロジーなどのデータ モデルは引き継がれません。 

GDB_Schema07

番外編: 手動でフィールドを選択し、コピー&ペーストする

任意のフィールド定義だけを手動でコピーする方法もあります。フィールド ビューで任意のフィールドだけを選択してコピー & ペーストします。こちらの方法では、ジオデータベースではなくフィールド定義をコピーするため、ドメインやサブタイプなどはコピーできません。またジオデータベースのツールを使用しないので同じフィールドの繰り返し実行などもできませんが、直感的かつ手軽に行うことができます。 

以下の動画では、公園台帳_ver1 のフィールド定義のうち、いくつかのフィールドだけを選択して、新たなバージョンの公園台帳_ver2 のフィールドにコピーしています。 

GDB_Schema08

さいごに

今回は、複雑で大量のデータを扱う際に誰でも一度は悩んでしまうデータベースのデータやスキーマをコピーする方法をご紹介しました。用途や環境に合わせて最適な方法を選びながら、データ管理をよりスムーズに進め、作業効率をアップさせましょう! 

フォローする