Consultas de selección por atributos
Esta función permite buscar y seleccionar elementos de una capa utilizando los valores de sus atributos o utilizando una base de datos vinculada a la capa. Los administradores crean las consultas y sus formularios asociados en JMap Admin. Los usuarios de las aplicaciones JMap utilizan luego esos formularios para ingresar los valores de los atributos y efectuar las búsquedas. Todos los elementos cuyos valores de atributos corresponden a los valores ingresados son seleccionados y presentados en el explorador de elementos.
Puede acceder a la sección de configuración de las consultas presionando Consultas desde la sección Proyectos.
Crear una consulta de selección por atributos
Para crear una nueva consulta presione Crear consulta en la sección Consultas. Los parámetros varían en función del tipo de consulta seleccionado.
Consulta de selección por atributos
Título
Ingrese un título para la consulta. Los usuarios verán ese título en la lista de consultas.
Capa
Seleccione la capa en la que se ejecutará la consulta. El campo de búsqueda facilita la selección de la capa.
Escala máxima
Ingrese la escala máxima para la visualización de los resultados en el mapa. Esto es útil para evitar los zooms demasiado detallados sobre los resultados.
Nro. max. de valores devueltos
Ingrese el número máximo de elementos que pueden ser devueltos por la consulta. Ésta no se ejecutará si el tamaño del resultado es superior a este límite. Este parámetro evita la ejecución de consultas demasiado voluminosas que podrían disminuir el rendimiento del sistema.
Modelos de consultas
Básico: En este tipo de consulta la búsqueda se efectúa únicamente en los atributos de la capa. Es el tipo más simple de consulta. Base de datos externa: En este tipo de consulta la búsqueda se efectúa en una base de datos externa que posee un campo que la vincula a un atributo de la capa. Este tipo de consulta es más complejo para configurar pero ofrece más flexibilidad para las búsquedas.
Consultas en la capa
Consulta básica
WHERE
Cláusula WHERE de la expresión SQL que se ejecuta para realizar la búsqueda. Típicamente esta cláusula contiene parámetros numerados ($param1
, $param2
, etc.) que serán reemplazados por los valores ingresados por el usuario en el formulario.
Ejemplos:
COUNTRY='$param1'
Selecciona los elementos de la capa que tienen el valor del atributo COUNTRY igual al valor ingresado por el usuario. El valor del atributo debe corresponder perfectamente al valor ingresado ($param1
).
lower(COUNTRY) like lower('$param1%'
)
Selecciona los elementos de la capa que tienen el valor del atributo COUNTRY similar al valor ingresado por el usuario. El valor del atributo debe comenzar por el valor ingresado ($param1
). Gracias al operador lower
la búsqueda no es sensible a las mayúsculas y minúsculas.
POP2000>=$param1
and POP2000<$param2
Selecciona los elementos de la capa que tienen el valor del atributo POP2000 dentro del rango definido por los dos valores ingresados ($param1
y $param2
).
Diseño de formulario
Presione este botón para configurar el formulario de la consulta. La sección Formularios ofrece más detalles sobre el tema.
Consultas externas
Este tipo de consultas se utiliza cuando se debe hacer una búsqueda en datos contenidos en una base de datos externa a JMap. La base de datos externa debe tener un campo que permita vincularla con un atributo de la capa. En primer lugar se ejecuta una consulta SQL de tipo SELECT en la base de datos externa y los valores devueltos por la misma son luego asociados a los elementos de la capa utilizando el campo de vinculación.
Consulta en base de datos externa
Bases de datos
Seleccione la base de datos en la que desea efectuar la búsqueda.
Expresión SQL
Ingrese la expresión SQL que será ejecutada en la base de datos para buscar los elementos.
Ejemplo:
select * from cities where CITY_LANGUAGE='$param1'
Busca en la tabla cities de la base de datos seleccionada. Devuelve los registros cuyo valor del campo CITY_LANGUAGE es igual al valor ingresado por el usuario ($param1
).
Atributo de la capa
Especifique, entre los atributos de la capa, el atributo que servirá para establecer el vínculo con la base de datos.
Campo
Seleccione, entre los campos devueltos por la consulta SQL, el campo que servirá para establecer el vínculo con la capa.
Diseño de formulario
Presione este botón para configurar el formulario de la consulta. La sección Formularios ofrece más detalles sobre el tema.
Parámetros obligatorios y opcionales
Aún si el diseño del formulario de consulta indica que un campo es obligatorio u opcional, la cláusula WHERE de la expresión de consulta debe ser ajustada para soportar esta opción. Para ello, las partes de la consulta que están asociadas a parámetros opcionales deben estar incluidas entre llaves ( { } ).
Ejemplo de cláusula WHERE:
CITY = '$param1' and { COUNTRY = '$param2' }
Este ejemplo efectúa la búsqueda de las ciudades cuyo valor para el atributo CITY es igual al valor del parámetro 1 ingresado por el usuario ($param1
) y que opcionalmente tienen el valor del atributo COUNTRY igual al valor del parámetro 2 ingresado por el usuario ($param2
). Si el parámetro 2 no se ingresa, todo el bloque { COUNTRY = '$param2'
} es eliminado de la consulta, así como el operador AND que se vuelve huérfano. Atención: el administrador debe obligatoriamente definir $param2
como opcional en el diseño del formulario. La sección Formularios ofrece más detalles sobre este tema.
Valores múltiples para un mismo parámetro
Se puede permitir el ingreso de valores múltiples en los formularios, en un campo de tipo Lista (opciones múltiples). Los valores se separan mediante el carácter delimitador ; (punto y coma) . Esta opción puede ser activada en la cláusula WHERE de la consulta. La sintaxis es la siguiente:
$multiple{true|false} {\$delimiter{;}}
Ejemplo:
CITY = '$param1{$multiple{true} $delimiter{;}}'
Selecciona las ciudades cuyo valor del atributo CITY es igual a uno de los valores ingresados en el parámetro 1. Los valores están separados por punto y comas (;).
Gestión de las consultas de selección por atributos
Los administradores pueden modificar las consultas por atributos. Cuando las consultas se modifican no es necesario desplegar nuevamente las aplicaciones que publican el proyecto, dado que los cambios se transmiten de manera directa.
Organización de las consultas
Las consultas de selección por atributos pueden ser organizadas en grupos, lo que resulta especialmente útil en los proyectos que implican un número elevado de consultas.
Supresión de las consultas
La supresión de una consulta de selección por atributos suprime definitivamente la consulta y el formulario que está asociado a la misma. Para suprimir una consulta, selecciónela en la lista y presione Suprimir.
Publicación de las consultas
Una vez que la consulta ha sido creada se de forma automática y es accesible en todas las aplicaciones que difunden el proyecto.
Usted puede anular esta publicación para que la misma no esté disponible para los usuarios de las aplicaciones sin perder su configuración. Para anular la publicación de una consulta, desmarque la marca Publicada de la consulta en la interfaz de gestión de las consultas.
Consultas sobre las capas por referencia
Cuando un proyecto contiene capas por referencia, las consultas configuradas sobre esas capas en el proyecto que contiene las capas originales están disponibles automáticamente en el proyecto, que “hereda” esas consultas.
Usted no puede modificar esas consultas “por referencia” a partir del proyecto, éstas sólo pueden ser modificadas en el proyecto que contiene las capas originales.
Si usted desea modificar una consulta “por referencia” cree una copia de la consulta presionando Duplicar. La interfaz de configuración presenta los parámetros de la consulta que usted puede modificar.
Después que la nueva consulta ha sido configurada, usted debe desmarcar la marca Publicada de la consulta “heredada” de la capa por referencia para que ésta no sea más accesible en las aplicaciones JMap que utilizan dicha capa por referencia.
Usted también puede crear una nueva consulta sobre una capa por referencia, tal como se describe en la sección Crear una consulta de selección por atributos.
Dernière mise à jour