Géopoint

Les questions géopoint permettent de capturer un emplacement donné dans une enquête. Bien que les réponses aux enquêtes de Survey123 tentent toujours de capturer la position d’un appareil même s’il n’y a aucune question de type géopoint dans le formulaire, vous pouvez améliorer la capture des informations de localisation en affichant une question de type géopoint dans le formulaire.

Question géopoint par défaut

Tenez compte des éléments suivants lors de l’utilisation de géopoints :

  • Vous pouvez ajouter plusieurs questions géopoint, géotrace ou géoforme dans une enquête, mais une seule d’entre elles est utilisable pour la géométrie de l’enregistrement de l’enquête. Plusieurs questions de type carte peuvent être employées si toutes les questions sauf une ont le champ bind::esri:fieldType défini sur null.
  • Chaque répétition d’une enquête peut également comporter plusieurs questions géopoint, géotrace ou géoforme, mais une seule d’entre elles est utilisable pour la géométrie de l’enregistrement d’une répétition. Plusieurs questions de type carte sont utilisables selon la méthode décrite ci-dessus.
  • Par défaut, Survey123 affiche des valeurs de latitude et longitude WGS84 au format degrés/minutes/secondes. Vous pouvez modifier cet affichage pour une enquête en ouvrant l’onglet Map (Carte), puis en sélectionnant un format différent dans Coordinate Format (Format de coordonnées).
  • Par défaut, une question géopoint utilise un fond de carte en mode hors connexion. Si votre enquête est destinée à être utilisée en mode hors connexion, reportez-vous à la rubrique Utiliser des fonds de carte en mode hors connexion.
  • Les emplacements des points provenant de la première question de type géopoint d’une répétition peuvent être affichés sur n’importe quelle carte dans votre enquête. Pour plus d’informations, reportez-vous à la rubrique Superpositions de points sur les cartes.
  • Si vous n’incluez aucune question de type géopoint, géotrace et géoforme dans votre enquête, le type de géométrie de la couche d’entités principale de votre enquête est esriGeometryPoint. La localisation du point est renseignée selon les informations d’emplacement disponibles dans l’appareil au moment de l’ouverture de l’enquête. Ce comportement s’applique même si l’enquête contient des répétitions comportant des questions de type carte, mais n’inclut pas une question de type carte en dehors des répétitions.
  • Si la valeur appearance (apparence) de la question de type géopoint est définie sur press-to-locate, Survey123 ne capture un point que lorsque l’utilisateur interagit avec la question.
  • Lors de la capture des réponses à l’aide d’une carte, toutes les fonctionnalités de l’application de terrain Survey123 ne sont pas prises en charge dans l’application Web. Les entités suivantes sont prises en charge dans l’application de terrain Survey123, mais pas dans l’application Web :
    • Fonds de carte en mode hors connexion.
    • Calcul de la moyenne des emplacements pour les questions géopoint.
    • Symbologie de géopoint.
    • Seuils de précision d’emplacement et expressions relatives à la qualité de l’emplacement.
    • Toutes les propriétés pulldata("@geopoint"). L’application Web prend maintenant en charge les propriétés x, y, z, horizontalAccuracy, verticalAccuracy, speed et direction.

Seuil de précision d’emplacement

Par défaut, Survey123 ne vérifie pas la précision des valeurs de position qu’il recueille. Si la précision de la position est importante pour les résultats de votre enquête, vous pouvez définir un seuil d’exactitude avec le calcul de la moyenne des emplacements. Pour ce faire, vous pouvez saisir une valeur numérique dans la colonne body::accuracyThreshold de votre question géopoint. Cette valeur correspondra au seuil de précision au-delà duquel les valeurs ne sont plus capturées lors du calcul de la moyenne d’un emplacement.

Message d’erreur lorsque la réponse dépasse le seuil de précision de 5 mètres

Si aucun calcul de moyenne n’est réalisé, la fenêtre de carte de l’application de terrain Survey123 affiche un avertissement si la précision de la position est supérieure au seuil défini, mais cela n’empêche pas l’utilisateur de capturer des emplacements. Si vous souhaitez capturer un emplacement correspondant au seuil, attendez qu’il n’y ait pas d’avertissement, puis cliquez sur le bouton de localisation. Les positions ne respectant pas le seuil de précision sont automatiquement ignorées lors du calcul de moyenne.

