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 | INFO Table |
index_item |
Der Name des zu indizierenden Feldes | INFO 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)