Mostrando las entradas con la etiqueta Formularios. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Formularios. Mostrar todas las entradas

lunes, 7 de diciembre de 2015

Formularios personalizados en QGIS 2.12, Parte 2

Tal como lo anunciamos en la anterior entrada, ahora vamos a continuar tratando el tema de los formularios personalizados. El objetivo ahora será enlazar datos externos que nos permitan mostrarlos dentro de nuestra tabla de atributos.

Uso del Plugin Form Value Relation


Hace unos días atrás pude apreciar que existía un plugin nuevo denominado Form Value Relation, luego de ver cómo se podría aplicar con nuestros datos, decidí mostrarlo en esta segunda parte sobre formularios personalizados. Tal como se muestra en la Figura 1, el plugin lo puedes instalar desde la administración e instalación de complementos del QGIS.

Figura 1: Instalación del Plugin Form Value Relation


Una vez que lo tenemos instalado ya estamos listos para emplearlo, por lo tanto para el siguiente ejercicio vamos a necesitar datos externos, para este caso van hacer de tipo CSV. Para quienes deseen practicar lo pueden descargar desde aquí.

Ahora ya dentro del QGIS podemos ir como ya sabemos a propiedades de nuestra capa anteriormente trabajada (ccpp_huanuco_base), en esta oportunidad vamos a modificar el campo "NOMCCPP", para ello ingresamos a su respectivo control de edición, dentro del mismo veremos que en la parte inferior de la lista de controles existe "Form Value Relation".


Figura 2: Ubicación del control "Form Value Relation"


Filtrado dinámico de valores en los formularios


Si bien existe la opción en la lista de controles de "Relación de valores", el plugin que describimos sería un clon, pero que representa una mejora, la cual hace que la aplicación de filtros dinámicos complejos en la tabla de atributos del QGIS constituya una tarea fácil. Como lo vamos a ver en el ejercicio, se podría emplear para poner en práctica formularios de desglose hacia abajo, donde los valores disponibles en un campo dependen de los valores de otros campos.

Lo primero que debemos hacer es seleccionar la capa de valores a enlazar, la columna clave y la columna de valores (Figura 3), las cuales corresponden a los campos de la nueva tabla que agregamos en formato CSV, con ello ya podemos hacer nuestra expresión de filtrado.

Figura 3: Configurando el plugin "Form Value Relation"


Para hacer la expresión de filtrado, nos vamos al editor de expresiones, en donde va existir ahora una nueva función en la sección "custom", y con la ayuda que nos ofrece podemos armar nuestra expresión tal como se muestra en la figura siguiente:

Figura 4: Elaborando la expresión para ejecutar un filtro.


Ya creamos una relación entre ambas tablas, ahora en el campo de "NOMB_DIST", podemos generar un control de  tipo "Mapa de Valor", con la idea de generar una lista desplegable con el nombre de los distritos, para que cuando se vaya cambiando entre ellos, se muestre en el campo de "NOMB_CCPP" los valores existentes en la tabla que se enlazó.

Figura 5: Campos y tipos de controles para que funcione el filtro


Una vez realizado este procedimiento, nos vamos a nuestro escritorio del QGIS y en modo de edición y usando el identificador hacemos clic en uno de los centros poblados, veremos con ello que en el campo de "NOMB_CCPP", existe una lista desplegable de centros poblados que estarían presenten en dicho distrito, y si cambiamos el nombre de distrito, aparecerán otros nombres, con ello verificamos que nuestro filtro esta funcionando.

Figura 6: Resultado de ejecutar el filtro al seleccionar el valor de un "Distrito"



Ordenando nuestro formulario


Hasta el momento podemos decir que nuestros datos a  modo de formulario han sido personalizados, pero se podría darle una mejor presentación, con el objetivo de que sea más eficiente. Lo primero que debemos hacer es ir a "Campos" y luego nos vamos en la parte superior a la "Disposición del editor de atributos". Como verán existe una lista para elegir entre tres opciones, por defecto esta "Autogenerar", ahora nosotros lo vamos a cambiar a la opción "Diseñador de arrastrar y soltar", con ello nos aparecerá un panel lateral.

