Подпись | Описание | Тип данных |
Входные объекты | Входной класс объектов или слой, из которого создается новый слой. Классы сложных объектов, такие как классы аннотаций или объектов-размеров, не могут быть использованы в качестве входных данных. | Feature Layer |
Выходной слой | Имя создаваемого векторного слоя. Слой может использоваться в качестве входных данных для инструмента геообработки, который поддерживает векторный слой в качестве входных данных. | Feature Layer |
Выражение (Дополнительный) | SQL-выражение, использованное для выбора поднабора пространственных объектов. Если входные данные это слой слой с существующим определяющим запросом и с помощью этого параметра задано условие Where, оба выражения будут объединены с помощью оператора AND в выходном слое. Например, если у входного слоя есть условие Where ID > 10 и для этого параметра задано ID < 20, условие where для выходного слоя будет ID > 10 AND ID < 20. | SQL Expression |
Рабочая область или Набор классов объектов (Дополнительный) | Этот параметр не применяется. | Workspace; Feature Dataset |
Информация поля (Дополнительный) | Поля из входных объектов будут включены в выходной слой. Вы можете удалить входные поля, сделав их невидимыми, и вы можете задать числовые поля для правила разбиения по пропорции. Переименование полей не поддерживается. | Field Info |
Краткая информация
Создает векторный слой из класса пространственных объектов или файла слоя. Если не сохранить слой на диск или не сохранить документ карты, созданный временный слой не будет сохранен после завершения сеанса работы.
Использование
Временный векторный слой может быть сохранен как файл слоя с помощью инструмента Сохранить в файл слоя или как новый класс пространственных объектов с помощью инструмента Копировать объекты.
Классы сложных объектов, таких как аннотации и размеры, не поддерживаются.
Если выражение SQL используется, но ничего не дает на выходе, выходные данные будут пустыми.
Можно задать правило разбиения с помощью опции Пропорция параметра Информация о поле. Правило разбиения вступает в силу при использовании векторного слоя в качестве входных данных инструмента, и геометрия слоя входного векторного слоя разбивается в процессе обработки. Если геометрия разбиения отправлена в выходные данные, для выходного значения атрибута вычисляется пропорция входного значения атрибута. Если включено Пропорция всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена поровну, каждому новому атрибутивному значению пространственного объекта присваивается половина значения атрибутивного значение входного объекта. Правило Пропорция применяется только к числовым типам полей.
По умолчанию правило не используется (не отмечено). Это означает, что атрибут двух итоговых пространственных объектов копирует значение атрибута исходного объекта.
Внимание:
Инструменты геообработки игнорируют правила разбиения, заданные для полей таблицы или классов пространственных объектов базы геоданных.
При использовании ModelBuilder для создания инструмента убедитесь, что переменная входных данных для этого инструмента не помечена как промежуточная. Если входные данные помечены как промежуточные, они будут удалены после запуска модели и выходные данные не будут добавлены в отображение.
В модели выходной переменной для этого инструмента может стать файл слоя, содержащий символы, которые будут применены к создаваемому слою. Когда создаваемый слой возвращается на карту в виде выходного параметра модели или инструмента скрипта, символы из файла слоя сохраняются, а свойства надписей – нет. Однако если слой, созданный этим инструментом в модели, сохраняется как постоянные данные (класс объектов или шейп-файл), и эти данные возвращаются на карту как выходной параметр, свойства надписей из файла слоя применяются корректно.
Если значение параметра Входные объекты это слой, символы, выборка и определяющий запрос входных данных будут перенесены в выходной слой.
Параметры
arcpy.management.MakeFeatureLayer(in_features, out_layer, {where_clause}, {workspace}, {field_info})
Имя | Описание | Тип данных |
in_features | Входной класс объектов или слой, из которого создается новый слой. Классы сложных объектов, такие как классы аннотаций или объектов-размеров, не могут быть использованы в качестве входных данных. | Feature Layer |
out_layer | Имя создаваемого векторного слоя. Слой может использоваться в качестве входных данных для инструмента геообработки, который поддерживает векторный слой в качестве входных данных. | Feature Layer |
where_clause (Дополнительный) | SQL-выражение, использованное для выбора поднабора пространственных объектов. Информацию о синтаксисе SQL вы найдете в разделе справки Литература по SQL для выражений запросов, используемых в ArcGIS Если входные данные это слой слой с существующим определяющим запросом и с помощью этого параметра задано условие Where, оба выражения будут объединены с помощью оператора AND в выходном слое. Например, если у входного слоя есть условие Where ID > 10 и для этого параметра задано ID < 20, условие where для выходного слоя будет ID > 10 AND ID < 20. | SQL Expression |
workspace (Дополнительный) | Этот параметр не применяется. | Workspace; Feature Dataset |
field_info (Дополнительный) | Поля из входных объектов будут включены в выходной слой. Вы можете удалить входные поля, сделав их невидимыми, и вы можете задать числовые поля для правила разбиения по пропорции. Переименование полей не поддерживается. | Field Info |
Пример кода
Пример скрипта окна Python для использования функции MakeFeatureLayer в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data/input"
arcpy.management.MakeFeatureLayer("parcels.shp", "parcels_lyr")
Следующий автономный скрипт показывает, как использовать функцию MakeFeatureLayer для создания слоя, который можно использовать функциями SelectLayerByLocation и SelectLayerByAttribute.
# Name: makefeaturelayer_example_2.py
# Description: Uses MakeFeatureLayer with custom field info as input to Intersect
# Import system modules
import arcpy
from arcpy import env
# 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.MakeFeatureLayer_management(cityboundaries, "city_boundaries_lyr", fieldinfo)
# Intersect cities and counties, splitting city population proportionally by county
arcpy.Intersect_analysis([["city_boundaries_lyr"],[countyboundaries]], "memory/intersected_city_counties")