複数のレイヤーを 1 つにマージ
ビデオ
このチュートリアルは、ビデオでも利用できます。
マージ ツールの構成
[マージ] ジオプロセシング ツールでは、複数のレイヤーをマージできますが、これらのレイヤーが同じフィーチャ タイプの場合に限ります。 たとえば、2 つのライン レイヤーをマージすることはできますが、ライン レイヤーとポリゴン レイヤーをマージすることはできません。 このツールを使用して、陸地を表す 2 つのポリゴン レイヤーをマージします。
- 「ノルウェーのプロジェクト パッケージ」をダウンロードします。
Norway.ppkx という名前のファイルが、コンピューターにダウンロードされます。 .ppkx ファイルは ArcGIS Pro プロジェクト パッケージです。これには、ArcGIS Pro で開くことができるマップ、データ、その他のファイルが含まれます。
- コンピューター上で、ダウンロードしたファイルを選択します。 [Norway.ppkx] をダブルクリックして ArcGIS Pro で開きます。 サイン インを求められたら、ArcGIS アカウントを使用して、サイン インします。
注意:
ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください。
ノルウェーのマップが表示されます。
このマップには、[NorwayLand] (薄い緑色) と [NorwayMinorIslands] (濃い緑色) という 2 つのポリゴン レイヤーがあります。
注意:
このマップのデータは「Natural Earth」から取得されたものです。
プロジェクトでは、すべての陸地ポリゴンを 2 つのレイヤーとして管理するよりも、1 つのレイヤーとして管理した方が簡単です。 [マージ] ジオプロセシング ツールを使用して、すべての陸地部分を含む新しいレイヤーを作成します。
- リボンの [解析] タブをクリックします。 [ツール] グループで、展開ボタンをクリックします。
ギャラリーが開き、よく使用するツールがいくつか表示されます。
- 下にスクロールします。 [データの管理] グループで [マージ] をクリックします。
[ジオプロセシング] ウィンドウが開き、[マージ] ツールのパラメーターが表示されます。 このツールを実行すると、複数の入力レイヤーが結合されて新しい 1 つの出力レイヤーになります。
ヒント:
[マージ] ツールの詳細を確認するには、[ジオプロセシング] ウィンドウにあるヘルプ ボタンをクリックします。
- [ジオプロセシング] ウィンドウの [入力データセット] で [NorwayLand] と [NorwayMinorIslands] を選択します。
[出力データセット] フィールドが更新されて [NorwayLand_Merge] になります。
- [出力データセット] フィールドをクリックします。
パスが表示されます。 デフォルトでは、新しいデータセットがプロジェクトのジオデータベースに格納されます。
出力データセットのデフォルトの場所と名前をそのまま使用します。
フィールド マップの構成
入力レイヤーに一致するフィールドがすべて含まれていることが分かっている場合は、このツールをすぐに実行できます。 一方で、一致しないフィールドを含むレイヤーをマージしなければならないこともあります。 ここでは、このケースを説明します。 [フィールド マップ] パラメーターを使用して、レイヤーが正しくマージされており、重要な属性情報が失われていないことを確認します。
- [ジオプロセシング] ウィンドウの [フィールド マップ] で、[編集] をクリックします。
[フィールド プロパティ] ウィンドウが表示されます。
- [フィールド プロパティ] ウィンドウで、[リセット] をクリックします。
- [フィールド マップのリセット] ウィンドウで、[はい] をクリックします。
リセットすることで、両方の入力レイヤーのフィールドが [フィールド マップ] に含まれます。
- [フィールド] で [featurecla (2)] をクリックします。
[(2)] ラベルは、この出力フィールドに関連しているソース フィールドが 2 つ存在することを示します。 [テーブル] にある情報は、[featurecla] というフィールドがどちらの入力レイヤーにも存在することを示します。
これら 2 つのフィールドの内容がマージされ、出力レイヤー内で新しい 1 つの [featurecla] フィールドになります。
- [出力フィールド] で [min_zoom] をクリックします。
このフィールドには、[NorwayLand] レイヤーから取得された 1 つのソースしかありません。
属性テーブルを表示して、これに相当するフィールドが別の名前で [NorwayMinorIslands] レイヤーに存在するかどうかを確認します。
- [フィールド プロパティ] ウィンドウを閉じます。 [コンテンツ] ウィンドウで [NorwayLand] を右クリックしてから [属性テーブル] を選択します。
属性テーブルが表示されます。
ヒント:
該当するレイヤーを選択し、Ctrl + T キーを押して、属性テーブルを開くこともできます。
- [NorwayMinorIslands] レイヤーの属性テーブルも開きます。
- 属性テーブルの上にある [NorwayMinorIslands] タブを右クリックしてから [新規タブ グループを上下に並べる] を選択します。
これで、両方のテーブルを同時に表示できるようになりました。 [min_zoom] フィールドと [zoom_level] フィールドには、よく似た情報が格納されています。 どちらのフィールドでも、フィーチャを Web マップに表示する場合のズーム レベルが推奨されています。
これら 2 つのフィールドをマージして、出力レイヤー内で 1 つのフィールドにします。
- [ジオプロセシング] ウィンドウの [フィールド マップ] で、[編集] をクリックします。 [フィールド プロパティ] ウィンドウの [フィールド] で、[min_zoom] フィールドをクリックします。
- [テーブル] で [NorwayMinorIslands] をクリックします。
選択したレイヤーからソース フィールドを追加することができます。
- [アクションとソース フィールド] で [zoom_level] をクリックします。
これで、[min_zoom] フィールドと [zoom_level] フィールドの両方が出力レイヤー内の新しいフィールドに関連付けられます。
- [フィールド] で [ORIG_FID] をクリックします。
このフィールドは、1 つのテーブルにしか存在しません。 このフィールドは新しいレイヤーでは不要になるため、削除します。
- [ORIG_FID] で [削除] ボタンをクリックします。
[zoom_level] の値は [min_zoom] フィールドにすでに含まれているため、こちらも削除しても構いません。
- [zoom_level] フィールドを削除します。
[(2)] ラベルが付いていない最後のフィールドは [Name] です。 属性テーブルから、小さな島々の多くは名前が記録されているが、[NorwayLand] レイヤーに名前フィールドが存在していないことがわかります。
[Name] フィールドを出力フィールドとして保持します。 ソース フィールドが 1 つだけになっても問題ありません。
- [フィールド プロパティ] ウィンドウで、[OK] をクリックします。
- [ジオプロセシング] ウィンドウで、[出力へのソース情報の追加] チェックボックスをオフのままにします。
属性テーブルから、[featurecla] フィールドで [NorwayLand] レイヤーから取得されたすべてのフィーチャの値が [Land] になっており、[NorwayMinorIslands] レイヤーから取得されたすべてのフィーチャの値が [Minor island] になっていることがわかります。 このフィールドでソース レイヤーを確認できるため、ソース情報をさらに追加する必要はありません。
- [実行] をクリックします。
このツールが実行され、[NorwayLand_Merge] という新しいレイヤーが [コンテンツ] ウィンドウに表示されます。
[ジオプロセシング] ウィンドウの下部に警告が表示されます。
エラーの修正
マージが正常に実行されませんでした。 マップ上で、小さな島々がまだ濃い緑色になっていることがわかります。 これらの島々は、マージ後のレイヤーに含まれていません。
警告の内容に目を通し、何が間違っていたかを確認します。
- [ジオプロセシング] ウィンドウの警告で [詳細の表示] をクリックします。
ウィンドウが開き、[入力 OID 10 で失敗しました。値 'Minor island' を出力フィールド featurecla に書き込めませんでした。] という警告メッセージが表示されます。
[featurecla] フィールドを調べて、このメッセージが表示された原因を特定します。
- メッセージ ウィンドウを閉じます。
- [ジオプロセシング] ウィンドウの [フィールド マップ] で、[編集] をクリックします。 [フィールド プロパティ] ウィンドウで、[featurecla (2)] が選択されていることを確認します。
[プロパティ] で、該当するフィールドの [タイプ] の値が [Text] に設定されており、[長さ] の値が [11] に設定されていることがわかります。
これらのプロパティは、最初の入力データセットである [NorwayLand] から取り込まれたものです。 11 文字は、Land という語句を格納するには十分な長さですが、Minor island という語句を格納するには長さが足りません。
- [長さ] に「12」と入力します。
また、出力データセットでこのフィールドの意味がもっと明確になるように、名前とエイリアスを変更します。
- [フィールド名] に「source」と入力します。 [エイリアス] に「Source Layer」と入力します。
- [フィールド プロパティ] ウィンドウで、[OK] をクリックします。
- [ジオプロセシング] ウィンドウで [実行] をクリックします。
マップ上の [NorwayLand_Merge] レイヤーが更新されます。 [出力データセット] の名前を変更していないので、前に作成した名前が上書きされました。 今回は、すべての島が網羅されます。
- [NorwayLand_Merge] レイヤーの属性テーブルを開きます。
- テーブルをスクロールして、両方の入力レイヤーから取得されたフィーチャが含まれており、これらのフィールドが正常にマージされていることを確認します。
- 3 つの属性テーブルをすべて閉じます。
- [コンテンツ] ウィンドウで [NorwayLand] を右クリックしてから [削除] を選択します。
- [NorwayMinorIslands] レイヤーも削除します。
- [クイック アクセス ツールバー] で [プロジェクトの保存] ボタンをクリックします。
- このプロジェクトが以前のバージョンで作成されたというメッセージが表示された場合は、[はい] をクリックします。
2 つのポリゴン レイヤーをマージして新しい 1 つのレイヤーにしました。 フィールド マップを使用して、一致しないフィールドを新しいレイヤー内でマージおよび書式設定する方法を確認しました。
他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。