Chaque mois, je dois QA / QC quelques données de rues pour un comté entier (plus de 47 000 enregistrements). La première étape consiste à comparer les deux fichiers. Actuellement, j'utilise un outil qui a été créé en interne via VBA il y a environ 5 ans. Il fonctionne compare les deux fichiers et rapporte les différences en fonction de quelques facteurs (enregistrements ajoutés, enregistrements supprimés, changements d'adresse, changements de ville, longueur de segment / changements de sommets). Je les exporte ensuite vers des fichiers de formes individuels. En outre, l'outil fonctionne dans ArcGIS 9.3
mais ne fonctionnera plus dansArcGIS 10.1
L'outil fonctionne très bien, mais il faut environ une heure pour le terminer.
J'espère avoir commencé à travailler sur l'amélioration de cet outil pour accélérer les performances. J'ai examiné une variété de méthodes, y compris le Compare Feature Tool
et Select by Location
.
Ces deux outils fonctionnent beaucoup plus rapidement, mais ils ne semblent pas capturer tout ce dont j'ai besoin. Le gros problème que j'ai avec le, Compare Feature Tool
c'est que je ne peux pas choisir sur quel champ comparer. Par défaut, il s'agit d'ObjectID lorsque j'ai besoin de comparer par Segment_ID. Il n'y a pas d'option pour le sélectionner.
Quelqu'un at-il une bonne solution ou des idées sur la façon de réaliser une comparaison complète comme je l'ai décrit?
Pour une raison quelconque, ArcGIS ne reconnaît pas la jointure que j'essaie selon la réponse de RyanDalton.
Mais
En suivant les conseils d'une jointure, j'ai trouvé comment trouver les enregistrements ajoutés et les enregistrements supprimés dans les deux fichiers:
- Joindre le fichier de formes du mois précédent au fichier de formes du mois en cours via le champ Segment_ID
- Exécution d'une requête de définition où Segment_ID IS NULL
- Exporter cela vers un nouveau fichier de formes (fonctionnalités ajoutées)
J'inverse ensuite les jointures et trouve les fonctionnalités supprimées
Toujours en train de trouver un moyen de trouver les autres différences répertoriées, puis de les enchaîner dans un modèle.
Je peux trouver tous les enregistrements qui ont changé en effectuant un enregistrement de sélection par emplacement dans l'un des ensembles de données qui sont identiques à l'autre ensemble de données. Je change ensuite de sélection et cela me donne tous les enregistrements qui ne sont pas identiques.
Je vais tout mettre dans un modèle et j'espère que cela fonctionne aussi bien.
Segment_ID
dans votre table de sortie.Dans mes expériences, la comparaison de fonctionnalités utilise toujours FID ou ObjectID comme base de la comparaison même si segment_id est sélectionné comme champ de tri. Les FID de fichiers de formes sont recyclés (réorganisés), donc après quelques modifications, de nombreux FID, sinon tous, sont différents pour leurs zones géographiques correspondantes. Ils auront donc une "vraie" erreur de comparaison de caractéristiques. Si vous utilisez un ObjectID de GeoDatabase ou GISquirrel, les ID ne sont pas recyclés et vous pouvez compter sur cet outil. Vous devez conserver les bases de données clouées sur la période de temps afin que les ObjectIds ne soient jamais réorganisés.
Quoi qu'il en soit, la description du champ de tri dans l'aide de l'outil GP est TRÈS trompeuse. Cet outil serait formidable si la base de comparaison pouvait être le segment_ID.
la source