Expressions relatives à la qualité de la localisation

Le seuil de précision d’emplacement est un nombre unique, une valeur minimale pour la précision horizontale d’un emplacement donné. Vous pouvez utiliser une expression pour avertir l’utilisateur que son emplacement ne respecte pas des critères de qualité complexes ou pour l’empêcher d’envoyer cet emplacement. Une telle expression peut être saisie dans les deux colonnes suivantes (et leurs colonnes de messages associées) :

  • Les colonnes constraint (contrainte) et constraint_message (message_contrainte) peuvent être utilisées pour empêcher l’utilisateur de capturer un emplacement par le biais d’une question de type géopoint.
  • Les colonnes bind::esri:warning et bind::esri:warning_message permettent d’afficher un avertissement destiné à l’utilisateur si les conditions de l’expression ne sont pas remplies. Si les conditions de l’expression ne sont pas remplies, la barre contenant la valeur de coordonnée en haut de la question géopoint devient jaune. Néanmoins, I’utilisateur peut toujours capturer l’emplacement.
Message d’avertissement lorsque la réponse n’est pas en conforme à l’expression relative à la qualité de la localisation

Vous pouvez créer une expression dans l’une ou l’autre de ces colonnes, à l’aide d’une des questions de l’enquête. Toutefois, les questions ou les paramètres généralement utilisés sont associées à l’emplacement de l’enquête.

Pour plus d’informations sur les paramètres de position que vous pouvez utiliser, reportez-vous à la section Extraire des valeurs de géopoints ci-dessous.

Par exemple, vous pouvez utiliser une expression semblable pour vérifier que l’utilisateur est presque immobile avant de capturer un emplacement ou que la précision horizontale est supérieure à 5 mètres.

pulldata("@geopoint", ., "horizontalAccuracy") < 5 and pulldata("@geopoint", ., "speed") < 0.1

Conseil :

En pratique, même si vous préféreriez que l’utilisateur soit complètement immobile pour capturer un point, la vitesse enregistrée par un appareil a très rarement une valeur nulle. C’est pourquoi, dans l’exemple ci-dessus, la vitesse recherchée doit être inférieure à 0,1 pour que la marge d’erreur introduite soit acceptable.

Si la capture des emplacements doit absolument s’effectuer dans ces conditions, vous devez saisir l’expression dans la colonne constraint (contrainte). S’il s’agit seulement d’une recommandation, saisissez l’expression dans la colonne bind::esri:warning pour afficher uniquement un message d’avertissement à destination de l’utilisateur. Il est toujours possible pour l’utilisateur de capturer l’emplacement dans la question de type géopoint.

Les messages des colonnes constraint (contrainte) et bind::esri:warning s’affichent uniquement si l’expression saisie dans chacune de ces colonnes est interprétée comme fausse.

Dans le cas d’expressions très longue ou complexes, il est préférable de séparer ces fonctions Pulldata en plusieurs questions individuelles, puis d’indiquer le nom de ces questions dans l’expression. Ainsi, pour exécuter la même fonction que dans l’exemple ci-dessus, une question nommée hAccuracy pourrait utiliser le calcul suivant :

pulldata("@geopoint", ${location}, "horizontalAccuracy")

Une question nommée currentSpeed pourrait ensuite utiliser ce calcul :

pulldata("@geopoint", ${location}, "speed")

Enfin, le calcul suivant pourrait être utilisé en tant qu’expression de contrainte ou d’avertissement dans la question de type géopoint :

(${hAaccuracy} < 5) and (${currentSpeed} < 0.1)

Signaler l’intervalle de confiance de 95 pour cent

Votre organisation peut exiger qu’un intervalle de confiance (IC) spécifique accompagne le signalement des données collectées. Par défaut, lorsque le type d’exactitude qui est renvoyé est une erreur quadratique moyenne (EQM), l’IC est de 68 pour cent. Pour signaler l’IC de 95 pour cent dans votre enquête, vous devez multiplier d’exactitude horizontale par 1,7308 et d’exactitude verticale par 1,9600. Pour plus d’informations sur ces facteurs de conversion, consultez la norme nationale pour l’exactitude des données spatiales.

Exemple d’exactitude haute précision

