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.
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.
Configure Attachment Widget¶
Preparación en escritorio
El tipo de control Adjunto se utiliza con campos que almacenan una ruta a archivos.
Se puede usar para:
- show and take photos or add pictures from the gallery
- escuchar y grabar clips de sonido
- mostrar y grabar vídeos
- mostrar enlaces a archivos externos, como PDF o documentos
The path should be set to relative. The pictures, audios, videos, pdf and docs are stored then in a sub-directory of the project, where the link stored in the textfield is pointing to.
Note
QGIS 3.30 or newer is required for the audio and video functionality
In QField the attachments are displayed. By clicking the icons symbol the camera or audio record is started to update the pictures, videos or audios with a new media.
On synchronization the sub-directory with the pictures, videos audios, pdf and docs has to be copied as well.
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 provides the possibility to configure the path of attachments.
- Go to QFieldSync plugin > Layers Properties
Use expressions to specify the path of the attachments. By default, pictures are saved into the "DCIM" folder, audio recordings are saved into the "audio" folder and videos are saved into "video" with a timestamp as name.
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.
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
.