Make Query Layer (Data Management)

License Level:BasicStandardAdvanced

Summary

Creates a query layer from a DBMS table based on an input SQL select statement.

Usage

Syntax

MakeQueryLayer_management (input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference})
ParameterExplanationData Type
input_database

The database connection file that contains the data to be queried.

Workspace
out_layer_name

Output name for the feature layer or table view to be created.

String
query

SQL statement defining the select query to be issued to the database.

String
oid_fields
[oid_fields,...]
(Optional)

One or more fields from the SELECT statement SELECT list that can be used to generate a dynamic, unique row identifier.

String
shape_type
(Optional)

The shape type for the query layer. Only those records from the result set of the query that match the specified shape type will be used in the output query layer. Tool validation will attempt to set this property based on the first record in the result set. This can be changed before executing the tool if it is not the desired output shape type. This parameter is ignored if the result set of the query does not return a geometry field.

  • POINTThe output query layer will use point geometry.
  • MULTIPOINTThe output query layer will use multipoint geometry.
  • POLYGONThe output query layer will use polygon geometry.
  • POLYLINEThe output query layer will use polyline geometry.
String
srid
(Optional)

Sets the SRID (spatial reference identifier) value for queries that return geometry. Only those records from the result set of the query that match the specified SRID value will be used in the output query layer. Tool validation will attempt to set this property based on the first record in the result set. This can be changed before executing the tool if it is not the desired output SRID value. This parameter is ignored if the result set of the query does not return a geometry field.

String
spatial_reference
(Optional)

Sets the coordinate system that will be used by the output query layer. Tool validation will attempt to set this property based on the first record in the result set. This can be changed before executing the tool if it is not the desired output coordinate system. This parameter is ignored if the result set of the query does not return a geometry field.

Spatial Reference

Code Sample

MakeQueryLayer example 1 (Python window)

The following Python window script demonstrates how to use the MakeQueryLayer tool in immediate mode.

import arcpy

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

arcpy.MakeQueryLayer_management("Database Connections/moab.sde",
                                "Slickrock",
                                "select * from moabtrails where name = 'slickrock'",
                                "OBJECTID",
                                "POLYLINE",
                                "32611",
                                sr)
MakeQueryLayer example 2 (stand-alone script)

The following stand-alone script demonstrates how to use the MakeQueryLayer tool.

# 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("Database Connections/moab.sde",
                                "Single Track",
                                "select * from moabtrails where type = 'single'",
                                "UID;name",
                                "POLYLINE",
                                "32611",
                                sr)

Environments

This tool does not use any geoprocessing environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Yes
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
11/18/2013