ビデオ

このチュートリアルは、ビデオでも利用できます。

一致するフィールドの検索

2 つのレイヤーを結合するには、レイヤー間で一致するフィールドを見つける必要があります。 空間データの国レイヤーと非空間データの洪水レイヤーに共通するフィールドを検索します。

  1. RiverFloods .zip ファイルをダウンロードし、コンピューター上の場所 (C ドライブなど) に展開します。
  2. 展開した [RiverFloods] フォルダーを開き、[RiverFloods.aprx] をダブルクリックして、ArcGIS Pro でプロジェクトを開きます。

    Windows エクスプローラーの RiverFloods.aprx

  3. 求められた場合、ArcGIS アカウントにサイン インします。
    注意:

    ArcGIS Pro へのアクセス権限または組織アカウントがない場合は、ソフトウェア アクセスのオプションをご参照ください

    世界のマップが表示されます。

    国境がある世界地図

    マップにはベースマップ レイヤー ([Charted Territory])、フィーチャ レイヤー ([Countries])、スタンドアロン テーブル レイヤー ([global_flood_risk.csv]) が 1 つずつあります。

    コンテンツ ウィンドウ

    テーブル データしか含まれていない .csv ファイルはスタンドアロン テーブルと見なされます。 空間情報 (マップに表示される国の形状と位置) と表形式の情報 (属性テーブル) の両方がある、[Countries] などのフィーチャ レイヤーとは対照的です。

    注意:

    [Countries] レイヤーは Natural Earth の公開ドメイン データセットから取得されたものです。 [Global_flood_risk.csv]World Resources Institute から入手しました。 データセットの名前は「Aqueduct Global Flood Risk Country Rankings」で、作成者は Hessel Winsemius (上級研究員、Deltares)、Phillip Ward (上級研究員、Institute for Environmental Studies of the VU University of Amsterdam) です。

  4. [コンテンツ] ウィンドウで [Countries] を右クリックして、[属性テーブル] を選択します。

    Countries レイヤーのショートカット メニューの属性テーブル

    属性テーブルがマップの下に表示されます。

  5. テーブルをスクロールしてすべてのフィールドを確認します。

    [SUBUNIT][NAME][NAME_LONG] など、テーブルには国名を格納するためのフィールドが多数あります。

    属性テーブル

    一部の国には複数の国名表記方法があるため、複数の名前フィールドが含まれています。 十分に標準化されていない場合、国名は結合テーブルとして最善の選択肢とは言えません。 幸いなことに、テーブルには異なるバージョンの国コード ([FIPS_10_][ISO_A2][ISO_A3] など) を持つフィールドが多数あります。 値が一意で標準化されているコード フィールドは結合フィールドに適しています。

    属性テーブルの FIPS、ISO およびその他のコード フィールド

    [global_flood_risk.csv] テーブルを見て、[Countries] レイヤーと同じコード フィールドがあるかどうかを確認します。

  6. [コンテンツ] ウィンドウで [global_flood_risk.csv] を右クリックし、[開く] を選択します。

    global_flood_risk.csv テーブル

    [Rank][Country][Current annual average population affected by river floods] の 3 つのフィールドしかこのテーブルにはありません。 残念ながら、国コード フィールドはないため、[Country] を結合フィールドとして使用するほかありません。 このフィールドに完全に一致するものがない可能性もありますが、近いものは見つかるはずです。

  7. [global_flood_risk.csv] テーブルをスクロールして、国名の表記方法をメモします。

    [Egypt, Arab Rep.][Congo, Dem. Rep.][Russian Federation] などの国名が特に目立つ表記方法です。

    国フィールドの Egypt, Arab Rep.、Congo, Dem. Rep.

  8. マップでエジプトをクリックします。 ポップアップをスクロールして、さまざまな名前フィールドを比較します。

    ポップアップ ウィンドウの NAME_SORT フィールド

    [global_flood_risk.csv] レイヤーとエジプトの表記方法が同じフィールドは [NAME_SORT] だけです。

  9. マップで他の国をいくつかクリックし、[NAME_SORT] フィールドを .csv ファイルの [Country] 列の名前と比較します。

    ほとんどの名前が一致します。 [Country] フィールドと [NAME_SORT] フィールドで一致する値を使用して 2 つのテーブルを結合してみましょう。

  10. ポップアップを閉じます。

フィーチャ レイヤーへのスタンドアロン テーブルの結合