Dans cet exemple, un ensemble minimal absolu de variables doit être satisfait, mais l’utilisateur a la possibilité de collecter un emplacement avec des variables moins strictes. Des problèmes de sécurité ou un danger peuvent par exemple empêcher l’utilisateur de rester à l’emplacement assez longtemps pour satisfaire les critères souhaités. Dans ce cas, un avertissement apparaît et l’utilisateur peut décider de capturer l’emplacement ou d’attendre plus longtemps.

Par exemple, le critère d’exactitude minimal absolu peut être le suivant :

  • L’exactitude horizontale avec un IC de 95 pour cent est inférieure à deux mètres.
  • L’exactitude verticale avec un IC de 95 pour cent est inférieure à deux mètres.
  • L’affaiblissement de la précision (PDOP) est inférieur ou égal à 6,0.
  • Cinq satellites ou plus sont utilisés.

Par exemple, le critère d’exactitude préférée peut être le suivant :

  • L’exactitude horizontale avec un IC de 95 pour cent est inférieure à un mètre.
  • L’exactitude verticale avec un IC de 95 pour cent est inférieure à un mètre.
  • L’affaiblissement de la précision (PDOP) est inférieur ou égal à 2,0.
  • Sept satellites ou plus sont utilisés.

Une question nommée haccuracy68cep pourrait utiliser le calcul suivant :

pulldata("@geopoint", ${location}, "horizontalAccuracy")

Ensuite, une question nommée haccuracy95ci pourrait utiliser le calcul suivant :

${haccuracy68cep} * 1.7308

Avec des calculs similaires pour l’exactitude verticale, l’expression suivante serait entrée dans la colonne constraint (contrainte) pour représenter l’exactitude minimale absolue :

${accuracyType} = 0 and ${haccuracy95ci} < 2 and ${vaccuracy95ci} < 2 and ${pdop} <= 6 and ${satellitesInUse} >= 5

L’expression suivante serait entrée dans la colonne bind::esri:warning pour représenter l’exactitude préférée. Les valeurs utilisées ici sont généralement plus petites que celles utilisées pour l’exactitude minimale absolue. Les valeurs plus petites sont préférées, mais les valeurs minimales supérieures sont utilisées.

${accuracyType} = 0 and ${haccuracy95ci} < 1 and ${vaccuracy95ci} < 1 and ${pdop} <= 2 and ${satellitesInUse} >= 7

Couches d’entités 3D

Par défaut, les questions de type géopoint de Survey123 ne prennent pas en charge les valeurs de l’axe z (altitude). Elles capturent uniquement la latitude et la longitude dans une couche d’entités à deux dimensions. Vous pouvez modifier ce comportement en saisissant esriFieldTypePointZ dans le champ bind::esri:fieldType de la question, ce qui permet la capture de la valeur d’altitude dans la couche d’entités. Cela permet également de modifier le champ d’altitude lors de la spécification d’une valeur de géopoint.

Par défaut

Vous pouvez définir un emplacement par défaut pour une question de type géopoint en fournissant un ensemble de valeurs de latitude et de longitude (en degrés décimaux) séparées par des espaces dans la colonne default (par défaut). Par exemple, les valeurs -37.814552 144.966071 définissent par défaut le géopoint sur un emplacement à Melbourne, en Australie.

Conseil :

Les emplacements par défaut situés dans l’hémisphère sud induisent une erreur dans Microsoft Excel. En effet, comme ces valeurs sont précédées par un signe moins (-), elles risquent d’être interprétées comme des formules. Pour y remédier, saisissez une apostrophe avant la première valeur afin qu’elle soit correctement interprétée dans Excel. L’ajout d’une apostrophe ne modifie pas le comportement de Survey123.

En l’absence de toute valeur par défaut, le géopoint est automatiquement mis à jour pour refléter l’emplacement actuel de l’appareil. Pour empêcher la capture automatique de l’emplacement enregistré par le géopoint, définissez la valeur par défaut sur null. Il affichera à la place des options d’affichage permettant la capture de l’emplacement, le chargement de la page des cartes pour la détermination manuelle d’un emplacement ou l’actualisation d’un calcul si un calcul est appliqué au géopoint.

Calculs

Vous pouvez renseigner une question géopoint avec les résultats d’autres questions. Pour ce faire, vous devez au préalable savoir que la réponse à une question de type géopoint possède le format d’une liste séparée par des espaces de valeurs de latitude et de longitude (en degrés décimaux), suivies de valeurs facultatives commençant par l’altitude et la précision (en mètres). Pour renseigner la réponse à une question géopoint vous devez respecter cette structure pour produire une réponse valide.

