Tabellensicht erstellen (Data Management)
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
-
Dieses Werkzeug wird häufig zur Erstellung einer Tabellensicht aus einer ausgewählten Gruppe von Attributen oder Feldern verwendet.
-
ArcCatalog zeigt diese Tabellensichten nicht an. Sie können jedoch als Eingaben für andere Geoverarbeitungswerkzeuge in der aktuellen ArcGIS-Sitzung verwendet werden. Sobald die ArcGIS-Anwendung beendet wird, werden die Tabellensichten gelöscht.
-
Tabellensichten, die in ArcCatalog erstellt wurden, können in ArcMap nicht verwendet werden.
Wenn ein verwendeter SQL-Ausdruck keine Ergebnisse zurückgibt, ist die Ausgabe leer.
Feldnamen können mit dem Steuerelement Feld-Info geändert werden. Die aus der Eingabe vorhandenen Feldnamen werden in der zweiten Spalte der Steuerung aufgelistet. Um ein Feld umzubenennen, klicken Sie auf den Namen und geben einen neuen Namen ein.
Neue Feldnamen, die Sie mit dem Werkzeug Feld-Info definieren, werden in nachfolgenden Werkzeugen berücksichtigt. Falls dieses Werkzeug das letzte Werkzeug in einem Modell ist, werden die Feldnamen aus den Quelldaten auf dem Datenträger abgerufen. Um neue Feldnamen beizubehalten, muss der neue Layer mit den Werkzeugen Zeilen kopieren oder Features kopieren als neue Daten geschrieben werden.
Sie können die Feldnamen überprüfen, indem Sie ein Eingabe-Workspace angeben. Wenn eine Geodatabase-Feature-Class eingegeben wird und der Ausgabe-Workspace ein Ordner ist, kann es vorkommen, dass die Feldnamen abgeschnitten werden, da die Namen für Shapefile-Attribute eine Länge von zehn Zeichen nicht überschreiten dürfen. Die neuen Namen können mit dem Steuerelement Feld-Info geprüft und geändert werden.
Sie können die Verfügbarkeit für eine Teilmenge von Feldern im neuen Layer deaktivieren, indem Sie die "visible"-Eigenschaft des Steuerelements Feld-Info verwenden. Die dritte Spalte des Steuerelements enthält eine Dropdown-Option, über die Sie angeben können, ob ein Feld im neuen Layer ein- oder ausgeblendet wird. Die Standardeinstellung ist TRUE. Durch Auswahl von FALSE wird das entsprechende Feld ausgeblendet, es ist also nicht sichtbar. Sie können die ausgeblendeten Felder nicht in einem Workflow verwenden, falls der neu erstellte Layer in einen nachfolgenden Prozess oder ein nachfolgendes Werkzeug eingegeben wird. Wenn die Ausgabe auf Datenträger gespeichert wird, werden nur die als sichtbar gekennzeichneten Felder in den neuen Daten angezeigt.
-
Die im Steuerelement Feld-Info enthaltene Option für die Teilungsmethode steht für dieses Werkzeug nicht zur Verfügung.
Syntax
Parameter | Erläuterung | Datentyp |
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
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")
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")