Краткая информация
Создает слой запроса из таблицы СУБД на основании входного SQL-выражения выборки.
Использование
Слои запроса работают только с многопользовательскими базами данных. Этот инструмент не поддерживает в качестве входной рабочей области файловые или персональные базы геоданных.
Если результирующий SQL-запрос вернется в виде пространственного столбца, то на выходе будет слой пространственных объектов. Если SQL-запрос не вернется в виде пространственного столбца, то на выходе будет автономная таблица.
Необходимые для этого инструмента файлы подключения можно создать с помощью инструмента Создать подключение базы данных.
- Если результирующий SQL-запрос не возвращает ни одной строки, выходной слой запроса будет пустым и будет содержать только схему столбцов, полученных в результате запроса. В таком случае, если полученные столбцы содержат пространственный столбец, для создания слоя запроса инструмент будет использовать следующие значения по умолчанию:
- Тип геометрии – POINT
- SRID – 1
- Пространственная привязка – NAD1983
Далее необходимо определить, следует ли изменить какое-либо из значений перед выполнением этого инструмента.
Для географических данных каждая запись полученного в результате SQL-выражения должна иметь соответственный идентификатор пространственной привязки (SRID). База данных использует значение SRID для определения пространственной привязки для своих данных. Для разных СУБД платформ имеются определенные функциональные различия в SRID. Некоторые СУБД платформы поддерживают множественные значения SRID в пределах одной таблицы; ArcGIS поддерживает только одно значение. Этот инструмент позволяет выбрать значение SRID или по умолчанию использовать значение SRID из первой записи в наборе результатов.
Синтаксис
MakeQueryLayer(input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference})
Параметр | Объяснение | Тип данных |
input_database | Файл подключения базы данных, который содержит данные для запроса. | Workspace |
out_layer_name | Выходное имя создаваемого векторного слоя или представления таблицы. | String |
query | SQL-выражение, которое определяет запрос выборки для базы данных. | String |
oid_fields [oid_fields,...] (Дополнительный) | Одно или несколько полей из списка SELECT выражения SELECT, с помощью которых будет создан динамический, уникальный идентификатор строки. | String |
shape_type (Дополнительный) | Определяет тип формы слоя запроса. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному типу геометрии. Проверка инструмента попытается установить это свойство на основании первой записи в результирующем наборе. Если такой тип выходной формы не является желательным, его можно изменить перед запуском инструмента. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется.
| String |
srid (Дополнительный) | Значение идентификатора пространственной привязки (SRID) для запросов, возвращающих геометрию. В выходном слое запроса используются только те записи из результирующего набора запроса, которые соответствуют указанному значению SRID. Проверка инструмента попытается установить это свойство на основании первой записи в результирующем наборе. Если такое значение SRID не является желательным, его можно изменить перед запуском инструмента. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется. | String |
spatial_reference (Дополнительный) | Система координат, которая будет использоваться выходным слоем запроса. Проверка инструмента попытается установить это свойство на основании первой записи в результирующем наборе. Если такая выходная система координат не является желательной, ее можно изменить перед запуском инструмента. Если результирующий набор запроса не возвращает поле геометрии, этот параметр игнорируется. | Spatial Reference |
Производные выходные данные
Имя | Объяснение | Тип данных |
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: Да