Attributtabellen aus Feature-Classes zu einer einzigen Tabelle zusammenführen?

8

Ich habe eine große Anzahl (ca. 1.100) Polygon-Feature-Classes.

Ich möchte die Attributtabellen aus jeder dieser Feature-Classes auf einfachste und schnellste Weise zu einer einzigen Tabelle zusammenführen .

Dies ist der erste Schritt in einem Skript oder Modell, das diese Tabelle mit allen Polygonwerten aus allen Ebenen verwendet, um einige tabellarische Verknüpfungen und Auswahlen durchzuführen. Jedes Mal, wenn ich dieses Skript ausführe, möchte ich die Tabellenzusammenführung erneut durchführen, da sich die zugrunde liegenden Polygon-Feature-Classes möglicherweise ändern. Wenn es möglich ist, die zusammengeführte Tabelle aus Geschwindigkeitsgründen in den Speicher zu schreiben, ist dies am besten.

Ich verwende ArcGIS 10.1. Ich denke, ich kann dies in VBA / VB.net leicht genug tun, aber es ist möglicherweise am einfachsten, es als ModelBuilder-Modell einzurichten, damit es leicht mit Kollegen geteilt werden kann.

user13706
quelle
Python ist eine viel bessere Sprache für die Geoverarbeitung als VB.NET. ArcPy bietet nur viele nützliche Dinge, die Sie in anderen Umgebungen nicht erhalten.
Curtis Price

Antworten:

8

Ich persönlich würde das Modell das Tool " Zusammenführen" ausführen lassen , um eine zusammengeführte Feature-Class zu generieren, die im in_memoryArbeitsbereich gespeichert ist , und dann das Tool " Tabellenansicht erstellen" mit dieser zusammengeführten Feature-Class als Eingabe verwenden, um eine speicherinterne Version der Attributtabelle zu erstellen .

Das Tool "Tabellenansicht erstellen" bietet auch die Flexibilität, eine SQL-Abfrage zum Filtern der Tabelle anzuwenden.

nmpeterson
quelle
Ich ging diese Straße hinunter. ArcMap bombardiert mich beim Erstellen des ModelBuilder-Modells, geschweige denn beim Ausführen. Die Datensätze sind so groß und zahlreich, dass die 32-Bit-Speicherbeschränkungen in
Kraft
Ich frage mich, ob das Umkehren der Reihenfolge - Erstellen von zwei Tabellenansichten und anschließendes Zusammenführen - für Ihre Workstation einfacher wäre.
nmpeterson
1

Wenn Sie nur eine Reihe von Feldern haben, kopiert Append_management nur die Felder mit einer Namensübereinstimmung. Es ist möglicherweise speichereffizienter als Merge. Wenn der Speicher Sie immer noch umbringt, können Sie einen ModelBuilder 10.x-Iterator verwenden, um sie einzeln anzuhängen. Wenn Sie in in_memory schreiben und die Tabelle nicht zu groß wird, sollte dies gut funktionieren.

Eine andere Sache, wenn Sie wirklich eine Tabelle (und keine Ausgabe einer Feature-Class) benötigen, können Sie wahrscheinlich den benötigten Speicher reduzieren, indem Sie Tabellenansichten aus Ihrer Eingabe erstellen und anhängen - so können Sie die (möglicherweise großen) Formfelder überspringen .

Curtis Price
quelle