Puisque vous ne pouvez pas le faire directement en alimentant à partir de questions select_one, il est recommandé d’utiliser la fonction substr() pour créer une réponse valide. Par exemple, le nom du géopoint peut prendre la forme suivante :

+059.38330_+018.00000

Cette valeur utilise un nombre fixe de caractères pour la latitude et la longitude. Elle rajoute des zéros aux valeurs qui seraient normalement tronquées par un trait de soulignement entre les deux valeurs, car aucun espace n’est autorisé dans la colonne name. Cela a pour effet de créer une valeur pouvant être décomposée en toute sécurité grâce à la fonction substr(), afin de renseigner l’exemple suivant de question géopoint :

concat(substr(${LocationValue}, 0, 10), " ", substr(${LocationValue}, -10))

Cet exemple prend les dix premiers caractères de la valeur (la latitude) et les dix derniers (la longitude) et les présente séparées par un espace, en tant que résultat de géopoint valide.

Vous pouvez également utiliser la fonction pulldata() pour renseigner une question géopoint grâce à un fichier CSV joint. Commencez par ajouter le fichier CSV dans le dossier média de votre enquête. Ajoutez ensuite quelque chose de semblable à ce qui suit dans la colonne de calcul :

pulldata('Intersections', 'Lat', 'IntersectionID', ${intersection}) + " " + pulldata('Intersections', 'Long', 'IntersectionID', ${intersection})

Comme dans l’exemple substr() , les valeurs de latitude et de longitude d’un emplacement sont associées à un espace pour créer une réponse valide à une question géopoint à partir d’une question précédente.

Des exemples sont disponibles dans Survey123 Connect.

Emplacement requis et en lecture seule

Les questions géopoint renseignent automatiquement une enquête avec un emplacement fourni par l’appareil si un emplacement est disponible. Si l’appareil ne propose pas d’emplacement valide dans la réponse à l’enquête, Survey123 renvoie un emplacement égal à 0,0, qui se trouve dans l’océan, au large des côtes africaines. Le fait de marquer la question géopoint comme étant requise empêche l’envoi de la requête avec cette valeur null. L’enquête n’est acceptée que si l’appareil propose un emplacement ou si un emplacement est envoyé manuellement.

Le fait de marquer une question géopoint comme étant en lecture seule empêche la saisie manuelle de réponses. Cela peut s’avérer utile en cas de questions pour lesquelles une réponse automatique est nécessaire, et qu’une réponse manuelle provoquerait des problèmes avec le jeu de données. Il est préférable d’utiliser cette option avec l’un des calculs décrits ci-dessus, qui fournirait une valeur de géopoint discrète que les utilisateurs ne seraient pas en mesure de modifier.

Recherche géographique et géocode

Les questions de type géopoint incluent une fonction de recherche géographique qui permet aux utilisateurs de rechercher une adresse ou un point d’intérêt, puis d’appliquer un zoom à cet emplacement sur la carte et d’y insérer le symbole ponctuel de géopoint. Pour utiliser cette fonction, sélectionnez la carte dans l’enquête de manière à ouvrir une vue complète de géopoint. Saisissez l’adresse ou l’emplacement de votre choix dans la zone de texte située en haut de l’écran, puis sélectionnez le résultat correct parmi les résultats renseignés automatiquement. La carte zoome alors sur son emplacement.

La vue complète de géopoint permet également de procéder à un géocodage inverse, pour afficher le détail de votre géopoint. Pour cela, vous pouvez soit appuyer et maintenir la pression sur l’emplacement de la carte, soit appuyer et maintenir la pression sur l’affichage des coordonnées en bas de l’écran. L’emplacement sera imprimé au-dessus de l’affichage des coordonnées. L’emplacement après géocodage ne sera pas envoyé avec la réponse de votre enquête.

Par défaut, la fonction de recherche géographique renvoie des résultats en provenance du monde entier et utilise ArcGIS World Geocoder pour rechercher les adresses. Vous pouvez appuyer sur l’option de globe, située à gauche de la zone de recherche, pour modifier ces options par défaut. Dans la boîte de dialogue qui s’ouvre, vous avez la possibilité d’alterner entre les modes de recherche Search everywhere (Rechercher partout) et Search within the visible map extents (Rechercher dans l’étendue visible de la carte) ou d’accepter Map coordinate input only (Saisie de coordonnées uniquement). Vous pouvez également choisir d’utiliser un géocodeur accessible à votre organisation, à des fins de recherche géographique et de géocodage inverse. Si vous n’êtes pas connecté, vous aurez accès uniquement à ArcGIS World Geocoder.

