Создать векторный слой (Управление данными)

Краткая информация

Создает векторный слой из входного класса пространственных объектов или файла слоя. Если не сохранить слой на диск или не сохранить документ карты, этот временный слой не будет сохранен после завершения сеанса работы.

Использование

  • Временный векторный слой может быть сохранен как файл слоя с помощью инструмента Сохранить в файл слоя или как новый класс пространственных объектов с помощью инструмента Копировать объекты.

  • Классы сложных объектов, таких как аннотации и размеры, не поддерживаются.

  • Если выражение SQL используется, но ничего не дает на выходе, выходные данные будут пустыми.

  • Имена полей будет проверяться путем определения входной рабочей области. Таким образом, если входные данные - класс пространственных объектов базы геоданных, а выходная рабочая область - папка, имена полей могут быть урезаны, так как атрибуты шейп-файла могут иметь имена только из 10 или менее символов.

  • Правило разбиения можно задать с помощью опции Отношение параметра Информация поля. Правило разбиения вступает в силу при использовании векторного слоя в качестве входных данных инструмента, и когда геометрия слоя входного векторного слоя разбивается в процессе обработки. Если геометрия разбиения отправлена в выходные данные, для выходного значения атрибута вычисляется пропорция входного значения атрибута. Если включена Пропорция, всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена поровну, каждому новому атрибутивному значению пространственного объекта присваивается половина значения атрибутивного значение входного объекта. Политика Пропорция применяется только к числовым типам полей.

    По умолчанию используется NONE (не отмечено). Это означает, что атрибут двух итоговых пространственных объектов копирует значение атрибута исходного объекта.

    Внимание:

    Инструменты геообработки игнорируют правила разбиения, заданные для полей таблицы или классов пространственных объектов базы геоданных.

  • При использовании ModelBuilder для создания инструмента, вам нужно убедиться, что переменная входных данных для этого инструмента не помечена как промежуточная. Если входные данные помечены как промежуточные, они будут удалены после запуска модели, и выходные данные не будут добавлены в отображение.

  • В модели выходной переменной инструмента Создать векторный слой можно назначить файл слоя, из которого будут взяты символы для создаваемого слоя. Когда создаваемый слой возвращается в карту как выходной параметр инструмента модели или скрипта, символы из файла слоя сохраняются, а свойства надписей - нет. Однако если слой, созданный инструментом Создать векторный слой (в модели) сохраняется как постоянные данные (класс объектов или шейп-файл), и эти данные возвращаются на карту как выходной параметр, свойства надписей из файла слоя будут применены корректно.

  • Если значением параметра Входные объекты является слой, входные символы, выборка и определяющий запрос будут переданы в выходной слой

Параметры

ПодписьОписаниеТип данных
Входные объекты

Входной класс объектов или слой, из которого создается новый слой. Классы сложных объектов, такие как классы аннотаций или объектов-размеров, не могут быть использованы в качестве входных данных.

Feature Layer
Выходной слой

Имя создаваемого векторного слоя. Новый созданный слой может использоваться как входные данные для инструмента геообработки, который допускает векторный слой в качестве входных данных.

Feature Layer
Выражение
(Дополнительный)

SQL-выражение, использованное для выбора поднабора пространственных объектов.

Если входными данными является слой с существующим определяющим запросом и этим параметром задано условие where, для выходного слоя оба условия where будут объединены с помощью оператора AND. Например, если входной слой имеет условие where ID > 10, а для данного параметра задано ID < 20, условие where итогового слоя будет ID > 10 AND ID < 20.

SQL Expression
Рабочая область или Набор классов объектов
(Дополнительный)

Входная рабочая область используется для проверки имен полей. Если входными данными является таблица базы геоданных, а выходной рабочей областью - таблица dBASE, имена полей могут быть обрезаны, т.к. поля dBASE могут иметь имена, не превышающие 10 символов.

Workspace; Feature Dataset
Информация поля
(Дополнительный)

Поля из входных данных, которые будут переименованы и сделаны видимыми в выходных данных. Может быть установлено правило разбиения.

Field Info

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, для выходного слоя оба условия where будут объединены с помощью оператора AND. Например, если входной слой имеет условие where ID > 10, а для данного параметра задано ID < 20, условие where итогового слоя будет ID > 10 AND ID < 20.

SQL Expression
workspace
(Дополнительный)

Входная рабочая область используется для проверки имен полей. Если входными данными является таблица базы геоданных, а выходной рабочей областью - таблица dBASE, имена полей могут быть обрезаны, т.к. поля dBASE могут иметь имена, не превышающие 10 символов.

Workspace; Feature Dataset
field_info
(Дополнительный)

Поля из входных данных, которые будут переименованы и сделаны видимыми в выходных данных. Может быть установлено правило разбиения.

Field Info

Пример кода

MakeFeatureLayer, пример 1 (окно Python)

В следующем скрипте окна Python показано, как используется функция MakeFeatureLayer в режиме прямого запуска.

import arcpy

arcpy.env.workspace = "C:/data/input"
arcpy.MakeFeatureLayer_management("parcels.shp", "parcels_lyr")
MakeFeatureLayer, пример 2 (автономный скрипт)

Следующий автономный скрипт демонстрирует, как использовать функцию MakeFeatureLayer для создания слоя, который может использоваться функциями SelectLayerByLocation и SelectLayerByAttribute.

# Name: ExtractFeaturesByLocationAndAttribute.py
# Description:  Extracts features to a new feature class based on a location and an attribute query.

# Import system modules
import arcpy

# Set overwrite option
arcpy.env.overwriteOutput = True

# Put in error trapping in case an error occurs when running tool
try:

   # Make a layer from the feature class
   arcpy.MakeFeatureLayer_management("C:/data/mexico.gdb/cities","cities_lyr")

   # Select all cities that overlap the chihuahua polygon
   arcpy.SelectLayerByLocation_management("cities_lyr", "INTERSECT", "c:/data/mexico.gdb/chihuahua", "", "NEW_SELECTION")

   # Within the selection (done above) further select only those cities that have a population >10,000
   arcpy.SelectLayerByAttribute_management("cities_lyr", "SUBSET_SELECTION", "POPULATION > 10000")

   # Write the selected features to a new featureclass
   arcpy.CopyFeatures_management("cities_lyr", "c:/data/mexico.gdb/chihuahua_10000plus")

except:
   print(arcpy.GetMessages())

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы