タグ付けされた質問 「attribute-joins」

共通の属性値に基づいて2つ以上のデータセットを接続するプロセス。空間結合の場合、個別のタグがあります。

1
空間的な「多対1」結合の作成
私は「多対1」の結合と呼ばれるものを作成しようとしています。それが正しい言葉かどうかはわかりません。パーセルのアカウント番号(R0003285)ごとにモバイルホーム(つまり-M1007970)の一意のアカウント番号を持つテーブルがあります。(パーセルごとに多くのモバイルホーム-多対1。)このテーブルをパーセルジオメトリに結合する必要があります-それでも、パーセルごとに1つのポリゴンしかありません。 したがって、たとえば、テーブルには3つの行があり、1つの行にモバイルホームアカウント番号M1007370、別の行にM1007371、および別の行にM1059370がありますが、すべて同じパーセル番号R0032585です。パーセルジオメトリには、R0032585と同じフィールドしかありません。 入会すると、12,088のモバイルホームレコードと44,103の小包があります。「すべてのレコードを保持する」場合、7,947のモバイルホームアカウント番号(元の12,088)だけの44,103レコードがあります。「一致するレコードのみを保持」に基づいて参加すると、合計で7,947件のレコードしか得られません。 過去に成功し、モデルを作成しました。このモデルでは、モバイルホームのテーブルを使用して、パーセルアカウント番号に基づいてパーセルレイヤー(.lyr-モデルで結合できる/結合できる唯一の方法)に結合します。一致するレコードのみを保持するフィーチャをファイルジオデータベースにコピーします。次に、ファイルジオデータベースからSDEシステムに追加します。何も変わっていないので、これは私が理解できない理由で現在動作を停止しました。 おそらく、誰かが私がやろうとしていることよりも上手に伝えることができ、それが多対1関係以外のものと呼ばれる場合は(1対多だとは思わない...)。

2
テーブルへのフィーチャクラスの1対多の結合
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)。すべてのファイルは同じフォルダーにありますが、ジオデータベースにはありません。

5
ArcMapの結合フィールドをプログラムで識別しますか?
ArcMapで2つのデータセットをテーブル結合するために使用されている結合フィールドをプログラムで識別することは可能ですか?現在、ArcGIS 10.0、SP5を使用しており、ArcPyソリューションを希望しますが、ArcPyソリューションが利用できない場合でも、他のソリューションに反対することはありません。 私が試した方法の1つは、すべてのフィールドをループして、一致する「baseName」を探すことでしたが、これは、両方のデータベースのフィールド名が同じであることを期待している「教育的な推測」にすぎません。 私が求めているものをグラフィックで表現するために、基本的には「結合の追加」ダイアログに表示される「入力結合フィールド」と「出力結合フィールド」を識別したいと思いますが、もちろん事後です。 これは、「参加」をプログラムで検出できるかどうかに関するタグ付きの質問です。、しかしこの場合、2つ(またはそれ以上)のデータセットを結合するために使用されているFIELDを識別する機能を拡張したいと思います。

7
ExcelテーブルをArcMapのシェープファイルに結合しますか?
私はイングランドとウェールズの下位層スーパー出力エリア(LSOA)のシェープファイルを持っています。イングランドの各LSOAの剥奪のインデックスのスプレッドシートがあります。剥奪データをシェープファイルに結合して、ArcMapでマッピングできるようにしたいと考えています。[結合と関連付け]> [結合]オプションを使用してテーブルを結合し、シェープファイルとスプレッドシート(​​一致するデータ)の両方のLSOAデータのフィールドに入力しました。属性テーブルは、Excelスプレッドシートから属性テーブルにデータフィールドを追加しましたが、すべてのデータが空白です!! 以前は問題であったが、大丈夫のようであるということを読んで、「タイプ」フィールドを調べてみました。 誰かが提案できることはありますか?

2
一致しないIDと名前(類似した文字列)を持つシェープファイルにテーブルを結合する方法は?
自動化された解決策を見つけようとしているという迷惑な問題があります。簡略版は、シェープファイルと、国内の地域用に作成されたデータのテーブルがあることです。作成されたデータテーブルには、シェープファイルと照合するための標準化されたGID /管理コードは含まれておらず、リージョン名も完全には一致していません。よく見てみましょう。これが私のダミーデータフレーム+シェープファイルです。 library(rgdal) #load in shapefile arm <- readOGR("D:/Country-Shapefiles/ARM_adm_shp", layer = "ARM_adm1") #create dummy data frame id <- c(100:110) name <- c("Aragatsotn", "Ararat", "Armavir", "Gaghark'unik'", "Kotayk", "Lorri", "Shirak", "Syunik'", "Tavush", "Vayots' Dzor", "Yerevan City") value <- runif(11, 0.0, 1.0) df <- data.frame(id, name, value) だから私が持っているのは、一見ランダムなID、地域名、およびコロプレスマップでプロットされる値のテーブルです。このように見えます: > df id name value …

2
.csvファイルとのテーブル結合により、結合後にフィールドがnullになる
.dbfファイルについて既に尋ねられた質問と同様に、私は.csvファイルをQGISの.gdbまたはシェープファイルカバレッジに結合しようとしています。結合の前にQGISに追加されたテーブルは正常に見えますが、結合が完了すると、結合されたテーブルには結合されたすべてのフィールドのNULL値が含まれます。同じことがさまざまな異なるテーブルで発生し、シェープファイルと.gdbファイルのどちらに参加するかに関係なく。 OSX 10.8.5でQGIS 2.0.1を実行しています。元のテーブルファイルは.mdb形式で含まれているので、購入してMDB ACCDB Viewerを使用して.CSVにエクスポートしました。個別に表示すると問題ないという事実から、問題は結合手順にあるのではなく、結合手順にあると思います。テーブル自体。 提案?

2
ArcGIS Desktopを使用して複数のフィールドに基づいて結合を作成しますか?
複数のフィールドに基づいて結合したいファイルジオデータベースに2つのフィーチャクラスがあります。私はこのサイトとGoogleを検索しましたが、思いついたのはMake Query Tableツールを使用することだけでした。私はこれを試しましたが、SQLエラーが出続けます。私のSQLはかなり貧弱であり、何かが欠けていると確信しています。 新しいフィールドを作成してフィールドの値を連結できることは承知していますが、可能であればこれを避けたいと思います。 私は次のようなものを使用しています: (Table1.Field1 = Table2.Field1) AND (Table1.Field2 = Table2.Field2) AND (Table1.Field3 = Table2.Field3) クエリを確認すると、次のエラーが表示されます。 There was an error with the expression. An Invalid SQL statement was used. An invalid SQL statement was used. [Table1] また、誰かがこのツールを使用しない別の解決策を持っている場合、私はそれについて聞いてうれしいです。

2
PostGISの2つのレイヤーの違い
2つのレイヤーの違いを計算する正しい方法は何ですか?私は次のアプローチを使用しようとしました: SELECT ST_Difference(river.geom, lakes.geom) FROM river LEFT JOIN lakes ON ST_Intersects(river.geom, lakes.geom) しかし、出力では、riverのどのジオメトリとも交差しないレイヤーのジオメトリが失われlakesます。左結合が期待どおりに機能しないようです。 現在、私は別のアプローチを使用していますが、これが正しいかどうかはわかりません: SELECT ST_Difference(river.geom, lakes.geom) FROM river JOIN lakes ON ST_Intersects(river.geom, lakes.geom) UNION SELECT river.geom FROM river JOIN lakes ON NOT ST_Intersects(river.geom, lakes.geom)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.