Vous pouvez également poser une question dans le seul de rechercher un géocode en insérant une question texte utilisant l’apparence geocode. Pour plus d’informations, reportez-vous à la rubrique Apparence.

Extraire des valeurs de géopoints

Pour décomposer une réponse géopoint, vous pouvez faire appel à la fonction pulldata() afin d’extraire des valeurs pour renseigner les valeurs d’autres questions.

Survey123 améliore la fonction pulldata() lorsque le symbole @ est utilisé au début du premier paramètre. Cette amélioration permet d’extraire davantage que les quatre paramètres standard. Il est possible d’extraire d’autres paramètres d’une question géopoint grâce à une fonction pulldata() améliorée. L’exemple suivant extrait la valeur de précision horizontale d’une question géopoint :

pulldata("@geopoint", ${location}, "horizontalAccuracy")

La disponibilité des propriétés des géopoints dépend du matériel. Le tableau suivant répertorie les propriétés qu’il est possible d’extraire à partir d’un géopoint :

Nom de la propriétéDescriptionUnité

x

Longitude, valeur positive dans l’hémisphère est, négative dans l’hémisphère ouest.

Degrés décimaux

a

Latitude, valeur positive dans l’hémisphère nord, négative dans l’hémisphère sud.

Degrés décimaux

z

Altitude, nombre de mètres au-dessus du niveau de la mer (par défaut) ou hauteur au-dessus de l’ellipsoïde (si ce paramètre est sélectionné dans les paramètres de l’application de terrain).

Mètres

horizontalAccuracy

Exactitude horizontale des coordonnées x et y.

Mètres

verticalAccuracy

Exactitude verticale des coordonnées z.

Mètres

speed

Vitesse au sol.

Nombre de mètres à la seconde

Vitesse verticale

Vitesse verticale.

Nombre de mètres à la seconde

direction

Direction mesurée dans le sens horaire à partir du nord.

Degrés décimaux

positionSourceType

Catégorie de la source de position. Les résultats possibles sont Unknown (Inconnu) (0), User (Utilisateur) (1), System Location (Emplacement système) (2), External Device (Appareil externe) (3) et Network Device (Appareil réseau) (4) et File (Fichier) (5).

N/D

positionSourceInfo.antennaHeight

Hauteur de l’antenne de l’appareil. La distance entre l’antenne et la surface au sol est soustraite des valeurs d’altitude.

Mètres

positionSourceInfo.altitudeType

Type d’altitude sélectionné. Les résultats possibles sont l’altitude au-dessus du niveau moyen de la mer (Altitude above mean sea level) (0) et la hauteur au-dessus de l’ellipsoïde (height above ellipsoid) (1). Disponible pour tous les types de fournisseur de position.

N/D

Le tableau suivant répertorie les propriétés supplémentaires qu’il est possible d’extraire à partir d’un géopoint capturé avec un récepteur haute précision :

Nom de la propriétéDescriptionUnité

magneticVariation

Angle entre le nord magnétique et le nord géographique.

Degrés décimaux

fixType

Type de correction de la position dont dispose la coordonnée. Les résultats potentiels sont NoFix (0), GPS (1), DifferentialGPS (2), PrecisePositioningService (3), RTKFixed (4), RTKFloat (5), Estimated (6), Manual (7), Simulator (8) et SBAS (9).

N/D

positionSourceInfo

Informations relatives aux appareils en tant qu’objet JSON. Utile pour le débogage et la validation. Les éléments individuels peuvent être également renvoyés à l’aide du nom d’élément complet. Reportez-vous aux lignes du tableau suivant pour connaître tous les éléments disponibles.

N/D

positionSourceInfo.pluginName

Nom de la source de position interne. Disponible uniquement pour le fournisseur d’emplacements intégrés de l’appareil.

N/D

positionSourceInfo.deviceAddress

Adresse de l’appareil. Disponible uniquement pour les récepteurs GNSS externes.

N/D

positionSourceInfo.deviceName