Figura 7: Opción de Diseñador de tipo arrastrar y soltar.


Ahora solo nos queda darle nombre a las etiquetas que tendrán nuestros datos a modo de pestañas, con la finalidad de agruparlo por el tipo de datos que existen, luego solo debemos arrastrar nuestros campos para ubicarlo en donde corresponde.

Figura 8: Generando las etiquetas y arrastrando los campos para agruparse.


Finalmente ya en nuestro escritorio de QGIS podemos ver los resultados, es decir nuestro formulario dividido en viñetas que agrupan a los campos con distintos tipos de datos.


Figura 9: Resultado final con las viñetas activas dentro de nuestro formulario personalizado.


Bueno espero que les resulte útil usar el modo de formulario personalizado con nuestros datos. Hasta otra oportunidad.


Referencias:




miércoles, 2 de diciembre de 2015

Formularios personalizados en QGIS 2.12, Parte 1


En la presente entrada y en una posterior vamos a conocer las ventajas de trabajar con la visualización de los atributos en modo de formulario dentro del QGIS, personalizando el mismo para un ingreso o edición de datos más ordenado y sobre todo eficiente.

Personalizando Formularios (Custom forms)


En esta entrada tendremos el objetivo de personalizar un formulario, el cual va contener datos sobre centros poblados, por lo tanto vamos a necesitar datos de tipo vectorial (puntos), en esta oportunidad emplearemos aquellos datos que se compartieron en una entrada anterior, donde vimos el tema sobre estadísticas para datos espaciales,  pero claro, con fines didácticos se editaron, por lo tanto, vamos a usar solo parte de esa información. 
Para quienes se interesan en practicar, los datos específicos (ccpp_huanuco_base.zip) pueden ser descargados desde aquí.

Dentro del QGIS cuando añadimos los datos para el ejercicio veremos algo parecido a la siguiente figura:

Fig. 1: Vista de los datos del ejercicio


Como primer paso vamos a conocer con mayor detalle el tipo de información que tenemos en la capa de centros poblados, en función a ello veremos las opciones que tenemos para su personalización. Si nos vamos a "propiedades" de la capa y luego a "campos" (Fig. 2), podremos conocer con mayor detalle las propiedades de nuestra tabla de atributos, en especial podemos resaltar sobre el tipo de información existente, como por ejemplo si son textos (String), números o fechas. Aunque para este caso, lo que nos interesa es ver cómo cada campo de información cuenta con la posibilidad de modificar el "control de edición" para nuestros datos.

Fig. 2: Vista de los campos presentes


Ahora iniciaremos modificando este "control de edición" en algunos campos de acuerdo al tipo de información que almacenan.

1. Empleando Mapa de Valor (Value map)


Dentro de nuestro datos podemos ver un campo que dice "CATEGORIA", el cual varía entre valores de "Pueblo", "Villa" y "Ciudad", por lo tanto podemos emplear este tipo de control o Wignet (Mapa de Valor). Para ello primero nos vamos al campo que requerimos editar (1), luego de toda la lista elegimos "Mapa de valor" (2), después tenemos la opción de "Cargar los datos desde la capa" (3), opción recomendada sobre todo si existe varios valores y siempre que toda las variantes posibles se encuentren en la capa, sino podemos adicionar manualmente o también a partir de datos externos como CSV;  cuando cargamos datos de la capa, debemos elegir la capa y el campo de donde vamos a extraer los valores (4), finalmente hacemos clic en el botón "Aceptar" (5) y la tabla de valores será incluida. 


Fig. 3: Uso del Mapa de valor con datos de la capa


Una vez realizado esta secuencia de pasos, nos dirigimos a nuestro visor de capas en QGIS, pero ahora vamos a ponerlo en modo de edición para apreciar los cambios, teniendo activo nuestro identificador de objetos nos dirigimos por ejemplo a la ciudad de Tingo María (Fig. 4), con ello se activará nuestro formulario y apreciaremos que en el campo de "CATEGORIA", existe la posibilidad de escoger entre las tres opciones mencionadas.

Fig. 4; Mostrando los valores disponibles indicados con el mapa de valor




