Feature-Layer erstellen (Data Management)

Zusammenfassung

Erstellt einen Feature-Layer aus einer Feature-Class oder einer Layer-Datei. Der erstellte Layer ist temporär und nur für die Dauer der Sitzung vorhanden, es sei denn, der Layer wird auf Festplatte gespeichert oder das Kartendokument wird gespeichert.

Verwendung

  • Der temporäre Feature-Layer kann mit dem Werkzeug In Layer-Datei speichern als Layer-Datei oder mit dem Werkzeug Features kopieren als neue Feature-Class gespeichert werden.

  • Komplexe Feature-Classes wie Annotation- und Dimension-Feature-Classes werden nicht unterstützt.

  • Wird ein SQL-Ausdruck verwendet, aber nichts zurückgegeben, bleibt die Ausgabe leer.

  • Eine Teilungsmethode kann unter Feld-Info mit der Option Verhältnis des Parameters festgelegt werden. Die Teilungsmethode tritt immer dann in Kraft, wenn der Feature-Layer für ein Werkzeug als Eingabe verwendet wird und eine Geometrie des Eingabe-Feature-Layers während der Verarbeitung geteilt wird. Wird die geteilte Geometrie an die Ausgabe gesendet, wird für den Ausgabe-Attributwert ein Verhältnis zum Eingabe-Attributwert berechnet. Ist die Option Verhältnis aktiviert, stellen die Attribute des resultierenden Features bei jeder Teilung eines Features in einem Überlagerungsvorgang ein Verhältnis des Attributwertes des Eingabe-Features dar. Der Ausgabewert basiert auf dem Verhältnis, in dem die Eingabe-Feature-Geometrie geteilt wurde. Wenn die Geometrie beispielsweise in gleiche Teile geteilt wurde, wird dem Attributwert jedes neuen Features der halbe Wert des Attributwertes des Eingabe-Features zugewiesen. Verhältnis gilt nur für numerische Feldtypen.

    Der Standardwert ist "Kein" (deaktiviert). Das bedeutet, dass das Attribut der zwei entstehenden Features eine Kopie des ursprünglichen Attributwertes des Objekts ist.

    Vorsicht:

    Geoverarbeitungswerkzeuge berücksichtigen die Teilungsmethoden von Geodatabase-Feature-Class- oder -Tabellenfeldern nicht.

  • Wenn Sie mit ModelBuilder ein Werkzeug erstellen, stellen Sie sicher, dass die Eingabedatenvariable für das Werkzeug nicht als "Zwischendaten" gekennzeichnet ist. Ist sie als "Zwischendaten" gekennzeichnet, wird sie nach Ausführung des Modells gelöscht, und der Ausgabe-Layer wird der Anzeige nicht hinzugefügt.

  • In einem Modell kann der Ausgabevariablen des Werkzeugs eine Layer-Datei zugewiesen werden, die die Symbolisierung enthält, die auf den erstellten Layer angewendet werden soll. Wenn der erstellte Layer als Ausgabeparameter eines Modells oder Skriptwerkzeugs an eine Karte zurückgegeben wird, wird die Symbolisierung aus der Layer-Datei beibehalten, die Beschriftungseigenschaften jedoch nicht. Wenn der von dem Werkzeug in einem Modell erstellte Layer jedoch als permanente Daten (Feature-Class oder Shapefile) gespeichert wird und diese permanenten Daten als Ausgabeparameter an die Karte zurückgegeben werden, werden die Beschriftungseigenschaften aus der Layer-Datei richtig angewendet.

  • Wenn der Wert des Parameters Eingabe-Features ein Layer ist, wird die Symbolisierungs-, Auswahl- und Definitionsabfrage der Eingabe in den Ausgabe-Layer übertragen.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Features

Die Eingabe-Feature-Class oder der Eingabe-Feature-Layer zur Erstellung des neuen Layers. Komplexe Feature-Classes wie Annotation- und Dimension-Feature-Classes sind als Eingaben nicht zulässig.

Feature Layer
Ausgabe-Layer

Der Name des zu erstellenden Feature-Layers. Der Layer kann als Eingabe für jedes Geoverarbeitungswerkzeug verwendet werden, das einen Feature-Layer als Eingabe akzeptiert.

Feature Layer
Ausdruck
(optional)

Ein SQL-Ausdruck, mit dem eine Feature-Teilmenge ausgewählt wird.