Nom de l’appareil. Disponible uniquement pour les récepteurs GNSS externes.

N/D

positionSourceInfo.deviceType

Type d’appareil externe. Les résultats possibles sont Unknown (Inconnu) (-1), Bluetooth (0), Serial Port (Port série) (1) et Bluetooth LE (2). Disponible uniquement pour les récepteurs GNSS externes.

N/D

positionSourceInfo.networkName

Nom de la source de position réseau. Disponible uniquement pour les fournisseurs de position réseau.

N/D

positionSourceInfo.networkAddress

Adresse de la source de position réseau. Disponible uniquement pour les fournisseurs de position réseau.

N/D

positionSourceInfo.networkPort

Port de la source de position réseau. Disponible uniquement pour les fournisseurs de position réseau.

N/D

positionSourceInfo.geoidSeparationCustom

Écart entre l’ellipsoïde terrestre WGS-84 et le niveau moyen de la mer, tel que l’indique l’utilisateur dans les paramètres de l’application.

Mètres

geoidSeparation

Différence entre l’ellipsoïde terrestre WGS-84 et le niveau moyen de la mer, tel que l’indique le récepteur GNSS. Cette variable est également parfois désignée sous le nom de hauteur orthométrique.

Mètres

accuracyType

Type de précision signalé par les propriétés horizontalAccuracy et verticalAccuracy. Les résultats possibles sont RMS (0) et DOP (1). L’option RMS (Root Mean Square) correspond à une mesure de précision par l’erreur quadratique moyenne (EQM). Ceci est calculé en fonction d’un intervalle de confiance de 68 pour cent pour la latitude, la longitude et les erreurs d’altitude signalées dans la phrase GST fournie par le récepteur. Si le récepteur ne prend pas en charge GST, la DOP est utilisée à la place. DOP est l’exactitude basée sur l’affaiblissement de la précision. Elle utilise l’UERE, une valeur constante d’estimation de l’erreur sur la mesure de distance récepteur-satellite, pour estimer les précisions horizontale et verticale.

N/D

positionAccuracy

Erreur sphérique radiale moyenne. Englobe à la fois l’erreur horizontale et l’erreur verticale.

Mètres

latitudeError

Valeur de l’erreur 1-sigma de latitude. Cette propriété est uniquement renseignée si votre appareil de positionnement prend en charge les phrases GST dans les flux NMEA.

Mètres

longitudeError

Valeur de l’erreur 1-sigma de longitude. Cette propriété est uniquement renseignée si votre appareil de positionnement prend en charge les phrases GST dans les flux NMEA.

Mètres

altitudeError

Valeur de l’erreur 1-sigma d’altitude. Cette propriété est uniquement renseignée si votre appareil de positionnement prend en charge les phrases GST dans les flux NMEA.

Mètres

hdop

Affaiblissement de la précision horizontale (HDOP pour Horizontal Dilution of Precision) des données de position.

N/D

vdop

Affaiblissement de la précision verticale (VDOP pour Vertical Dilution of Precision) des données de position

N/D

pdop

Affaiblissement de la précision du positionnement (PDOP pour Positional Dilution of Precision) des données de position. L’équation qui permet de déterminer la valeur PDOP est PDOP^2 = HDOP^2 + VDOP^2.

N/D

differentialAge

Âge du signal différentiel et correction utilisée par le récepteur GPS pour la correction différentielle de la position.

Secondes

referenceStationId

ID de station de la référence différentielle (DSID) de la station utilisée par le récepteur GPS.

N/D

satellitesVisible

Nombre de satellites de positionnement visibles au moment de la capture de l’emplacement.

N/D

satellitesInUse

Nombre de satellites de positionnement utilisés pour renvoyer les données de position.

N/D

Format de coordonnées

