ArcGIS for Desktopを使用してシェープファイル間の違いを見つけますか?


12

毎月、郡全体の道路データをQA / QCする必要があります(47,000件を超えるレコード)。最初のステップは、2つのファイルを比較することです。現在、私は約5年前にVBAを介して社内で作成されたツールを使用しています。2つのファイルを比較し、いくつかの要因(追加されたレコード、削除されたレコード、住所の変更、都市の変更、セグメントの長さ/頂点の変更)に基づいて違いを報告します。次に、これらを個々のシェープファイルにエクスポートします。さらに、ツールは機能しますArcGIS 9.3が、機能しなくなりますArcGIS 10.1

このツールは問題なく動作しますが、完了するまで約1時間かかります。

パフォーマンスを高速化するために、このツールの改善に取り組んでいます。Compare Feature Toolおよびを含むさまざまな方法を検討しましたSelect by Location

これらのツールはどちらも非常に高速に動作しますが、必要なものをすべてキャプチャしているようには見えません。私が抱える大きな問題Compare Feature Toolは、比較するフィールドを選択できないことです。Segment_IDで比較する必要がある場合、デフォルトでObjectIDになります。それを選択するオプションはありません。

私が説明したように、誰かが完全な比較を達成する方法について良い解決策やアイデアを持っていますか?


何らかの理由で、ArcGISはRyanDaltonの答えに従って私が試みている結合を認識していません。

だが

結合のアドバイスを受けて、2つのファイルで追加されたレコードと削除されたレコードの違いを見つける方法を見つけました。

  1. Segment_IDフィールドを介して前月のシェープファイルを現在の月のシェープファイルに結合する
  2. Segment_IDがNULLの場合の定義クエリの実行
  3. 新しいシェープファイルへのエクスポート(追加機能)

次に、結合を逆にして、削除された機能を見つけます

リストされている他の相違点を見つけ、それらをすべてモデルにまとめます。


他のデータセットと同じデータセットの1つから場所による選択レコードを実行することにより、変更されたすべてのレコードを見つけることができます。次に、選択を切り替えて、同一ではないすべてのレコードを取得します。

すべてをモデルに入れて、うまくいけばうまくいくことを願っています。

回答:


11

を使用するCompare Feature Toolと、ダイアログのソートフィールドSegment_IDとしてフィールドを選択するだけです。

[sort]フィールドは、入力ベーステーブルおよび入力テストテーブルのレコードをソートするために使用されます。レコードは昇順でソートされます。入力ベースフィーチャと入力テストフィーチャの両方の共通フィールドで並べ替えることにより、各入力データセットの同じ行を確実に比較できます。

出力テーブルの一部としてSegment_IDフィールドを取得する場合は、出力Compare FeatureテーブルをにソースTest Tablecf.Object_ID=tt.Object_ID結合してから、結合したテーブルをSegment_IDでエクスポートしてみてください。

これをモデルに簡単に入れて、再現性を簡単にすることができます。


ただし、比較ツールを使用して作成されたテーブルには、Segment_IDフィールド(一意の識別子)が含まれていません。代わりに、実際には役に立たないobjectIDをリストするだけです。
クレイグ

Segment_ID出力テーブルに入ることを反映するために私の答えを更新しました。
RyanKDalton

結合を追加すると、ArcMapが毎回クラッシュします。ふりだしに戻る。
クレイグ

1

私の経験では、Segment_idがSort Fieldとして選択されていても、Feature Compareは常にFIDまたはObjectIDを比較のベースとして使用します。シェープファイルFIDはリサイクル(並べ替え)されるため、いくつかの編集を行った後、すべてではないにしても、多くのFIDが対応する地域で異なっています。したがって、「真の」機能比較エラーが発生します。GeoDatabaseまたはGISquirrelのObjectIDを使用する場合、IDはリサイクルされないため、このツールを使用できます。ObjectIdの順序が変更されないように、データベースを一定期間保持する必要があります。

とにかく、GPツールヘルプの[並べ替えフィールド]の説明は非常に誤解を招くものです。比較のベースがsegment_IDである場合、このツールは非常に大きなものになります。

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