Préparer une collecte de données du télémètre

Il est possible d’utiliser des télémètres pour capturer des informations d’emplacement, de décalage et de hauteur concernant un objet cible. Les télémètres sont généralement utilisés dans les situations suivantes :

  • Cartographie de l’emplacement d’un objet qui est inaccessible, parce qu’il est difficile ou imprudent d’y accéder. Par exemple, un arbre sur un île ou un regard d’égout au milieu d’une route très passante.
  • Cartographie de l’emplacement d’un objet où il n’est pas possible d’obtenir un signal GPS ou d’obtenir une position GPS d’une précision suffisante. Par exemple, sous un grand arbre, ou dans une rue étroite ou un « canyon urbain ».

Préparer une enquête pour l’enregistrement de mesures

Tout d’abord, il convient de déterminer quelles mesures enregistrer.

Au minimum, vous devez créer une question de type texte avec une apparence rangefinder pour stocker les valeurs renvoyées par le télémètre. Cette question peut être de type texte dans le cas de l’enregistrement de plusieurs mesures télémétriques (l’objet JSON tout entier est stocké), ou de type entier ou décimal dans le cas de l’enregistrement d’une seule mesure (une seule valeur numérique est stockée).

Les types de mesure sont à définir dans la colonne bind::esri:parameters en utilisant measurement= suivi d’une liste de paramètres séparés par des virgules (par exemple, measurement=height,azimuth,horizontalDistance,slopeDistance,inclination).

Il est également possible de réaliser une routine de mesure pour plusieurs hauteurs sur une structure verticale en utilisant le paramètre multipleHeight suivi de la liste d’étiquettes de hauteur séparées par des virgules. Mettez la liste des paramètres entre guillemets si l’une des étiquettes de hauteur contient des espaces (par exemple, measurement="multipleHeight,Height 1,Height 2,Height 3"). Les routines de mesure pour plusieurs hauteurs ne peuvent pas être combinées avec d’autres valeurs de mesure ; elles ne peuvent être utilisées que séparément.

Dans l’enquête, d’autres questions de type texte peuvent stocker des mesures spécifiques. Utilisez la fonction pulldata pour extraire des propriétés de l’objet JSON qui est renvoyé par le télémètre. Par exemple, ce qui suit renvoie uniquement la valeur de direction (azimut) : pulldata("@json",${tree},"azimuth").

Voici l’exemple d’un objet JSON renvoyé par un télémètre. Il est possible d’extraire chacune de ces propriétés et de les stocker dans une question, en utilisant une expression pulldata semblable à celle indiquée ci-dessus :

{
    "referenceCoordinates": {
       "latitude":-37.8479578,
       "longitude":144.9792849
    },
    "targetCoordinates": {
       "latitude":-37.847956857525,
       "longitude":144.979303248161
    },
    "height":0.6,
    "heightUnits":"m"
    "horizontalDistance":2.1,
    "horizontalDistanceUnits":"m",
    "slopeDistance":2.1,
    "slopeDistanceUnits":"m",
    "azimuth":50.1,
    "azimuthUnits":deg",
    "inclination":-4.4,
    "inclinationUnits":"deg",
    "heightArray":[0.6,0.9,1.1,1.4,2]
}

Lors du lancement d’une enquête dont certaines questions utilisent l’apparence de type télémètre, une icône de télémètre figure en regard de la question. Pour capturer une mesure, l’utilisateur doit toucher l’icône, déclencher le télémètre et revenir à l’enquête pour répondre aux autres questions.

Préparer une enquête à utiliser dans un processus

Il est possible de configurer autrement une enquête pour permettre à l’utilisateur de la sélectionner à partir de la tuile Rangefinder (Télémètre) de la bibliothèque Survey123.

La tuile de télémètre convient aux projets de capture à répétition dont les mesures télémétriques constituent l’essentiel des données en entrée de l’enquête. Il est possible de configurer plusieurs enquêtes pour qu’elles acceptent les mesures télémétriques, et de les sélectionner au moment de la capture.

Pour faire figurer une enquête dans la liste des enquêtes de la tuile de télémètre, ajoutez l’une des valeurs suivantes dans la colonne bind::esri:workflow lors de sa configuration :

  • rangefinderMode=height
  • rangefinderMode=offset
  • rangefinderMode=height,offset
  • rangefinderHeight

Ce paramètre indique à l’application le processus de mesure télémétrique que vous exécutez et stocke l’objet JSON renvoyé dans la question de type texte correspondante. Il est possible de masquer ces questions dans l’enquête (à l’aide de l’apparence de type masqué) et de stocker certaines valeurs de mesure dans des questions supplémentaires.

Il est également possible de configurer le processus de mesure pour plusieurs hauteurs en incluant la question de type texte avec rangefinderMode=height, ainsi que des questions de type décimal supplémentaires pour stocker chaque valeur de hauteur. Attribuez à chaque question de type décimal la valeur rangefinderHeight dans la colonne bind::esri:workflow du fichier XLSForm.

Dans l’enquête, des questions supplémentaires peuvent stocker d’autres valeurs de mesure spécifiques. Utilisez la fonction pulldata pour extraire des propriétés de l’objet JSON qui est renvoyé par le télémètre, comme indiqué à la section Préparer une enquête pour l’enregistrement de mesures.