[テーブル結合 (Add Join)] ツールを使用して、[global_flood_risk.csv] テーブルのフィールドを [Countries] レイヤーの属性テーブルと結合します。

  1. [コンテンツ] ウィンドウで [Countries] を右クリックし、[テーブルの結合とリレート] をポイントして [結合] を選択します。

    Countries レイヤーのショートカット メニューのテーブルの結合

    テーブルの結合」ウィンドウが開きます。

  2. [テーブルの結合] ウィンドウで、[入力テーブル][Countries] に設定されていることを確認します。

    これが結合されるフィールドを受け取るレイヤーです。

  3. [入力結合フィールド] に「NAME_SORT」と入力します。

    入力するとフィールド名がオートコンプリートされます。

  4. [結合先のテーブル][global_flood_risk.csv] を選択します。

    これが結合されるフィールドを提供するレイヤーです。

  5. [結合テーブル フィールド][Country] を選択します。

    結合操作で結合できるのは、[NAME_SORT] フィールドと [Country] フィールドが一致するレコードだけです。 今回の最初の操作では、問題なく一致する国だけを残します。 こうすることで、一致しなかった国を見つけやすくなります。

  6. [すべてのターゲット フィーチャを保持する] をオフにします。

    パラメーターが入力されたテーブルの結合ウィンドウ

  7. [OK] をクリックします。

結果の確認

マップの見た目が変化しています。 米国やグリーンランドなど、一部のエリアが金色の [Countries] レイヤーからなくなっています。 グリーンランドがないのは、[global_flood_risk.csv] レイヤーに含まれていないためです。 米国がないのは、[Country] フィールドと [NAME_SORT] フィールドで国名の表記方法が異なるためです。

一部の国がないマップ

結合されたフィールドを確認して、一致しなかった他の国を見つけます。

  1. [global_flood_risk.csv] 属性テーブルの下にはレコード カウントがあります。

    属性テーブルの下のレコード カウント

    レコード カウントによると、テーブルには 163 行 (163 か国) あります。

  2. テーブルの上の [Countries] をクリックして [Countries] 属性テーブルに切り替えます。

    このテーブルには 159 行あります。

    属性テーブルの下のレコード カウント

    つまり、163 か国の候補のうち、159 か国が結合中に一致したということになります。 一致しなかったのは 4 か国です。

    注意:

    [すべてのターゲット フィーチャを保持する] をオンのままにした場合、[Countries] レイヤー全体では 255 レコードになります。

    不足している国を確認します。

  3. [Countries] テーブルの末尾までスクロールします。

    .csv から結合された 3 つのフィールドがテーブルの末尾にあります。 好都合なことに、そのうちの 1 つが [Rank] であるため、これで不足しているフィーチャを見つけることができます。

  4. [Rank] の列見出しを右クリックし、[昇順で並べ替え] を選択します。

    Rank フィールドのショートカット メニューの昇順で並べ替え

  5. [Rank] フィールドをスクロールし、数字のギャップを見つけます。

    Rank フィールドで不足している数字

    ランク フィールドには、18、94、141、158 がありません。 .csv テーブルではこれらの数字が次の国に対応しています。

    ランク (Rank)

    18

    米国

    94

    チェコ共和国

    141

    スワジランド

    158

    ブルネイ ダルサラーム

    結合に不足しているのはこれら 4 か国です。

結合の解除とテーブルの編集

テーブル結合の最初の試行が完全に成功しないのはよくあることです。 結合を解除し、不足している 4 か国の名前を編集して再度結合してみましょう。

  1. [コンテンツ] ウィンドウで [Countries] を右クリックし、[テーブルの結合とリレート] をポイントして [すべての結合を解除] を選択します。

    Countries レイヤーのショートカット メニューのすべての結合を解除

  2. [結合の解除] ウィンドウで、[はい] をクリックします。

    [Countries] 属性テーブルで 3 つの余分なフィールドが表示されなくなります。 マップに再びすべての国が表示されるようになりました。

  3. マップで米国をクリックします。 ポップアップで、リストの 1/3 ほど下にある [NAME_SORT] フィールドを見つけます。

    ポップアップ ウィンドウの NAME_SORT フィールド

    [NAME_SORT] の属性は [United States of America] です。 [global_flood_risk.csv] では [Country] の属性が [United States] です。 結合するには 2 つの属性を完全に一致させる必要があります。 いずれかのテーブルを編集して一致させます。

  4. ポップアップを閉じます。

    ArcGIS Pro で直接編集できるため、空間情報があるレイヤー [Countries] を編集するのが最も簡単です。 ただし、今回のケースでは、空間情報があるレイヤーの方が国名としてより信頼性の高い情報源となります。 代わりに、ArcGIS Pro 外で .csv ファイルを編集します。

  5. [カタログ] ウィンドウの [プロジェクト] タブで、[フォルダー] の横にある矢印をクリックして展開します。

    カタログ ウィンドウのプロジェクト タブと展開されたフォルダー フォルダー

  6. [RiverFloods] フォルダーも展開します。
  7. [global_flood_risk.csv] を右クリックし、[ファイル エクスプローラーで表示] を選択します。

    global_flood_risk.csv データのショートカット メニューのファイル エクスプローラーで表示

    このチュートリアルの始めにダウンロードして展開した [RiverFloods] フォルダーがコンピューターのファイル エクスプローラーに表示されます。

  8. [global_flood_risk.csv] を右クリックし、Notepad か別のテキスト エディターでファイルを開きます。

    Windows エクスプローラーの global_flood_risk.csv

  9. .csv ファイルで行 18 を見つけます。
  10. この行のテキストを編集して、[United States] を「United States of America」に変更します。

    .csv ファイルの行 18

  11. 94[Czech Republic] を「Czechia」に変更します。

    チェコ政府は 2016 年に公式な英語の省略名として「Czechia」を承認しました。

  12. 141[Swaziland] を「eSwatini」に変更します。

    「Swaziland (スワジランド)」は 2018 年に自国の名前を「Eswatini (エスワティニ)」に変更しました。 もう 1 つのスペルである「eSwatini」が [Countries] レイヤーで使用されています。

  13. 158[Brunei Darussalam] を「Brunei」に変更します。

    ブルネイ ダルサラームはブルネイの正式名称です。

  14. .csv ファイルを保存して閉じます。