La fonction pulldata() permet également d’extraire des valeurs de géopoint et de les convertir dans des formats de coordonnées supplémentaires :

  • pulldata("@geopoint", ${location}, "DMS") renvoie le géopoint en degrés, minutes et secondes. Le géopoint est renvoyé sous la forme d’un objet JSON :
    {
    	"latitudeDegrees": 39,
    	"latitudeHemisphere": "N",
    	"latitudeMinutes": 57,
    	"latitudeSeconds": 36.3,
    	"latitudeText": "39°57'36.3\"N",
    	"longitudeDegrees": 116,
    	"longitudeHemisphere": "E",
    	"longitudeMinutes": 27,
    	"longitudeSeconds": 4,
    	"longitudeText": "116°27'04.0\"E",
    	"text": "39°57'36\"N 116°27'4\"E"
    }
    Il est possible d’extraire chacune de ces valeurs à l’aide de paramètres supplémentaires. Par exemple, pulldata("@geopoint", ${location}, "DMS.latitudeMinutes") renvoie uniquement les minutes de la latitude.
  • pulldata("@geopoint", ${location}, "DDM") renvoie le géopoint en degrés et minutes décimales et pulldata("@geopoint", ${location}, "DD") renvoie le géopoint en degrés décimaux. Les géopoints sont aussi renvoyés sous la forme d’objets JSON, et chacune de leurs valeurs peut être extraite à l’aide de paramètres supplémentaires de la même manière que le format de degrés, minutes et secondes ci-dessus.

Les formats de coordonnées ci-après peuvent être utilisés avec un paramètre de précision facultatif, une valeur décimale correspondant à une puissance de 10 (par exemple, 0,01, 0,1, 1, 10 ou 100).

  • pulldata("@geopoint", ${location}, "MGRS") renvoie le géopoint sous la forme d’une valeur de grille MGRS (Military Grid Reference System) avec une précision de 1 mètre. Il est possible de définir un paramètre de précision facultatif pour modifier la précision (par exemple, pulldata("@geopoint", ${location}, "MGRS", 100) renvoie une valeur de grille avec une précision de 100 mètres).
  • pulldata("@geopoint", ${location}, "USNG") renvoie le géopoint sous la forme d’une valeur de grille USNG (United States National Grid) avec une précision de 1 mètre.
  • pulldata("@geopoint", ${location}, "UTM") renvoie le géopoint sous forme de coordonnées UTM (Universal Transverse Mercator) avec une précision d'un mètre. Le géopoint est renvoyé sous la forme d’un objet JSON :
    {
    	"band": "S",
    	"easting": 452994,
    	"northing": 4423429,
    	"text": "50S 452994E 4423429N",
    	"type": "UTM",
    	"zone": 50
    }
    Il est possible d’extraire chacune de ces valeurs à l’aide de paramètres supplémentaires. Par exemple, pulldata("@geopoint", ${location}, "UTM.easting", 0.01) renvoie uniquement la valeur d’abscisse avec une précision d'un centimètre.

Géocodage inverse

Vous pouvez effectuer un géocodage inverse dans l’application de terrain par une pression longue sur la carte ou sur les coordonnées lorsque la vue de géopoint complète est ouverte, mais cette opération n’est ni enregistrée ni transmise à l’enquête. Il est possible d’obtenir la valeur après géocodage à partir du géopoint en utilisant pulldata("@geopoint", ${location}, "reversegeocode"), qui renvoie l’emplacement sous la forme d’un objet JSON. Il est possible d’extraire des propriétés de l’objet en indiquant le nom de la propriété, mais ces propriétés diffèrent en fonction du localisateur utilisé. Dans le cas de ArcGIS World Geocoder, un objet JSON similaire à ce qui suit est renvoyé :

{
	"address":{
		"Match_addr":"570 St Kilda Rd, Melbourne, Victoria, 3004",
		"LongLabel":"570 St Kilda Rd, Melbourne, Victoria, 3004, AUS",
		"ShortLabel":"570 St Kilda Rd",
		"Addr_type":"PointAddress",
		"Type":"",
		"PlaceName":"",
		"AddNum":"570",
		"Address":"570 St Kilda Rd",	"Block":"",
		"Sector":"",
		"Neighborhood":"Melbourne",
		"District":"",
		"City":"Melbourne",
		"MetroArea":"",
		"Subregion":"",
		"Region":"Victoria",
		"Territory":"",
		"Postal":"3004",
		"PostalExt":"",
		"CountryCode":"AUS"
		},
	"location":{
		"x":144.97914150000003,
		"y":-37.847384999999996,
		"spatialReference":{
			"wkid":4326,
			"latestWkid":4326
		}
	}
}

Pour extraire uniquement une valeur spécifique d’un objet JSON, utilisez une fonction pulldata semblable à celle présentée ci-dessous. Dans cet exemple, cette fonction permet d’extraire la propriété Match_addr :

pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")

