Tabellensicht erstellen (Data Management)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Erstellt aus einer Eingabetabelle oder -Feature-Class eine Tabellensicht. Die vom Werkzeug erstellte Tabellensicht ist temporär und nur für die Dauer der Sitzung vorhanden, es sei denn, das Dokument wird gespeichert.

Verwendung

Syntax

MakeTableView_management (in_table, out_view, {where_clause}, {workspace}, {field_info})
ParameterErläuterungDatentyp
in_table

Die Eingabetabelle oder -Feature-Class.

Table View;Raster Layer
out_view

Der Name der zu erstellenden Tabellensicht.

Table View ;Raster Layer
where_clause
(optional)

Ein SQL-Ausdruck, mit dem eine Feature-Teilmenge ausgewählt wird. Die genaue Syntax für den Ausdruck hängt von der Datenquelle ab. Wenn Sie beispielsweise File- oder ArcSDE-Geodatabases bzw. Shapefiles oder Coverages abfragen, schließen Sie Feldnamen in doppelte Anführungszeichen ein:

"MY_FIELD"

Wenn Sie Personal-Geodatabases abfragen, schließen Sie die Felder in eckige Klammern ein:

[MY_FIELD]

In Python werden Zeichenfolgen in zusammenpassende einfache oder doppelte Anführungszeichen eingeschlossen. Um eine Zeichenfolge zu erstellen, die Anführungszeichen enthält (wie bei einer WHERE-Klausel in SQL-Ausdrücken üblich), können Sie die Anführungszeichen (durch einen umgekehrten Schrägstrich) mit Escapezeichen versehen oder die Zeichenfolge mit dreifachem Anführungszeichen versehen. Wenn die gewünschte WHERE-Klausel z. B.

"CITY_NAME" = 'Chicago'

lautet, könnten Sie die ganze Zeichenfolge in doppelte Anführungszeichen einschließen und dann die inneren doppelten Anführungszeichen wie folgt mit Escapezeichen versehen:

" \"CITY_NAME\" = 'Chicago' "

Oder Sie könnten die ganze Zeichenfolge in einfache Anführungszeichen einschließen und dann die inneren einfachen Anführungszeichen wie folgt mit Escapezeichen versehen:

' "CITY_NAME" = \'Chicago\' '

Oder Sie könnten die ganze Zeichenfolge in dreifache Anführungszeichen ohne Escapezeichen einschließen:

""" "CITY_NAME" = 'Chicago' """

Weitere Informationen zur SQL-Syntax und zu den Unterschieden zwischen Datenquellen finden Sie im Hilfethema SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke.

SQL Expression
workspace
(optional)

Der Eingabe-Workspace zur Validierung der Feldnamen. Wenn eine Geodatabase-Tabelle eingegeben wird und der Ausgabe-Workspace eine dBASE-Tabelle ist, kann es vorkommen, dass die Feldnamen abgeschnitten werden, da die Länge von dBASE-Feldern zehn Zeichen nicht überschreiten darf. Die neuen Namen können mit dem Steuerelement für Feldinformationen geprüft und geändert werden.

Workspace
field_info
(optional)

Gibt an, welche Felder aus der Eingabe-Tabelle umbenannt und welche in der Ausgabe-Tabellensicht sichtbar gemacht werden sollen.

Field Info

Codebeispiel

MakeTableView Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "MakeTableView" im unmittelbaren Modus verwenden.

import arcpy

arcpy.MakeTableView_management("C:/data/input/crimefrequency.dbf", "crimefreq_tview")
Beispiel 2 für "MakeTableView" (eigenständiges Skript)

Mit dem folgenden eigenständigen Skript wird veranschaulicht, wie mit der Funktion "MakeTableView" mit einem Feld-Info-Objekt Felder in der Ausgabe gefiltert werden können.

# Name: MakeTableView_Example2.py
# Description: Uses a FieldInfo object to select a subset of fields and renaming one field's name.

# Import system modules
import arcpy

# Set data path
intable = "C:/data/tables.gdb/crimefreq"

# Get the fields from the input
fields= arcpy.ListFields(intable)

# Create a fieldinfo object
fieldinfo = arcpy.FieldInfo()

# Iterate through the fields and set them to fieldinfo
for field in fields:
    if field.name == "FREQUENCY":
        fieldinfo.addField(field.name, "NEWFREQ", "VISIBLE", "")
    elif field.name == "CRIME_CAT":
        fieldinfo.addField(field.name, field.name, "HIDDEN", "")
    elif field.name == "BEAT":
        fieldinfo.addField(field.name, field.name, "VISIBLE", "")

# The created crime_view layer will have fields as set in fieldinfo object
arcpy.MakeTableView_management(intable, "crime_view", "", "", fieldinfo)

# To persist the layer on disk make a copy of the view
arcpy.CopyRows_management("crime_view", "C:/temp/newfreq.dbf")

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Ja
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
9/11/2013