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

Сводка

Создает слой запроса из таблицы СУБД на основании входного SQL-выражения выборки.

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

  • Слои запроса работают только с многопользовательскими базами данных. Этот инструмент не поддерживает в качестве входной рабочей области файловые базы геоданных.

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

  • Если результирующий SQL-запрос вернется в виде пространственного столбца, то на выходе будет слой пространственных объектов. Если SQL-запрос не вернется в виде пространственного столбца, то на выходе будет автономная таблица.

  • Необходимые для этого инструмента файлы подключения можно создать с помощью инструмента Создать подключение базы данных.

  • Если результирующий SQL-запрос не возвращает ни одной строки, выходной слой запроса будет пустым и будет содержать только схему столбцов, полученных в результате запроса. В таком случае, если полученные столбцы содержат пространственный столбец, для создания слоя запроса инструмент будет использовать следующие значения по умолчанию:

    • Тип геометрии – POINT
    • SRID – 1
    • Пространственная привязка – NAD1983

    Далее необходимо определить, следует ли изменить какое-либо из значений перед выполнением этого инструмента.

  • Для географических данных каждая запись полученного в результате SQL-выражения должна иметь соответственный идентификатор пространственной привязки (SRID). База данных использует значение SRID для определения пространственной привязки для своих данных. Для разных СУБД платформ имеются определенные функциональные различия в SRID. Некоторые СУБД платформы поддерживают множественные значения SRID в пределах одной таблицы; ArcGIS поддерживает только одно значение. Этот инструмент позволяет выбрать значение SRID или по умолчанию использовать значение SRID из первой записи в наборе результатов.

Синтаксис

arcpy.management.MakeQueryLayer(input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {spatial_properties}, {m_values}, {z_values}, {extent})
ParameterОбъяснениеТип данных
input_database

Файл подключения базы данных, который содержит данные для запроса.

Workspace
out_layer_name

Выходное имя создаваемого векторного слоя или представления таблицы.

String
query

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

String
oid_fields
[oid_fields,...]
(Дополнительный)

Одно или несколько полей из списка SELECT выражения SELECT, с помощью которых будет создан динамический, уникальный идентификатор строки.

String
shape_type
(Дополнительный)

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

  • POINTВыходной слой запроса использует точечную геометрию.
  • MULTIPOINTВыходной слой запроса использует мультиточечную геометрию.
  • POLYGONВыходной слой запроса использует полигональную геометрию.
  • POLYLINEВыходной слой запроса использует полилинейную геометрию.
String
srid
(Дополнительный)

Значение идентификатора пространственной привязки (SRID) для запросов, возвращающих геометрию. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному значению SRID. Проверка инструмента попытается установить это свойство на основании первой записи в результирующем наборе. Если такое значение SRID не является желательным, его можно изменить перед запуском инструмента. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.

String
spatial_reference
(Дополнительный)

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

Spatial Reference
spatial_properties
(Дополнительный)

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

В процессе проверки для слоя запроса будут заданы следующие параметры: размерность, тип геометрии, пространственная привязка, SRID и уникальный идентификатор. Эти значения основаны на первой строке, возвращенной по запросу. Чтобы задавать эти параметры вручную, а не получать их посредством опроса таблицы с помощью инструмента, используйте значение по умолчанию для данного параметра.

  • DEFINE_SPATIAL_PROPERTIESЗадайте пространственные параметры слоя вручную. Это значение по умолчанию.
  • DO_NOT_DEFINE_SPATIAL_PROPERTIESПараметры слоя будут определены по первой строке запроса.
Boolean
m_values
(Дополнительный)

Устанавливает, будут ли в слое содержаться m-значения.

  • INCLUDE_M_VALUESВ слое будут содержаться m-значения.
  • DO_NOT_INCLUDE_M_VALUESВ слое не будут содержаться m-значения. Это значение по умолчанию.
Boolean
z_values
(Дополнительный)

Устанавливает, будут ли в слое содержаться z-значения.

  • INCLUDE_Z_VALUESВ слое будут содержаться z-значения.
  • DO_NOT_INCLUDE_Z_VALUESВ слое не будут содержаться z-значения. Это значение по умолчанию.
Boolean
extent
(Дополнительный)

Экстент слоя. Этот параметр используется только когда отмечена опция Задать пространственные параметры для слоя (spatial_properties = DEFINE_SPATIAL_PROPERTIES в Python). Экстент должен включать все объекты в таблице.

  • MAXOF - будет использоваться максимальный экстент всех входных данных.
  • MINOF - будет использоваться минимальная область, общая для всех входных данных.
  • DISPLAY– экстент будет равен видимому отображению.
  • Имя слоя - будет использоваться тот же экстент, что и в указанном слое.
  • Объект Extent - будет использоваться тот же экстент, что и в указанном объекте.
  • Строка координат, разделенных пробелами – будет использоваться экстент из заданной строки. Координаты должны быть выражены в таком порядке: x-min, y-min, x-max, y-max.
Extent

Производные выходные данные

NameОбъяснениеТип данных
out_layer

Выходной слой запроса.

Представление таблицы

Пример кода

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

Пример скрипта Python для использования инструмента MakeQueryLayer в режиме прямого запуска.

import arcpy

sr = arcpy.SpatialReference("WGS 1984 UTM Zone 12N")

arcpy.MakeQueryLayer_management("Connections/moab.sde",
                                "Slickrock",
                                "select * from moabtrails where name = 'slickrock'",
                                "OBJECTID",
                                "POLYLINE",
                                "32611",
                                sr)
MakeQueryLayer, пример 2 (автономный скрипт)

В следующем автономном скрипте показано, как использовать инструмент MakeQueryLayer.

# Name: MakeQueryLayer.py
# Description: Creates an output query layer based on a where clause.
#   This example shows how to create a spatial reference object using the
#   name of a coordinate system. It also demonstrates how to use two fields
#   to generate a dynamic unique row identifier for the query layer.


# Import system modules
import arcpy

# Create the spatial reference for the output layer.
sr = arcpy.SpatialReference("WGS 1984 UTM Zone 12N")

# Run the tool
arcpy.MakeQueryLayer_management("Connections/moab.sde",
                                "Single Track",
                                "select * from moabtrails where type = 'single'",
                                "UID;name",
                                "POLYLINE",
                                "32611",
                                sr)

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

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

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