Lors du géocodage inverse, le service de localisateur par défaut de votre organisation est utilisé. Pour utiliser un service de localisateur différent, définissez l’URL du localisateur comme paramètre facultatif dans la fonction au format pulldata("@geopoint", ${location}, "reversegeocode", ${locatorURL}). Si le service est sécurisé ou si l’enquête est destinée à des utilisateurs publics, il convient de configurer un élément proxy dans lequel les identifiants d’accès sont enregistrés.

Pour configurer un élément géocodeur proxy, procédez comme suit :

  1. Connectez-vous à votre organisation ArcGIS avec un compte doté de privilèges de géocodage.
  2. Sur la page Content (Contenu), accédez à Add Item (Ajouter un élément) > From a URL (Depuis une URL) pour ArcGIS Online ou à Add Item (Ajouter un élément) > From the web (À partir du Web) pour ArcGIS Enterprise et assurez-vous que le type sélectionné est ArcGIS Server web service (Service Web ArcGIS Server).
  3. Utilisez l’URL du géocodeur concerné, par exemple, https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer pour ArcGIS World Geocoder. Il sera ainsi détecté en tant que service sécurisé.
  4. Ajoutez un nom d’utilisateur et un mot de passe pour un compte ArcGIS doté de privilèges de géocodage.
  5. Sélectionnez Store credentials with service item. (Stocker les informations d’identification avec l’élément de service.) Ne pas demander d’authentification.
  6. Sélectionnez un titre et des balises.
  7. Cliquez sur Ajouter un élément.
  8. Partagez cet élément de localisateur en ligne publiquement.

Pour plus d’informations, reportez-vous à la rubrique Conditions requises pour configurer vos propres localisateurs pour ArcGIS Online ou Configurer les services utilitaires avec votre portail pour ArcGIS Enterprise.

Si l’URL d’un localisateur est fournie, des paramètres supplémentaires peuvent être transmis à cette URL. Tout comme les propriétés intégrées à un objet JSON, ces paramètres varient en fonction du service de localisateur utilisé. Dans cet exemple, le paramètre featureTypes permet de restreindre la valeur renvoyée à un type d’emplacement spécifique - ici, l’entreprise ou le lieu d’intérêt le plus proche :

pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr", "https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer", "featureTypes=" + "POI")
Conseil :

Si le service de localisateur par défaut de votre ArcGIS Enterprise est le géocodeur ArcGIS World Geocoder, ou si ArcGIS World Geocoder est utilisé comme paramètre URL du localisateur dans une enquête d’entreprise comme dans l’exemple ci-dessus, vous risquez de recevoir une erreur liée au jeton lors du géocodage inverse. Pour éviter cela, créez un élément proxy dans lequel des identifiants de connexion d’accès à ArcGIS Online sont enregistrés pour qu’un utilisateur autorisé puisse réaliser le géocodage. Vous pouvez ensuite définir cet élément comme service de localisateur par défaut ou comme destination d’un paramètre URL du localisateur dans la fonction de géocodage inverse.

Vous trouverez plus d’informations sur les paramètres URL de géocodage inverse, ainsi qu’une liste exhaustive des paramètres transmissibles à une URL, dans la rubrique reverseGeocode de la documentation de l'API REST ArcGIS.

Il est possible d’inclure plusieurs calculs de géocodage inverse, sans incidence sur les performances ou la consommation de crédits. Par exemple, vous pouvez inclure l’ensemble de ces trois appels pour obtenir des propriétés individuelles :

pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")

pulldata("@geopoint", ${location}, "reversegeocode.address.LongLabel")

pulldata("@geopoint", ${location}, "reversegeocode.address.ShortLabel")

Dans le premier calcul, une opération de géocodage inverse est effectuée, ce qui entraîne une consommation de crédits. La réponse est ensuite mise en cache et utilisée pour les deux autres calculs. Un nouvel appel au service de recherche géographique est uniquement nécessaire en cas de modification de l’URL de la demande de géocodage inverse. Cette modification peut être due à un changement d’emplacement, à l’utilisation d’un paramètre de requête différent ou à l’expiration du jeton d’accès d’origine.

Symbologie de géopoint

Une question géopoint peut afficher un symbole personnalisé pour le symbole ponctuel sur la carte en utilisant le paramètre symbol de la colonne body::esri:style de votre enquête. Pour en savoir plus, reportez-vous à la rubrique Colonnes personnalisées Esri.