結合のやり直し

ArcGIS Pro.csv テーブルを更新して編集後の国名を表示し、もう一度結合してみます。

  1. ArcGIS Pro のテーブル ビューで [global_flood_risk.csv] テーブルに切り替えます。
  2. テーブルの下隅にある [更新] ボタンをクリックします。

    属性テーブルの下の更新ボタン

    テーブルが更新され、編集後の値が追加されます。

  3. [コンテンツ] ウィンドウで [Countries] を右クリックし、[テーブルの結合とリレート] をポイントして [結合] を選択します。
  4. [テーブルの結合] ウィンドウで、次のパラメーターを設定します。
    • [入力テーブル][Countries] を選択します。
    • [入力結合フィールド][NAME_SORT] を選択します。
    • [結合先のテーブル][global_flood_risk.csv] を選択します。
    • [結合テーブル フィールド][Country] を選択します。

    今回は結合と最終的な結果にこれまでよりも自信を持てます。洪水情報が含まれているのは 163 か国だけですが、空間情報があるレイヤーの 255 か国すべてが保たれるからです。

  5. [すべてのターゲット フィーチャを保持する] はオンのままにします。
  6. [結合の検証] をクリックします。

    テーブルの結合ウィンドウの結合の検証ボタン

    [メッセージ] ウィンドウが開きます。

  7. [メッセージ] ウィンドウの一番下までスクロールします。

    最後から 2 番目の列に [1 対 1 の結合で 163 個のレコードが一致しました] と表示されています。

    メッセージ ウィンドウ

    この数字から、結合が完全に成功したことがわかります。

  8. [閉じる] をクリックします。
  9. [テーブルの結合] ウィンドウで [OK] をクリックします。
  10. [global_flood_risk.csv] テーブルを閉じます。
  11. [Countries] 属性テーブルで末尾までスクロールし、3 つの新しいフィールドがあることを確認します。

    Countries 属性テーブルの結合済みフィールド

    一部の国 (バミューダ、グリーンランド、シンガポールなど) は [global_flood_risk.csv] になかったため、結合済みフィールドの値が NULL になっています。

  12. [Countries] 属性テーブルを閉じます。
    注意:

    [テーブルの結合 (Add Join)] ツールで実行した結合は永続的ではないため、最初の結合を解除できたのです。 結合を永続的なものにするには、[フィーチャのエクスポート (Export Features)] ツールか [フィーチャのコピー (Copy Features)] ツールを使用して [Countries] レイヤーをエクスポートします。または、[テーブルの結合 (Add Join)] の代わりに永続的な [フィールドの結合 (Join Field)] ツールを使用して結合を実行します。

結果の視覚化

最後に、マップ上でいずれかの結合済みフィールドを視覚化します。

  1. [コンテンツ] ウィンドウで [Countries] を右クリックし、[シンボル] を選択します。

    [シンボル] ウィンドウが表示されます。

  2. [シンボル] ウィンドウの [プライマリ シンボル] で、[ストレッチ] を選択します。
  3. [フィールド][Current annual average population affected by river floods] を選択します。

    このフィールドはレートや比率ではなくカウントを表しているため、シンボルを正規化する必要があります。 影響を受ける人口を総人口で割ることで値を正規化します。

  4. [正規化][POP_EST] を選択します。

    シンボル ウィンドウ

    マップでは、バングラデシュで 1 人あたりの河川氾濫リスクが最も高くなっています。

    バングラデシュが緑の円で囲まれているマップ

  5. [クイック アクセス ツールバー][プロジェクトの保存] ボタンをクリックします。

    クイック アクセス ツールバーのプロジェクトの保存ボタン

このチュートリアルでは、次のスキルを習得しました。

  • 2 つのテーブル間で一致するフィールドの見つけ方
  • [テーブルの結合] フィールドを使用して、あるテーブルから別のテーブルにフィールドを追加する方法
  • 結合の成功を評価する方法
  • 結合の解除方法
  • ArcGIS Pro.csv ファイルを編集してビューを更新する方法
  • 結合済みフィールドでフィーチャ レイヤーをシンボル化する方法

他のチュートリアルについては、チュートリアル ギャラリーをご覧ください。