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 funcionan 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.

Parámetros

EtiquetaExplicaciónTipo de datos
Conexión de la base de datos de entrada

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

Workspace
Nombre de capa de salida

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

String
Consulta

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

Nota:

Esta cadena debe pasar por una validación antes de que se habiliten los controles restantes. La validación se desencadenará al hacer clic afuera de esta casilla de entrada. El proceso de validación ejecuta la consulta en la base de datos y verifica si el resultado de la consulta SQL cumple con los estándares de modelado de datos aplicados por ArcGIS. Si la validación falla, la herramienta devolverá una advertencia. La única excepción es para ModelBuilder, en cuyo caso la validación no se desencadenará si la entrada son datos derivados.

Las reglas de validación son las siguientes:

  • El resultado de la consulta SQL debe tener solamente un campo espacial.
  • El resultado de la consulta SQL debe tener solamente una referencia espacial.
  • El resultado de la consulta SQL debe tener solamente un tipo de entidad, como un punto, multipunto, línea o polígono.
  • El resultado de la consulta SQL no puede tener ningún tipo de campo no admitido por ArcGIS. Tipos de datos de campo de ArcGIS describe los tipos de campo admitidos en ArcGIS.

La validación es especialmente importante cuando se trabaja con datos en bases de datos espaciales que no aplican los mismos estándares que ArcGIS.

String
Campo(s) de identificador único
(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
Tipo de forma
(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 correcto. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

  • PuntoLa capa de consulta de salida utilizará geometría de punto.
  • MultipuntoLa capa de consulta de salida usará geometría de multipunto.
  • PolígonoLa capa de consulta de salida usará geometría de polígono.
  • PolilíneaLa 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 tipo de salida SRID correcto. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

String
Sistema de coordenadas
(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 tipo de sistema de coordenadas de salida correcto. Este parámetro se ignora si el resultado establecido de la consulta no devuelve un campo de geometría.

Spatial Reference
Definir las propiedades espaciales de la capa
(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, este parámetro está activado de forma predeterminada.

  • Activado: definir manualmente las propiedades espaciales de la capa. Esta es la opción predeterminada.
  • Desactivado: las propiedades de la capa se determinarán en función de la primera fila devuelta en la consulta.
Boolean
Las coordenadas incluyen valores M
(Opcional)

Especifica si la capa tendrá valores m.

  • Activado: la capa tendrá valores m.
  • Desactivado: la capa no tendrá valores m. Esta es la opción predeterminada.
Boolean
Las coordenadas incluyen valores z
(Opcional)

Especifica si la capa tendrá valores z.

  • Activado: la capa tendrá valores z.
  • Desactivado: la capa no tendrá valores z. Esta es la opción predeterminada.
Boolean
Extensión
(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.

  • Extensión de visualización actual Vista de mapa: la extensión se basará en el mapa o la escena activa. La opción solo está disponible cuando haya un mapa activo.
  • Extensión de mapa Layer: la extensión se basará en una capa de mapa activa. Use la lista desplegable para seleccionar una capa disponible o use la opción Extensión de datos en todas las capas para obtener la extensión combinada de todas las capas de mapas activos, excepto el mapa base. Esta opción solo está disponible cuando haya un mapa activo con capas.
  • Examinar Examinar: la extensión se basará en un dataset existente.
  • Restablecer extensión Restablecer: la extensión se restablecerá al valor predeterminado.
  • Coordenadas introducidas de forma manual: las coordenadas deben ser valores numéricos y encontrarse en el sistema de coordenadas del mapa activo.

    Puede que el mapa esté utilizando unidades de visualización diferentes

Extent

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa de salida

La capa de consulta de salida.

Table View

arcpy.management.MakeQueryLayer(input_database, out_layer_name, query, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {spatial_properties}, {m_values}, {z_values}, {extent})
NombreExplicació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 correcto. 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 tipo de salida SRID correcto. 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 tipo de sistema de coordenadas de salida correcto. 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 usará la extensión máxima de todas las entradas.
  • MINOF: se usará el área mínima común a todas las entradas.
  • DISPLAY: la extensión es igual a la visualización visible.
  • Nombre de capa: se usará la extensión de la capa especificada.
  • Objeto Extent: se usará la extensión del objeto especificado.
  • Cadena de caracteres con las coordenadas delimitadas por espacios: se usará la extensión de la cadena especificada. Las coordenadas se expresan en el orden x-min, y-min, x-max, y-max.
Extent

Salida derivada

NombreExplicaciónTipo de datos
out_layer

La capa de consulta de salida.

Table View

Muestra de código

Ejemplo 1 de MakeQueryLayer (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función MakeQueryLayer de 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 función 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)