Wenn es sich bei der Eingabe um einen Layer mit Definitionsabfrage handelt, in der eine WHERE-Klausel mit diesem Parameter angegeben ist, werden beide WHERE-Klauseln im Ausgabe-Layer durch den Operator UND miteinander verbunden. Beispiel: Wenn der Eingabe-Layer die WHERE-Klausel "ID > 10" enthält und dieser Parameter auf "ID < 20" festgelegt ist, lautet die WHERE-Klausel des resultierenden Layers "ID > 10 UND ID < 20".

SQL Expression
Workspace oder Feature-Dataset
(optional)

Dieser Parameter wird nicht verwendet.

Workspace; Feature Dataset
Feld-Info
(optional)

Die Felder aus den Eingabe-Features, die nicht im Ausgabe-Layer enthalten sind. Sie können die Eingabefelder entfernen, indem Sie sie ausblenden, und Sie können für numerische Felder eine Verhältnismethode festlegen. Das Umbenennen von Feldern wird nicht unterstützt.

Field Info

arcpy.management.MakeFeatureLayer(in_features, out_layer, {where_clause}, {workspace}, {field_info})
NameErläuterungDatentyp
in_features

Die Eingabe-Feature-Class oder der Eingabe-Feature-Layer zur Erstellung des neuen Layers. Komplexe Feature-Classes wie Annotation- und Dimension-Feature-Classes sind als Eingaben nicht zulässig.

Feature Layer
out_layer

Der Name des zu erstellenden Feature-Layers. Der Layer kann als Eingabe für jedes Geoverarbeitungswerkzeug verwendet werden, das einen Feature-Layer als Eingabe akzeptiert.

Feature Layer
where_clause
(optional)

Ein SQL-Ausdruck, mit dem eine Feature-Teilmenge ausgewählt wird. Weitere Informationen zur SQL-Syntax finden Sie im Hilfethema SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke.

Wenn es sich bei der Eingabe um einen Layer mit Definitionsabfrage handelt, in der eine WHERE-Klausel mit diesem Parameter angegeben ist, werden beide WHERE-Klauseln im Ausgabe-Layer durch den Operator UND miteinander verbunden. Beispiel: Wenn der Eingabe-Layer die WHERE-Klausel "ID > 10" enthält und dieser Parameter auf "ID < 20" festgelegt ist, lautet die WHERE-Klausel des resultierenden Layers "ID > 10 UND ID < 20".

SQL Expression
workspace
(optional)

Dieser Parameter wird nicht verwendet.

Workspace; Feature Dataset
field_info
(optional)

Die Felder aus den Eingabe-Features, die nicht im Ausgabe-Layer enthalten sind. Sie können die Eingabefelder entfernen, indem Sie sie ausblenden, und Sie können für numerische Felder eine Verhältnismethode festlegen. Das Umbenennen von Feldern wird nicht unterstützt.

Field Info

Codebeispiel

MakeFeatureLayer – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion MakeFeatureLayer im unmittelbaren Modus verwendet wird.

import arcpy

arcpy.env.workspace = "C:/data/input"
arcpy.MakeFeatureLayer_management("parcels.shp", "parcels_lyr")
MakeFeatureLayer - Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie mit der Funktion MakeFeatureLayer ein Layer erstellt werden kann, der von den Funktionen SelectLayerByLocation und SelectLayerByAttribute verwendet wird.

# Name: makefeaturelayer_example_2.py
# Description:  Uses MakeFeatureLayer with custom field info as input to Intersect

# Import system modules
import arcpy

# Set overwrite option
arcpy.env.overwriteOutput = True

# Set data path
cityboundaries = "C:/data/City.gdb/boundaries"
countyboundaries = "C:/data/City.gdb/counties"

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

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

# Iterate through the input fields and add them to fieldinfo
for field in fields:
    if field.name == "POPULATION":
        # Set the Population to have a ratio split policy
        fieldinfo.addField(field.name, field.name, "VISIBLE", "RATIO")
    else:
        fieldinfo.addField(field.name, field.name, "VISIBLE", "NONE")

# Make a layer from the feature class
arcpy.management.MakeFeatureLayer(cityboundaries, "city_boundaries_lyr", fieldinfo)

# Intersect cities and counties, splitting city population proportionally by county
arcpy.analysis.Intersect([["city_boundaries_lyr"],[countyboundaries]], "memory/intersected_city_counties")

Verwandte Themen