Gegeben:
- eine Geodatabase A , die 100 Datensätze genannt enthält eine 1 .. a 100
- eine Geodatabase B , die 100 Datensätze mit den Namen b 1 .. b 100 enthält
Ich möchte programmgesteuert (*) für jedes Datensatzpaar ( a i , b i ) bestimmen , ob sie identischen Inhalt haben. Da ich 100 Paare vergleiche, brauche ich eine effiziente Vergleichsmethode. Im Idealfall würde der gesamte Vergleich nur wenige Sekunden dauern.
(*) Hinweis: Ich erwähne den Begriff "programmatisch", nicht weil ich nach Codebeispielen suche (obwohl ich sie gerne akzeptieren würde), sondern um zu betonen, dass ich nach einer sehr schnellen Vergleichsmethode suche, die es niemals geben würde möglich sein, wenn 100 Datensatzpaare manuell verglichen werden.
Ich plane, diese Vergleichsmethode selbst zu implementieren. Daher suche ich im Wesentlichen nach einem Algorithmus und nicht nach einem gebrauchsfertigen Tool (es sei denn, es handelt sich möglicherweise um Open Source).
Mir ist bewusst, dass ich wahrscheinlich nach dem Unmöglichen frage, da dies den Vergleich des vollständigen Inhalts der Datensätze erfordern würde (möglicherweise mit den Tools im Toolset Datenverwaltung → Datenvergleich ). oder zumindest das Vergleichen von Dataset-Hashes / Digests, aber das Generieren von Digests würde auch erfordern, dass zuerst alle Daten der Datasets durchgesehen werden.
Daher ist mein bisher bester Ansatz der folgende:
Bestimmen Sie zuerst, welche Datensatzpaare ( a i , b i ) möglicherweise nicht identischen Inhalt haben können.
Führen Sie einen vollständigen Datenvergleich nur für die verbleibenden Datensatzpaare durch.
Meine Fragen:
Berechnet ArcGIS automatisch eine Art Dataset-Digest, den ich abfragen könnte? Wenn das so ist, wie?
(Mir ist nichts dergleichen bekannt, daher erwarte ich, dass die Antwort "Nein" lautet. Bitte beweisen Sie mir das Gegenteil.)
Was sind einige sehr effiziente und zuverlässige Methoden, um festzustellen, ob zwei Datensätze möglicherweise nicht identischen Inhalt haben können?
(Ich habe bisher überlegt, Änderungszeitstempel zu vergleichen, obwohl ich nicht weiß, wie zuverlässig diese sind, und die Schemas der Datensätze zu vergleichen. Wie zuverlässig sind Zeitstempel in einer ArcGIS-Geodatabase? Gibt es andere Datensatzmerkmale, die für diesen Zweck dienen könnten?)