Saltar a contenido

Variables de expresión en QField

QField supports various expression variables that can be used as field defaults, constraints or also to control the visibility of your attribute forms. These include not only all the expression variables available in QGIS but also additional variables provided by QField to access positioning information and give explicit information about the QFieldCloud data. The expression variables are set in your QGIS project, either inside the project- or layer properties, depending on your used case.

QFieldCloud Variables

For QFieldCloud users, three expression variables can be used in forms or default values:

  • @cloud_username - Devuelve el nombre del usuario de QFieldCloud actualmente conectado.
  • @cloud_useremail - Devuelve la dirección de correo electrónico del usuario de QFieldCloud actualmente conectado.
  • @cloud_team - Returns the name of the Team to which the user belongs within the organization.

Posicionamiento y variables GNSS

Accurate positioning information can be relevant in a lot of contexts. When your location is activated, it is possible to store the exact locations inside zour attribute frm. the specific variables will populate the pre-configured fields.

Flujo

Project Manager

  1. In your QGIS Project, open the layer properties of the layer, in which you wish to record your location (right-click on layer in the data browser.)
  2. Switch to the attribute form section.
  3. In the default value, set the desired position variable.

setting project variables as expressions
setting project variables as expressions

Alternative

You may wish to fall back to your internal positioning to insure that a location is actually recorded. You can configure your attribute field in such a way that it will exactly do that. Simply use the expression coalesce()

  1. In the default value of your desired attribute write:

coalesce(@gnss_horizontal_accuracy, @position_horizontal_accuracy)

En caso de que se conecte a un dispositivo de posicionamiento externo, es posible intercambiar la variable @position_* por la variable @gnss_* para conectar directamente su posición.

Watch

Make sure that your positioning is enabled, otherwise the fields will not be populated. In order for the positioning variable to be available is when the crosshair is snapped to the sensor.

Lista de variables de posicionamiento y GNSS

  • @position_source_name: el nombre del dispositivo que proporciona la información de ubicación, según lo informado por el sensor. Si la posición se establece manualmente y no se ajusta al cursor, el nombre de origen es "manual".
  • @position_quality_description: descripción legible y traducida de la calidad según lo informado por el sensor (por ejemplo, "RTK fijo").
  • @position_coordinate: un punto que contiene las coordenadas WGS84 (longitud, latitud, altitud) proporcionadas por el sensor.
  • @position_horizontal_accuracy: precisión horizontal de la coordenada (en metros), según lo informado por el sensor.
  • @position_timestamp: la marca de tiempo de la posición en UTC, según lo informado por el sensor.

  • @position_direction: la dirección del movimiento en grados desde el norte verdadero, según lo informado por el sensor.

  • @position_orientation - La orientación del propio dispositivo, independientemente de su movimiento, con respecto al norte verdadero (de 0° a 359°).

  • @position_ground_speed - Velocidad respecto al suelo (en m/s), según lo informado por el sensor.

  • @position_magnetic_variation - El ángulo entre la componente horizontal del campo magnético y el norte verdadero (declinación magnética). Un valor positivo indica una dirección en sentido horario desde el norte verdadero; un valor negativo indica una dirección en sentido antihorario.

  • @position_vertical_accuracy: la precisión vertical de la coordenada (en metros), según lo informado por el sensor.

  • @position_3d_accuracy: la precisión tridimensional de la coordenada (en metros), según lo informado por el sensor.

  • @position_vertical_speed - La velocidad vertical (en m/s), según lo informado por el sensor.

  • @position_averaged_count - Número de posiciones recogidas a partir de las cuales se ha calculado una posición promediada. Si no se promedia, el valor es 0 (cero).
  • @position_pdop - Dilución de precisión de la posición, según lo informado por el sensor.
  • @position_hdop - Dilución horizontal de la precisión, según lo informado por el sensor.
  • @position_vdop - Dilución vertical de la precisión, según lo informado por el sensor.
  • @position_number_of_used_satellites - El número de satélites utilizados por el sensor.

  • @position_used_satellites: lista de satélites en uso (PRI), según lo informado por el sensor.

  • @position_fix_status_description: el estado de fijación del GPS ("NoData", "NoFix", "Fix2D" o "Fix3D"), según lo informado por el sensor.

  • @position_fix_mode - El modo de fijación ("M" = Manual, "A" = Automático), según lo informado por el sensor.

  • @position_imu_correction - Devuelve verdadero si la información de posición fue mejorada por un dispositivo IMU.

  • @position_imu_roll - El valor de balanceo de un dispositivo IMU activo que proporciona correcciones de posicionamiento.

  • @position_imu_pitch - El valor de paso de un dispositivo IMU activo que proporciona correcciones de posicionamiento.
  • @position_imu_heading - El valor de rumbo de un dispositivo IMU activo que proporciona correcciones de posicionamiento.
  • @position_imu_steering: el valor de dirección de un dispositivo IMU activo que proporciona correcciones de posicionamiento.

Información

  • I: Fuente de posición interna, E: Fuente de posición externa (NMEA).
  • Las variables que contienen satélites no están disponibles en iOS.

Nota

The gnss_* variables always report the GNSS sensor values, even when the crosshair is not snapped.

  • When the crosshair is snapped to the sensor:
    • @gnss_horizontal_accuracy > Reports the sensor's horizontal accuracy (in meters).
    • @position_horizontal_accuracy > Reports the same value as the corresponding gnss value.
    • @position_source_name > Reports the sensor name.
  • When the crosshair is manually moved:
    • @gnss_horizontal_accuracy > Reports the sensor's horizontal accuracy (in meters).
    • @position_horizontal_accuracy > The value is NULL.
    • @position_source_name > The value is manual.