Formulario de atributos¶
QField crea formularios similares, pero no iguales a los de QGIS. Los controles de campos de QGIS son compatibles con el mejor esfuerzo y están optimizados para el uso móvil.
Tipo de control | Soporte | Notas |
---|---|---|
Edición de texto | - No se admite HTML - La entrada numérica es obligatoria según el tipo. |
|
Casilla de verificación | ||
Mapa de valores | ||
Oculto | ||
Adjunto | Este campo se combina con la integración de la cámara. También es capaz de abrir otros archivos como pdf y doc (si tiene un visor apropiado) Adjuntos (configuración de fotos) | |
Fecha Hora | ||
Rango | ||
Referencia de relación | ||
Control de relaciones | ||
Relación de valores | ||
Generador de UUID | ||
Control QML / HTML | ||
Otros | Financiación |
Editable¶
Se respeta la propiedad editable de los campos.
Recordar últimos valores¶
QField ofrece un control mucho más fino sobre los últimos valores utilizados e ignora la configuración de QGIS.
Suprimir formulario de atributos¶
La configuración suprimir formulario de atributos se aplica directamente al formulario QField.
Formularios del diseñador de arrastrar y soltar¶
Los grupos y pestañas de los formularios del diseñador de arrastrar y soltar son compatibles.
En el "Formulario de atributos", puede estructurar sus formularios utilizando varios contenedores, como pestañas y grupos, y mejorar la interactividad incorporando visibilidad condicional basada en expresiones. Si activa el Diseñador de arrastrar y soltar, obtendrá flexibilidad para reordenar los campos de atributos, así como acceso a widgets que no están directamente vinculados a campos específicos (por ejemplo, widgets HTML/QML).
Configurar un control de relaciones¶
Preparación en escritorio
Para más información, consulte el capítulo de relaciones de la Documentación oficial de QGIS.
El control de relaciones muestra en una lista todos los objetos espaciales hijos referenciados. Es posible añadirlos, eliminarlos y abrirlos.
La identificación visual de las entradas de la lista se realiza a través de la Expresión de visualización de la capa secundaria.
Manejo de claves¶
Dado que las claves primarias de los padres se utilizan como claves externas en los objetos espaciales de los hijos de referencia, estas claves primarias se deben guardar para su uso incluso después de la sincronización de vuelta a los datos originales. Por lo tanto, recomendamos utilizar valores estables como UUID para las claves primarias.
Es posible añadir ya hijos de un padre que está a punto de ser añadido. Esta posibilidad se bloqueará si no hay una clave primaria válida en el padre o se violan las restricciones. En caso de que la adición del objeto espacial padre se cancele después de que se hayan añadido ya algunos hijos, los hijos también se eliminarán.
Relaciones Muchos-a-Muchos¶
En las relaciones de muchos a muchos, según la configuración de cardinalidad en Propiedades de las capas vectoriales de QGIS, al añadir, eliminar o abrir una entrada en la lista afecta directamente a la capa hija (en la cardinalidad directa) o en la tabla de enlace (en la cardinalidad múltiple).
El segundo caso se suele utilizar cuando hay información adicional de la relación (por ejemplo, el porcentaje) en la tabla de enlace.
En el caso de la cardinalidad muchos-a-uno en relaciones muchos-a-muchos la Expresión de visualización debe establecerse en la tabla de enlace.
Configuración del umbral de elementos para los widgets del editor de mapas de valores¶
Para mejorar la experiencia del usuario en QField, es posible controlar el umbral de elementos en el que los widgets del editor del mapa de valores cambian a una interfaz de botones de alternancia. Esta prestación permite a los usuarios acceder rápidamente a los elementos de QField cuando hay pocos y proporciona una interfaz más intuitiva cuando se trata de un gran número de elementos.
Para activar la interfaz de botones basculantes¶
-
Abra Propiedades de capa haciendo clic con el botón derecho en la capa deseada y seleccionando 'Propiedades' en el menú contextual.
-
Navegue hasta la pestaña QField situada dentro del cuadro de diálogo Propiedades de capa.
-
Aquí encontrará una opción para especificar la cantidad de elementos que activarán la transición a una interfaz de botón de alternancia. Introduzca el valor de umbral preferido según sus necesidades.
Configurar el widget de archivos adjuntos¶
Preparación en escritorio
El tipo de control Adjunto se utiliza con campos que almacenan una ruta a archivos.
Se puede usar para:
- mostrar y hacer fotos o añadir fotos desde la galería
- escuchar y grabar clips de sonido
- mostrar y grabar vídeos
- mostrar enlaces a archivos externos, como PDF o documentos
La ruta debe ser relativa. Las imágenes, audios, vídeos, pdf y docs se almacenados en un subdirectorio del proyecto, donde el enlace almacenado en en el campo de texto.
Nota
QGIS 3.30 o más reciente es necesario para la funcionalidad de audio y vídeo
En QField se muestran los archivos adjuntos. Al hacer clic en el símbolo de los iconos se inicia la grabación de la cámara o de audio para actualizar las imágenes, vídeos o audios con un nuevo medio.
En la sincronización, el subdirectorio con las imágenes, vídeos, audios, pdf y documentos tiene que ser copiado también.
La opción hipervínculo en el control de adjuntos desactivará la funcionalidad de la cámara y habilitará un hipervínculo para abrir un documento (pdf, doc, ...).
Ruta de adjuntos configurable¶
Preparación en escritorio
QFieldSync ofrece la posibilidad de configurar la ruta de los archivos adjuntos.
- Vaya al complemento QFieldSync > Propiedades de las capas.
Utilice expresiones para especificar la ruta de los archivos adjuntos. Por defecto, las imágenes se guardan en la carpeta "DCIM", las grabaciones de audio en la carpeta "audio" y los vídeos en "vídeo" con una marca de tiempo como nombre.
Configurar un control de relación de valores¶
Preparación en escritorio
El control Relación de valores ofrece valores de una tabla relacionada en un cuadro combinado. Puede seleccionar capa, columna clave y columna de valor. Hay disponibles varias opciones para cambiar los comportamientos estándar: permitir valor nulo, ordenar por valor y permitir selecciones múltiples. El control mostrará una lista desplegable o de selección múltiple de los objetos referenciados.
Configurar la visibilidad condicional¶
Preparación en escritorio
Los grupos se pueden ocultar en base a una expresión. Esto es útil cuando ciertos atributos sólo se requieren bajo ciertas condiciones. Por ejemplo imagíne que se mapean árboles. Algunos de ellos podrían tener una enfermeda y usted tiene una lista de posibles enfermedades. Para no abarrotar el formulario con muchos campos haga un grupo y configure una expresión de visibilidad para un grupo "enfermedades". Añada un campo "enfermedad" con una casilla de verificación. Sólo cuando la casilla esté marcada, la lista de enfermedades estará disponible.
Veamos lo que tomamos en el campo:
Definir Restricciones¶
Preparación en escritorio
Los campos de atributos pueden tener restricciones. Las restricciones son
expresiones que deben ser evaluadas como Verdadero
(o 1
) para poder
guardar el formulario. Las restricciones se configuran por campo
y se puede añadir una descripción que se mostrará si una
restricción no se cumple.
Casos de uso común¶
No puede introducir un valor de elevación superior a la montaña más alta de este país.
"elevation" < 5000
Es requerido rellenar un identificador.
"identificador" IS NOT NULL
Definir Valores Predeterminados¶
Preparación en escritorio
Los campos pueden tener configurados valores predeterminados. Los valores predeterminados se insertan en el formulario de atributos cuando se digitaliza un nuevo elemento. Son visibles y pueden modificarse mientras el campo sea editable. Pueden basarse en la geometría o en variables de expresión.
Al crear expresiones para proyectos destinados a ser utilizados con QField, se recomienda utilizar nombres de capa en lugar de ID de capa. Esta recomendación se debe al hecho de que durante el proceso de conversión del proyecto a través de QFieldSync, las capas resultantes pueden recibir diferentes ID, lo que puede dar lugar a evaluaciones incorrectas de las expresiones. El uso de nombres de capa garantiza que las expresiones se evalúen de forma coherente y precisa en los distintos estados del proyecto.
Variables adicionales¶
Para más información sobre el almacenamiento de información relacionada con su posición en los atributos del objeto, consulte la documentación del GNSS dedicada.
Para los usuarios de QFieldCloud, se pueden utilizar dos variables en las expresiones que incluyen los valores predeterminados de los formularios de atributos:
- @cloud_username
que devuelve el nombre del usuario actualmente conectado a QFieldCloud.
- @cloud_useremail
que devuelve la dirección de correo electrónico del usuario actualmente conectado a QFieldCloud.
Casos de uso común¶
Insertar información de posicionamiento como variable:
@position_horizontal_accuracy
Insertar la fecha y hora actuales:
now()
Insertar la longitud de la línea digitalizada:
length($geometry)
Configurar las variables globales en el dispositivo e insertarlas:
@nombre_operador
Si desea asignar un código de región basado en la ubicación donde se inserta un nuevo objeto espacial, puede hacerlo utilizando una expresión agregada:
aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )
Para transformar las coordenadas recibidas de \@position_coordinate al sistema de coordenadas de su proyecto:
x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
::: {#snapping_results} Si desea utilizar los resultados de ajuste después de dibujar una línea, puede utilizar la variable [@snapping_results]{.title-ref}. El siguiente código extrae el valor del atributo [id]{.title-ref} del ajuste del primer punto de una línea. :::
with_variable(
'first_snapped_point',
array_first( @snapping_results ),
attribute(
get_feature_by_id(
@first_snapped_point['layer'],
@first_snapped_point['feature_id']
),
'id'
)
)
Búsqueda en controles de relación de valores y de referencia de la relación¶
Es posible buscar valores en un control de relación de valores o referencia de relación utilizando la lupa junto al campo.
Nota
Defina la expresión de visualización para las capas en cuestión. Esto será utilizado para buscar los objetos. Esto se configura en Propiedades de capas vectoriales > Visualización
Configurar el valor de autocompletar¶
Preparación en escritorio
La casilla "Usar completador" debe estar marcada para poder utilizar el autocompletar en la relación de valores.
Aquí un vídeo que muestra cómo funciona en QField
Definir controles QML¶
Los controles QML personalizados pueden ser útiles para integrar acciones avanzadas en los formularios. En este ejemplo definimos añadir un botón que abra una aplicación de mapas y navegación de terceros. Esto es útil para abrir, por ejemplo, navegaciones giro a giro en la aplicación nativa del dispositivo para el usuario.
import QtQuick 2.0
import QtQuick.Controls 2.0
Button {
width: 200
height: width/5
text: "Open in Maps"
onClicked: {
Qt.openUrlExternally(expression.evaluate("'geo:0,0?q=' || $y || ',' || $x"));
}
}
El URI geo
anterior está adaptado para funcionar con Android. Para Apple Maps el URI se puede cambiar a 'geo:' || $y || ',' || $x
.