テーブルへのフィーチャクラスの1対多の結合


10

ArcMap 10.2.2をAdvancedライセンスで使用しています。私は他の基本的な分析にArcMapを使用しましたが、プログラムはかなり新しく、基本的なコーディングスキルしかなく、ArcMapのSQLコードビルダーを使用した非常に基本的なクエリ以外のSQLの経験はありません。

私は種の地理的範囲の多角形を持っています、そしてそれらの種によって運ばれる病原体/病気のリストの表があります。特定の種は複数の病原体を運ぶ。理想的な世界では、範囲のポリゴンを種+病原体のテーブルに結合し、ポリゴン/空間データを保持しますが、これを行うGISツールはないようです(私は後で重複する病原体を数えるので、複数の病原体に関する情報を持つ1つの機能ではなく、各種と病原体の組み合わせに独自の機能があることが重要です)。これらは私のデータのようになります(#1&#2、#3は後で使用します):

空間フィーチャの属性テーブル:

空間フィーチャの属性テーブル

空間データのないテーブル:

空間データのないテーブル

(これらは実際のデータではなく、病原体と種の組み合わせは実際とは異なる場合があることに注意してください。実際には115のポリゴンと519のテーブル行があります。種は1〜40の病原体を運ぶため、種は1〜40の行を持ちます私のテーブル)

追加のボーナスとして、私が行う必要がある将来の分析のために、テーブルからのデータの追加の列を保持できるように、この1対多の結合を実行できることが理想的です(例については以下を参照)これがどのように見えるか)。ただし、結合の方法がわかれば分析をやり直すことができるため、これはそれほど重要ではありません。

空間データなしのテーブル、追加フィールドあり

この問題に対して私が見つけたいくつかの解決策がありますが、それらは以下にリストされた理由のために私にとってはうまくいきませんでした:

解決策1:David Aalbersのブログ - 新しいスクリプトを編集する方法を理解し、それをArcMapにインポートする方法を理解するには、あまりにも初心者です。古いスクリプトを試しましたが test、test_1、test_1_1、test_1_1_1などのタイトルの空のポリゴンが大量に生成されました。

解決策2:1対多の結合 -クエリテーブルの作成ツールを使用しようとしました(式ビルダーを使用しましたが、SQLの知識がありません)。エラー000383が発生しました:テーブルの問題、ワークスペースが見つかりません&実行に失敗しました(MakeQueryTable)。すべてのファイルは同じフォルダーにありますが、ジオデータベースにはありません。


1
Make Query Tableはデータベースでのみ機能します
FelixIP '19年

1
クエリテーブルの作成には、同じfgdb内のすべてのデータが必要です。
クレウィス2016年

回答:


22

フィーチャを乗算するには、これを行います(ArcGIS 10.1以降を使用しているユーザーが利用できます)。

  1. フィーチャとテーブルを同じファイルジオデータベースに配置します(これを機能させるには、Shapefiles / Excel / DBFファイルをジオデータベースに変換する必要があります)。
  2. ポリゴンに保持される一意のIDフィールドがあることを確認してください(Longフィールドを作成してObjectIDを計算し、ObjectID値が失われないようにすることができます)。
  3. 一致するフィールドでフィーチャ(空間データ)に対してテーブル(属性、空間データなし)の標準的な結合を実行します。フィーチャ(空間データ)の属性テーブルには、以前と同じ数のフィーチャが含まれますが、これについては心配しないでください。すべて次のステップで表示されます。
  4. フィーチャを新しいフィーチャクラスと同じジオデータベースにエクスポートします(コンテンツウィンドウからレイヤーを右クリックし、[エクスポート]を選択します)。エクスポートされたフィーチャの属性テーブル内のフィーチャの数は、元のテーブル(属性あり、空間データなし)と同じ、または多対多の結合の場合は完全なセットと同じ数のフィーチャを持つようになりました。機能と関連レコードのすべての組み合わせに対する機能の数。

機能は新しい機能クラスで乗算され、すべての機能が存在し(テーブルに一致がなかった場合でも)、以前に1:Mの一致があった場合は、機能が乗算されて1:1になります。各機能とそのすべてのテーブルエントリとの一致。手順2で作成した一意のIDフィールドを使用すると、乗算されたポリゴンを元の単一のポリゴンセットに関連付けることができます。乗算されたフィーチャの新しいフィーチャクラスを使用すると、テーブルフィールド、集計、空間結合などを選択できます。

それぞれの固有の種と病気の組み合わせを表す固有のID値を生成する場合は、このブログ投稿で説明されている10.2バージョンのツールを使用できます。このタイプのキーを使用すると、クエリテーブルの設定を使用して実際のマルチフィールドリレーションシップを作成する代わりに、マルチフィールドリレーションシップに基づいてサマリーテーブルと統計に標準結合を行うことができます。

ここでは、ESRIから良いの参照がある:https://support.esri.com/en/technical-article/000001228


ジオデータベース内にエクスポートすると完全に機能します。
MooseGirl 2016年

1
手順4を変更して、元のデータと同じジオデータベースの新しいフィーチャクラスにエクスポートする必要があることを示しました。その手順に従うことは常に機能するはずですが、ソースおよび出力データが格納される場所のいくつかのバリエーションも許可される可能性があります。
Richard Fairhurst

以前は明らかでしたが(将来の絶望的な人々はきっとそれがスペルアウトされることに感謝するでしょうが)、ジオデータベースにエクスポートできないため、当初はジオデータベースフォルダー(または何か)に適切に接続していませんでした。私は再起動し、それはうまくいきました。
MooseGirl 2016年

1
結合されたフィーチャには適切な数の属性がなく、エクスポートされたフィーチャにはあります。これを試してみると、すべての手順を完了するまで、これは私をとても苛立たせました。
nittyjee

#3にnot
matt wilkie

-2

SQLクエリ:

SELECT spp, disease, type
FROM table1, table2
WHERE table1.bimonial = table2.spp;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.