Crear capa de consulta (Administración de datos)

Resumen

Crea una capa de consulta a partir de una tabla DBMS en función de una sentencia SQL SELECT de entrada.

Uso

  • Las capas de consulta solamente funcionarán con bases de datos corporativas. Las geodatabases de archivos no son un espacio de trabajo de entrada válido para esta herramienta.

  • La capa creada por la herramienta es temporal y, una vez finalizada la sesión, no permanece en el sistema a menos que se guarde el proyecto o los datos se conviertan en persistentes haciendo una copia con Copiar filas o Copiar entidades.

  • Si el resultado de la consulta SQL ingresada devuelve una columna espacial, el resultado será una capa de entidad. Si la consulta SQL no devuelve una columna espacial, el resultado será una tabla independiente.

  • Los archivos de conexión necesarios para esta herramienta se pueden crear usando la herramienta Crear conexión de la base de datos.

  • Si el resultado de la consulta SQL no devuelve ninguna fila, la capa de consulta de resultado estará vacía, y solamente incluirá el esquema de las columnas que haya devuelto la consulta. En este caso, si las columnas que se devolvieron contienen una columna espacial, la herramienta usará los siguientes valores predeterminados para crear la capa de consulta:

    • Tipo de geometría: POINT
    • SRID: 1
    • Referencia espacial: NAD1983

    A continuación, debe determinar si es necesario modificar alguno de estos valores antes de ejecutar la herramienta.

  • Para los datos geográficos, cada registro en el resultado que se devuelve de la sentencia SQL debe tener un identificador de referencia espacial (SRID) asociado. El valor SRID lo usa la base de datos para determinar la referencia espacial para los datos. Las diferencias funcionales específicas para el SRID variarán entre cada plataforma DBMS. Algunas plataformas DBMS admiten varios valores SRID dentro de la misma tabla; ArcGIS solo admite un valor. Esta herramienta le permite elegir el valor SRID o tendrá un valor predeterminado en SRID desde el primer registro en el conjunto de resultados.

Sintaxis

arcpy.management.MakeQueryLayer(input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {spatial_properties}, {m_values}, {z_values}, {extent})
ParámetroExplicaciónTipo de datos
input_database

El archivos de conexión de base de datos que contiene los datos a consultar.

Workspace
out_layer_name

El nombre de salida de la capa de entidades o la vista de tabla que se creará.

String
query

La sentencia SQL que define la consulta de selección que se emitirá en la base de datos.

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

Uno o varios campos de la lista SELECT de la sentencia SELECT que generarán un identificador de fila único y dinámico.

String
shape_type
(Opcional)

Especifica el tipo de forma de la capa de consulta. Solamente aquellos registros del conjunto de resultados de la consulta que coinciden con el tipo de forma específico que se usará en la capa de consulta de salida. La validación de la herramienta intentará establecer esta propiedad con base en el primer registro en el conjunto de resultados. Esto se puede cambiar antes de ejecutar la herramienta si no tiene el tipo de forma de salida deseado. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

  • POINTLa capa de consulta de salida utilizará geometría de punto.
  • MULTIPOINTLa capa de consulta de salida usará geometría de multipunto.
  • POLYGONLa capa de consulta de salida usará geometría de polígono.
  • POLYLINELa capa de consulta de salida usará geometría de polilínea.
String
srid
(Opcional)

El valor de identificador de referencia espacial (SRID) para consultas que devuelven geometría. Solamente aquellos registros del conjunto de resultados de la consulta que coinciden con el valor SRID específico que se usará en la capa de consulta de salida. La validación de la herramienta intentará establecer esta propiedad con base en el primer registro en el conjunto de resultados. Esto se puede cambiar antes de ejecutar la herramienta si no tiene el valor SRID de salida deseado. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

String
spatial_reference
(Opcional)

El sistema de coordenadas que usará la capa de consulta de salida. La validación de la herramienta intentará establecer esta propiedad con base en el primer registro en el conjunto de resultados. Esto se puede cambiar antes de ejecutar la herramienta si no tiene el sistema de coordenadas de salida deseado. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

Spatial Reference
spatial_properties
(Opcional)

Especifica cómo se definirán las propiedades espaciales de la capa.

Durante el proceso de validación, las propiedades de dimensionalidad, tipo de geometría, referencia espacial, SRID e identificador único se establecerán en la capa de consulta. Estos valores están basados en la primera fila devuelta en la consulta. Para definir manualmente estas propiedades en lugar de que la herramienta haga una consulta a la tabla para obtenerlas, utilice el valor predeterminado de este parámetro.

  • DEFINE_SPATIAL_PROPERTIESDefinir manualmente las propiedades espaciales de la capa. Esta es la opción predeterminada.
  • DO_NOT_DEFINE_SPATIAL_PROPERTIESLas propiedades de la capa se determinarán en función de la primera fila devuelta en la consulta.
Boolean
m_values
(Opcional)

Especifica si la capa tendrá valores m.

  • INCLUDE_M_VALUESLa capa tendrá valores m.
  • DO_NOT_INCLUDE_M_VALUESLa capa no tendrá valores m. Esta es la opción predeterminada.
Boolean
z_values
(Opcional)

Especifica si la capa tendrá valores z.

  • INCLUDE_Z_VALUESLa capa tendrá valores z.
  • DO_NOT_INCLUDE_Z_VALUESLa capa no tendrá valores z. Esta es la opción predeterminada.
Boolean
extent
(Opcional)

La extensión de la capa. Este parámetro se utiliza solamente si Definir propiedades espaciales de la capa está activado (spatial_properties = DEFINE_SPATIAL_PROPERTIES en Python). La extensión debe incluir todas las entidades de la tabla.

  • MAXOF: se utilizará la extensión máxima de todas las entradas.
  • MINOF: se utilizará el área mínima en común de todas las entradas.
  • DISPLAY: la extensión es igual a la visualización actual.
  • Nombre de capa: se utilizará la extensión de la capa especificada.
  • Objeto de Extent: se utilizará la extensión del objeto especificado.
  • Cadena de coordenadas delimitada por espacios: se utilizará la extensión de la cadena especificada. Las coordenadas se expresan como x-min, y-min, x-max, y-max.
Extent

Salida derivada

NombreExplicaciónTipo de datos
out_layer

La capa de consulta de salida.

Vista de tabla

Muestra de código

Ejemplo 1 de MakeQueryLayer (ventana de Python)

El script de la ventana de Python muestra cómo utilizar la herramienta MakeQueryLayer en el modo inmediato.

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)
Ejemplo 2 de MakeQueryLayer (script independiente)

El siguiente script independiente muestra cómo utilizar la herramienta 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)

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados