Indexfeld (Coverage)
Zusammenfassung
Erstellt einen Attributindex, um die Zugriffsgeschwindigkeit auf das angegebene Feld während Abfragen zu erhöhen.
Verwendung
-
Durch die Indizierung der Felder werden Auswahlvorgänge in großen INFO-Dateien beschleunigt.
-
Feldindizes werden beibehalten, wenn die Coverage- oder INFO-Tabelle an einen anderen Speicherort kopiert wird.
-
Feldindizes bleiben erhalten, wenn ein Coverage mit den Werkzeugen Export in Austauschdatei und Import aus Austauschdatei in eine Austauschdatei (.e00) exportiert und importiert wird.
-
Die Felder müssen indiziert werden, um eine Neuauswahl aus externen DBMS-Tabellen (Database Management System) im nativen Modus zu unterstützen.
-
Wenn die folgenden Befehle auf die INFO-Tabelle angewendet werden, ist die Indexdatei nicht mehr aktuell: Feld berechnen, Aktualisieren, Topologie erstellen (Build) oder Fehlerbereinigung (Clean). Wenn Sie versuchen, den überholten Index zu verwenden, wird folgende Meldung generiert: "Index file is obsolete". Wird diese Meldung ausgegeben, erstellen Sie die Indexdatei neu und fahren Sie fort.
-
Die folgenden Befehle sind von indizierten Feldern betroffen: Entfernen (Eliminate), Selektieren und INFO-Tabelle verbinden.
Syntax
Parameter | Erläuterung | Datentyp |
in_info_table |
Der Name der INFO-Tabelle, die das zu indizierende Feld enthält | ArcInfo table |
index_item |
Der Name des zu indizierenden Feldes | ArcInfo item |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie ein Feld in einem Coverage indiziert wird und anschließend Features mit dem indizierten Feld ausgewählt werden.
# Name: IndexItem_Example.py # Description: Indexes an item then uses that item to select features. # Requirements: ArcInfo Workstation # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inInfoTable = "stream/arc" indexItem = "STRM_ORD" inCover = "stream" outCover = "C:/output/lowerstreams" infoExpress = ["RESELECT STRM_ORD > 3"] # Execute IndexItem arcpy.IndexItem_arc(inInfoTable, indexItem) arcpy.Reselect_arc(inCover, outCover, infoExpress)