2. Empleando Foto (Photo)

Ahora veremos lo fácil que es incorporar fotos dentro de nuestros datos, lo primero que debemos hacer una vez elegido este tipo de control, es definir la extensión de la imagen que vamos a incluir (Fig. 5), para ello sería importante ingresar un tamaño lo suficiente grande para que pueda apreciarse mejor.

Fig. 5: Configurando el tamaño de la imagen

Luego debemos ingresar la ruta de ubicación de nuestra imagen, se recomienda colocar toda la ruta completa, si bien es posible que en modo edición, una vez elegido un centro poblado como "Aucayacu",  nos dirigimos a la carpeta donde se ubican las fotos (Fig. 6), al hacer esto solo ingresa dicha carpeta que lo contiene y el nombre del archivo (Fig. 7). 

Fig. 6: Mostrando la opción para ubicar la ruta de las fotografías.


Fig. 7: Mostrando el formulario con la fotografía incorporada.



Tal como lo hicimos, si bien se logra visualizar la imagen, cuando por ejemplo queremos emplear otra herramienta o plugin para la visualización de eventos como el eVis (Fig. 8), empleado para optimizar el uso de este tipo de información, como por ejemplo enlazar a una aplicación que nos permita editar nuestra imagen. Bueno para quienes están interesados en profundizar en el uso de este plugin les recomiendo ingresar aquí.


Fig. 8: Ejemplo del uso del plugin eVis para visualizar las fotografías.


Para quienes deseen practicar con las fotos (cortesía de Panoramio), lo pueden descargar desde aquí.



3. Empleando Intervalo (Range)


Para valores numéricos tenemos la opción de generar un rango de valores (mínimo y máximo), por lo tanto, en este caso para el campo denominado "Altitud_m", elegimos "Intervalo", luego debemos indicar el rango de valores posibles para la zona que estamos evaluando (Fig. 9), de la misma manera podemos hacerlo par el campo denominado "Precipi_mm".

Fig. 9: Ajuste para el uso de intervalos.


Debido a que elegimos como "Deslizador" a nuestro control de edición, cuando seleccionamos un centro poblado en modo de edición, podemos ver que podemos ir deslizando sobre una barra hasta indicarle un valor final.

Fig. 10: Detalle del uso de un control tipo deslizador para cambiar datos numéricos


4. Uso de Fecha/Hora (Date/Time)


Cuando nuestro campo está configurado para ingresar fechas, tenemos la opción de poder ingresarlo en nuestro formulario de una manera más adecuada. Existe el campo que se denomina "Fundacion", con el objetivo de ingresar el dato sobre la fecha de fundación del centro poblado. Cuando nos dirigimos a la opción de Fecha/Hora, debemos personalizarlo, para ello es importante activar el botón de ayuda que nos permite ver el formato que podemos usar y una vista previa del mismo (Fig. 11). Del mismo modo podemos activar la casilla de "pop-up de calendario" que nos permitirá que el ingreso de la fecha sea con una ayuda visual, también se considera importante activar lo de  "valores nulos", sobre todo si no se cuenta con esa información, porque sino por defecto se coloca la fecha actual.
Fig. 11: Configurando el formato para usar el control de fecha.

Por último ahora podemos ingresar en modo de edición y hacemos clic en un centro poblado, en esta oportunidad si elegimos "Tingo María", del cual conozco bien su fecha de fundación, debido a que es mi ciudad natal y a propósito es una ciudad hermosa. Bueno ahora solo nos queda ingresar en nuestro formulario la fecha, y claro ayudado por el calendario en modo pop-up (Fig. 12), luego guardamos la edición para que se actualice la información.

Fig. 12: Ingresando la fecha ayudados por un calendario.



Bueno, para esta primera parte es todo lo que quería mostrar, en una siguiente entrada veremos otras opciones como por ejemplo la posibilidad de enlazar datos externos, para ello podemos emplear la "Relación de valores" y también veremos como podemos ordenar los campos de nuestro formulario para una mejor presentación.

Hasta la próxima y como siempre les recomiendo revisar las referencias para mayor información.


Referencias: