Jeden Monat muss ich einige Straßendaten für eine ganze Grafschaft (über 47.000 Datensätze) QA / QC. Der erste Schritt besteht darin, die beiden Dateien zu vergleichen. Derzeit verwende ich ein Tool, das vor ca. 5 Jahren im eigenen Haus über VBA erstellt wurde. Es vergleicht die beiden Dateien und meldet die Unterschiede anhand einiger Faktoren (hinzugefügte Datensätze, gelöschte Datensätze, Adressänderungen, Stadtänderungen, Änderungen der Segmentlänge / Eckpunkte). Diese exportiere ich dann in einzelne Shapefiles. Darüber hinaus funktioniert das Tool, funktioniert ArcGIS 9.3
jedoch nicht mehrArcGIS 10.1
Das Tool funktioniert hervorragend, dauert jedoch ungefähr eine Stunde.
Ich habe begonnen, dieses Tool hoffentlich zu verbessern, um die Leistung zu beschleunigen. Ich habe eine Vielzahl von Methoden untersucht, einschließlich der Compare Feature Tool
und Select by Location
.
Beide Tools arbeiten erheblich schneller, scheinen jedoch nicht alles zu erfassen, was ich brauche. Das große Problem, das ich mit dem habe, Compare Feature Tool
ist, dass ich nicht auswählen kann, auf welchem Feld ich vergleichen möchte. Der Standardwert ist ObjectID, wenn ich nach Segment_ID vergleichen muss. Es gibt keine Option, um dies auszuwählen.
Hat jemand eine gute Lösung oder Ideen, wie man einen vollständigen Vergleich erzielen kann, wie ich es beschrieben habe?
Aus irgendeinem Grund erkennt ArcGIS den Join, den ich gemäß der Antwort von RyanDalton versuche, nicht.
Aber
Ich habe den Rat eines Joins befolgt und herausgefunden, wie die Unterschiede zwischen hinzugefügten und gelöschten Datensätzen in den beiden Dateien gefunden werden können, indem:
- Verknüpfen des Shapefiles des vorherigen Monats mit dem Shapefile des aktuellen Monats über das Feld Segment_ID
- Durchführen einer Definitionsabfrage, bei der Segment_ID NULL ist
- Exportieren in ein neues Shapefile (Features hinzugefügt)
Ich kehre dann die Verknüpfungen um und finde die gelöschten Funktionen
Wir arbeiten immer noch daran, die anderen aufgelisteten Unterschiede zu finden und sie dann alle in einem Modell zusammenzufügen.
Ich kann alle Datensätze finden, die sich geändert haben, indem ich aus einem der Datensätze, die mit dem anderen Datensatz identisch sind, eine Auswahl nach Standortdatensätzen durchführe. Ich wechsle dann die Auswahl und es gibt mir alle Datensätze, die nicht identisch sind.
Ich werde alles in ein Modell packen und hoffentlich funktioniert es genauso gut.
Segment_ID
in Ihre Ausgabetabelle widerzuspiegeln .Nach meinen Erfahrungen verwendet Feature Compare immer FID oder ObjectID als Grundlage für den Vergleich, auch wenn segment_id als Sortierfeld ausgewählt ist. Shapefile-FIDs werden recycelt (neu angeordnet), sodass nach einigen Änderungen viele, wenn nicht alle FIDs für ihre entsprechenden Regionen unterschiedlich sind. Sie haben somit einen "wahren" Merkmalsvergleichsfehler. Wenn Sie eine ObjectID aus GeoDatabase oder GISquirrel verwenden, werden die IDs nicht recycelt und Sie können sich auf dieses Tool verlassen. Sie müssen die Datenbanken über einen bestimmten Zeitraum hinweg aufbewahren, damit die ObjectIds niemals neu angeordnet werden.
Unabhängig davon ist die Beschreibung des Sortierfelds in der GP-Tool-Hilfe SEHR irreführend. Dieses Tool wäre enorm, wenn die Vergleichsbasis die segment_ID sein könnte.
quelle