Attributindex hinzufügen (Data Management)
Zusammenfassung
Hiermit wird vorhandenen Tabellen, Feature-Classes, Shapefiles, Coverages oder Beziehungsklassen mit Attributen ein Attributindex hinzugefügt.
Mit Attributindizes findet ArcGIS schnell passende Datensätze für Attributabfragen. Informationen zu Attributindizes in Geodatabases finden Sie unter Erstellen von Attributindizes.
Verwendung
-
Nur Feature-Classes aus File- oder Personal-Geodatabases und ArcSDE-Datenbanken unterstützen mehrere Attributindizes. Sie können den Parameter Indexname nur in diesen beiden Eingaben zusammen mit "Unique" | "Non_unique" oder "Ascending" | "Non_ascending" verwenden.
-
Shapefiles unterstützen nicht mehrere Indizes. Zusätzliche Felder werden daher als Teil eines zusammengesetzten Index (d. h., ein in mehreren Feldern in einer Tabelle erstellter Index) hinzugefügt.
-
Auch wenn Indizes mit mehreren Spalten in File-Geodatabases noch nicht verfügbar sind, können Sie mit diesem Werkzeug einen Index mit mehreren Spalten für eine File-Geodatabase angeben. Wenn Sie einen solchen Index erstellen, sieht er wie ein Index für mehrere Spalten aus, wenn Sie ihn im Dialogfeld Eigenschaften der Feature-Class bzw. der Tabelle aufrufen. Tatsächlich wird jedoch für jedes Feld ein separater Index erstellt.
-
In ArcSDE- und File- oder Personal-Geodatabases wird für jeden eindeutigen Indexnamen ein neuer Index hinzugefügt. Wenn ein Indexname bereits vorhanden ist, muss dieser vor der Aktualisierung zunächst gelöscht werden.
-
Die Felder müssen indiziert werden, um eine Neuauswahl aus externen DBMS-Tabellen im nativen Modus zu unterstützen.
-
Die Schaltfläche"Feld hinzufügen" des Parameters Zu indizierende Felder wird nur in ModelBuilder verwendet. Der Parameter Zu indizierende Felder ist in ModelBuilder nicht mit Feldnamen belegt, wenn das vorherige Werkzeug nicht ausgeführt wurde oder die abgeleiteten Daten nicht vorhanden sind. Mit der Schaltfläche "Feld hinzufügen" können Sie die erforderlichen Felder hinzufügen, damit Sie das Dialogfeld "Attributindex hinzufügen" abschließen und mit der Erstellung Ihres Modells fortfahren können.
Syntax
Parameter | Erläuterung | Datentyp |
in_table |
Die Tabelle, die die zu indizierenden Felder enthält. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
fields |
Die Liste der Felder, die Bestandteil des Index sind. Es kann eine beliebige Anzahl an Feldern angegeben werden. | Field |
index_name (optional) |
Der Name des neuen Index. Der Indexname wird benötigt, wenn Sie Geodatabase-Feature-Classes oder -Tabellen einen Index hinzufügen. Bei anderen Datentypen wie Shapefiles und Coverage-Feature-Classes können Sie keine Indexnamen festlegen. | String |
unique (optional) |
Gibt an, ob die Werte im Index eindeutig sind.
| Boolean |
ascending (optional) |
Gibt an, ob die Werte in aufsteigender Reihenfolge indiziert werden sollen.
| Boolean |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie Sie einen Attributindex für angegebene Felder erstellen.
# Name: AddAttIndex.py # Description: Create an attribute Index for specified fields # Import system modules import arcpy # Set a default workspace arcpy.env.workspace = "c:/data" try: # Create an attribute index for the few fields listed in command. arcpy.AddIndex_management ("counties.shp", "NAME;STATE_FIPS;CNTY_FIPS", "#", "NON_UNIQUE", "NON_ASCENDING") arcpy.AddIndex_management ("mexico.mdb/land/lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING") except Exception, e: # If an error occurred, print line number and error message import traceback, sys tb = sys.exc_info()[2] print "Line %i" % tb.tb_lineno print e.message
Im folgenden Code wird veranschaulicht, wie Sie die Funktion "AddIndex" in einem interaktiven Python-Fenster verwenden.
import arcpy arcpy.env.workspace = "C:/data/input/indices.gdb" arcpy.AddIndex_management("lakes", "NAME;geocompID", "NGIndex", "UNIQUE", "ASCENDING")