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 si le formulaire ne contient aucune question de type géopoint, vous pouvez améliorer la capture des informations de localisation en affichant une question de type géopoint dans le formulaire.
Considérez ce qui suit lorsque vous utilisez les géopoints :
- Vous pouvez ajouter plusieurs questions de type géopoint, géotrace ou géoforme dans une enquête. Toutefois, vous ne pouvez utiliser qu’une seule d’entre elles pour la géométrie de l’enregistrement de l’enquête. Vous pouvez utiliser plusieurs questions de type carte 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 de type géopoint, géotrace ou géoforme, mais vous ne pouvez utiliser qu’une seule d’entre elles pour la géométrie de l’enregistrement d’une répétition. Vous pouvez utiliser plusieurs questions de type carte selon la méthode décrite ci-dessus.
- Par défaut, Survey123 affiche des valeurs de latitude et de longitude WGS84 au format degrés/minutes/secondes. Vous pouvez modifier cet affichage pour une enquête en sélectionnant l’onglet Map (Carte), puis en sélectionnant une valeur différente pour Coordinate format (Format de coordonnées).
- Par défaut, une question géopoint utilise un fond de carte en mode hors connexion. Si l’enquête est destinée à être utilisée hors connexion, reportez-vous à la rubrique Utiliser des fonds de carte hors connexion.
- Les localisations 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 l’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 ou géoforme dans une enquête, le type de géométrie de la couche d’entités principale de l’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 vous définissez la colonne appearance (apparence) de la question de type géopoint sur press-to-locate, Survey123 capture un point uniquement 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 localisation est importante pour les résultats de l’enquête, vous pouvez définir un seuil de précision avec le calcul de la moyenne des localisations. Pour ce faire, saisissez une valeur numérique dans la colonne body::accuracyThreshold de la question de type géopoint. Cette valeur correspond au seuil de précision au-delà duquel les valeurs ne sont plus capturées lors du calcul de la moyenne liée à une localisation.
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 une localisation 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 sa localisation ne respecte pas d’autres critères de qualité complexes ou pour l’empêcher d’envoyer cette localisation. Une telle expression peut être saisie dans les colonnes suivantes (et leurs colonnes de messages associées) :
- Les colonnes constraint et constraint_message permettent d’empêcher l’utilisateur de capturer une localisation dans une question Géopoint lorsque les conditions de l’expression de qualité de la localisation ne sont pas remplies.
- Les colonnes bind::esri:warning et bind::esri:warning_message permettent d’afficher un avertissement destiné à l’utilisateur si les conditions de l’expression de qualité de la localisation ne sont pas remplies. Si les conditions l’expression de qualité de la localisation 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.
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 ; les questions ou les paramètres généralement utilisés sont associés à la localisation 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 l’expression suivante pour vérifier que l’utilisateur est presque immobile avant de capturer une localisation ou que la précision horizontale est supérieure à 5 mètres :
pulldata("@geopoint", ., "horizontalAccuracy") < 5 and pulldata("@geopoint", ., "speed") < 0.1
Conseil :
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 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 localisations doit absolument s’effectuer dans les conditions décrites par l’expression, saisissez 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 la localisation 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 ces colonnes est évaluée comme fausse.
Dans le cas d’expressions très longues ou complexes, il est recommandé de séparer les fonctions pulldata("@geopoint") en plusieurs questions individuelles, puis d’indiquer le nom des questions dans l’expression. Ainsi, pour exécuter la même fonction que dans l’exemple ci-dessus, vous pouvez utiliser le calcul suivant dans une question nommée hAccuracy :
pulldata("@geopoint", ${location}, "horizontalAccuracy")
Vous pouvez ensuite utiliser le calcul suivant dans une question nommée currentSpeed :
pulldata("@geopoint", ${location}, "speed")
Le calcul suivant peut ê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 une enquête, multipliez la précision horizontale par 1,7308 et la précision verticale par 1,9600. Pour plus d’informations sur ces facteurs de conversion, consultez la norme nationale pour la précision 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 à la localisation 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.
Les critères de précision minimale absolue sont définis par l’auteur de l’enquête :
- 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.
Les critères de précision préférée sont définis par l’auteur de l’enquête :
- 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.
Le calcul suivant est utilisé dans une question nommée haccuracy68cep :
pulldata("@geopoint", ${location}, "horizontalAccuracy")
Le calcul suivant est ensuite utilisé dans une question nommée haccuracy95ci :
${haccuracy68cep} * 1.7308
Avec des calculs similaires pour la précision verticale, l’expression suivante est entrée dans la colonne constraint (contrainte) pour représenter la précision minimale absolue :
${accuracyType} = 0 and ${haccuracy95ci} < 2 and ${vaccuracy95ci} < 2 and ${pdop} <= 6 and ${satellitesInUse} >= 5
L’expression suivante est entrée dans la colonne bind::esri:warning pour représenter la précision 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 la question de type géopoint sur une localisation à Melbourne, en Australie.
Conseil :
Les localisations par défaut situées dans l’hémisphère sud génèrent une erreur dans Microsoft Excel. En effet, comme ces valeurs sont précédées d’un signe moins (-), elles sont 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 dans Survey123.
En l’absence de toute valeur par défaut, la question de type géopoint est automatiquement mise à jour pour refléter la localisation actuelle de l’appareil. Pour empêcher cela, définissez la valeur par défaut sur null. La question de type géopoint affiche ensuite des options qui permettent d’activer la capture de la localisation, de charger la page de la carte pour la définition manuelle d’une localisation ou d’actualiser un calcul si un calcul est appliqué.
Les questions de type géopoint qui passent d'un état non pertinent à un état pertinent ne sont pas mises à jour automatiquement pour refléter la localisation de l'appareil. Définissez la valeur par défaut sur position pour obtenir automatiquement la localisation actuelle identifiée par l'appareil lorsque la question devient pertinente.
Les questions Géopoint figurant dans les enquêtes qui sont lancées à partir des dossiers Inbox (Boîte de réception), Drafts (Brouillons) ou Outbox (Boîte d’envoi) ne sont pas mises à jour automatiquement pour refléter la localisation actuelle de l’appareil. Définissez la valeur par défaut sur position pour obtenir automatiquement la localisation actuelle identifiée par l’appareil lorsque l’enquête est ouverte à partir d’un dossier.
Calculs
Vous pouvez renseigner une question géopoint avec les résultats d’autres questions. 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 de type géopoint vous devez respecter cette structure afin de 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, y compris les zéros qui seraient normalement tronqués par un trait de soulignement entre les deux valeurs, car aucun espace n’est autorisé dans la colonne name (nom). Cela a pour effet de créer une valeur qui peut être décomposée grâce à la fonction substr() et utilisée pour renseigner l’exemple suivant de question de type géopoint :
concat(substr(${LocationValue}, 0, 10), " ", substr(${LocationValue}, -10))
Cet exemple prend les 10 premiers caractères de la valeur (la latitude) et les 10 derniers (la longitude) et les présente séparés par un espace, en tant que résultat de géopoint valide.
Vous pouvez également utiliser la fonction pulldata() pour renseigner une question de type géopoint grâce à un fichier csv joint. Commencez par ajouter le fichier .csv dans le dossier media de l’enquête. Ajoutez ensuite quelque chose de semblable à ce qui suit dans la colonne calculation (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.
Vous pouvez consulter des exemples de ces deux types de calculs dans les exemples de 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 de localisation valide dans la réponse à l’enquête, Survey123 renvoie une localisation égale à 0,0, qui se trouve dans l’océan, au large des côtes africaines. Le fait de marquer la question de type géopoint comme required (obligatoire) empêche l’envoi de l’enquête avec cette valeur nulle. L’enquête n’est acceptée que si l’appareil propose une localisation ou si une localisation est envoyée manuellement.
Le fait de marquer une question de type géopoint comme read-only (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 recommandé 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 pourraient pas 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.
Par défaut, la fonction de recherche géographique renvoie des résultats en provenance du monde entier et utilise ArcGIS Geocoding service pour rechercher les adresses.
Par défaut, la recherche géographique renvoie des résultats en provenance du monde entier et utilise ArcGIS Geocoding service pour rechercher les adresses. Les utilisateurs connectés peuvent également voir tous les services de géocodage configurés de l’organisation.
Remarque :
Le géocodage à l’aide de ArcGIS Geocoding service consomme des crédits. Pour plus d'informations, reportez-vous à la rubrique Présentation des crédits.Pour définir le localisateur chargé de renvoyer les résultats, indiquez l’ID d’élément du localisateur dans la colonne bind::esri:parameters, par exemple, geocode=36ff9e8c13e042a58cfce4ad87f55d19. Un localisateur utilisé dans une enquête ArcGIS Online doit correspondre à un élément dans ArcGIS Online. Un localisateur utilisé dans une enquête ArcGIS Enterprise doit correspondre à un élément du même portail que l’enquête.
Vous pouvez également définir une question dans le seul but d’effectuer un géocodage en insérant une question texte utilisant l’apparence geocode (géocode). Pour plus d’informations, reportez-vous à la section Géocode de la rubrique Apparence.
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 Geocoding service, un objet JSON similaire au suivant est renvoyé :
{
"address": {
"Match_addr": "207-361 Flinders St, Melbourne, Victoria, 3000",
"LongLabel": "207-361 Flinders St, Melbourne, Victoria, 3000, AUS",
"ShortLabel": "207-361 Flinders St",
"Addr_type": "StreetAddress",
"Type": "",
"PlaceName": "",
"AddNum": "283",
"Address": "283 Flinders St",
"Block": "",
"Sector": "",
"Neighborhood": "Melbourne",
"District": "Melbourne",
"City": "Melbourne",
"MetroArea": "",
"Subregion": "",
"Region": "Victoria",
"RegionAbbr": "VIC",
"Territory": "",
"Postal": "3000",
"PostalExt": "",
"CntryName": "Australia",
"CountryCode": "AUS"
},
"location": {
"x": 144.96721048751365,
"y": -37.81768543612741,
"spatialReference": {
"wkid": 4326,
"latestWkid": 4326
}
}
}
Pour extraire uniquement une valeur spécifique de l’objet JSON, utilisez une fonction pulldata("@geopoint") semblable à celle présentée ci-dessous, qui extrait la propriété Match_addr :
pulldata("@geopoint", ${location}, "reversegeocode.address.Match_addr")
Lors du géocodage inverse, le service de géocodage par défaut de l’organisation est utilisé. Pour utiliser un service de géocodage 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.
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 à l’objet JSON, ces paramètres varient en fonction du service de géocodage utilisé. Dans l’exemple suivant, le paramètre featureTypes permet de restreindre la valeur renvoyée à un type de localisation 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 géocodage par défaut du déploiement ArcGIS Enterprise est ArcGIS Geocoding service ou si ArcGIS Geocoding service est utilisé comme paramètre de l’URL du localisateur dans une enquête d’entreprise comme dans l’exemple ci-dessus, vous risquez de recevoir une erreur de 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 géocodage par défaut pour un portail ou comme destination d’un paramètre d’URL du localisateur dans la fonction de géocodage inverse.
Vous trouverez plus d’informations sur les paramètres d’URL de géocodage inverse, ainsi qu’une liste exhaustive des paramètres transmissibles à l’URL, dans la rubrique reverseGeocode de la documentation de ArcGIS REST API.
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 des trois appels suivants 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 GeoService 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 de localisation, à l’utilisation d’un paramètre de demande différent ou à l’expiration du jeton d’accès d’origine.
Configurer un élément de localisateur proxy
Pour configurer un élément de localisateur proxy, procédez comme suit :
- Connectez-vous à votre organisation ArcGIS avec un compte doté de privilèges de géocodage.
- 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).
- Utilisez l’URL du localisateur concerné (par exemple, https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer pour ArcGIS Geocoding service).
Il sera ainsi détecté en tant que service sécurisé.
- Ajoutez un nom d’utilisateur et un mot de passe pour un compte ArcGIS doté de privilèges de géocodage.
- Sélectionnez Store credentials with service item. (Stocker les informations d’identification avec l’élément de service.) Ne pas demander d’authentification.
- Indiquez un titre et des balises.
- Cliquez sur Ajouter un élément.
- 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.
Extraire des valeurs de géopoints
Pour décomposer une réponse géopoint, vous pouvez faire appel à la fonction pulldata("@geopoint") afin d’extraire des valeurs pour renseigner les valeurs d’autres questions. 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é | Description | Unité |
---|---|---|
x | Longitude : valeur positive dans l’hémisphère est et négative dans l’hémisphère ouest. | Degrés décimaux |
y | Latitude : valeur positive dans l’hémisphère nord et 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é | Description | Unité |
---|---|---|
magneticVariation | Angle entre le nord magnétique et le nord géographique. | Degrés décimaux |
fixType | Type de correction de la position de 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 ci-dessous 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. Parfois également 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). Son calcul repose sur un intervalle de confiance de 68 pour cent pour les erreurs de latitude, de longitude et d’altitude indiquées dans le message GST provenant du 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 renseignée uniquement si l’appareil de positionnement prend en charge les messages GST dans les flux NMEA. | Mètres |
longitudeError | Valeur de l’erreur 1-sigma de longitude. Cette propriété est renseignée uniquement si l’appareil de positionnement prend en charge les messages GST dans les flux NMEA. | Mètres |
altitudeError | Valeur de l’erreur 1-sigma d’altitude. Cette propriété est renseignée uniquement si l’appareil de positionnement prend en charge les messages 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 la position. | 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("@geopoint") 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" }
- 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 et produisent 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, pour indiquer que 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 }
Symbologie de géopoint
Une question de type 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 d’une enquête. Le paramètre doit fournir le nom de fichier du symbole personnalisé, qui doit être un fichier .png se trouvant dans le dossier media de l’enquête. Consultez l’exemple ci-dessous :
symbol=hydrant.png
Le paramètre symbol accepte des paramètres facultatifs pour configurer l’affichage du symbole sur la carte. Séparez ces paramètres du nom du fichier par un point d’interrogation et les uns des autres par des esperluettes (&). Par exemple, le paramètre symbol peut posséder les propriétés x, y et scale comme suit :
symbol=hydrant.png?x=0.2&y=0.7&scale=2
- Le paramètre x spécifie le point d’ancrage horizontal du symbole. Il accepte une valeur entre 0 (représentant le bord gauche de l’image) et 1 (représentant le bord droit). Si aucune valeur n’est définie, la valeur par défaut est égale à 0,5.
- Le paramètre y spécifie le point d’ancrage vertical du symbole. Il accepte une valeur entre 0 (représentant le bord supérieur de l’image) et 1 (représentant le bord inférieur). Si aucune valeur n’est définie, la valeur par défaut est de 1.
- Le paramètre scale spécifie l’échelle d’affichage de l’image. Les valeurs inférieures à 1 réduisent l’image, tandis que les valeurs supérieures à 1 l’agrandissent.
La valeur fournie peut être une constante ou une référence à une question, par exemple, symbol=${symbol_question}. Les expressions en ligne ne sont pas autorisées.
Superpositions de points sur les cartes
Vous pouvez afficher les localisations des points provenant de la première question de type géopoint d’une répétition dans n’importe quelle question de type carte d’une enquête en définissant la colonne body::esri:style pour une question de type géopoint, géotrace ou géoforme sur overlay=repeat_name. Tous les points capturés pour la première question de type géopoint dans cette répétition sont affichés sur la carte. Vous pouvez utiliser des paramètres supplémentaires pour personnaliser la symbologie de superposition.
Les paramètres facultatifs suivants sont pris en charge par le style de superposition et peuvent être séparés par une esperluette, par exemple : overlay=repeat_name&preview=true :
Paramètre | Description | Exemple |
---|---|---|
afficher | Affichez les points de superposition dans la question de type carte. Par défaut, cette propriété est définie sur vrai. | view=false |
aperçu | Affichez les points de superposition dans l’aperçu de la carte. Par défaut, cette propriété est définie sur faux. | preview=true |
icône | Nom du symbole ponctuel à utiliser pour les épingles sur la carte. Consultez les symboles disponibles dans la bibliothèque Point Symbols (Symboles ponctuels) de la documentation Esri Developer. | icon=esri_pin_two |
iconColor | Couleur de l’icône utilisée pour les épingles sur la carte. Ce paramètre accepte un nom de couleur standard ou un code couleur hexadécimal. La valeur par défaut est le noir. | iconColor=Blue |
iconOutlineColor | Couleur du contour utilisée pour les épingles sur la carte. Ce paramètre accepte un nom de couleur standard ou un code couleur hexadécimal. La valeur par défaut est le blanc. | iconOutlineColor=#FF4500 |
iconSize | Taille de l’icône telle qu’elle apparaît sur la carte. La valeur par défaut est 30. | iconSize=40 |
label | Nom de la question d’enquête à utiliser comme étiquette. | label=question_name |
labelColor | Couleur de l’étiquette d'un point. Ce paramètre accepte un nom de couleur standard ou un code couleur hexadécimal. La valeur par défaut est le noir. | labelColor=#FFD700 |
labelOutlineColor | Couleur du contour de l’étiquette. Ce paramètre accepte un nom de couleur standard ou un code couleur hexadécimal. La valeur par défaut est le blanc. | labelOutlineColor=Black |
fontSize | Taille de police de l’étiquette d'un point. La valeur par défaut est 13 | fontSize=16 |
Style de question
Vous pouvez configurer le fond de carte, les outils cartographiques et la hauteur des questions de type carte.
Il est possible de définir un fond de carte par défaut pour certaines questions de type carte à l’aide du paramètre map figurant dans la colonne body::esri:style. Par exemple, map="World Topography" indique à la question de type carte d’utiliser le fond de carte World Topography. Vous pouvez également définir le paramètre map à l’aide de l’ID d’élément de la carte, par exemple map=de26a3cf4cc9451298ea173c4b324736. Ce paramètre prend en charge les cartes en ligne et les cartes hors connexion, y compris vos propres cartes Web. Pour plus d’informations, reportez-vous à la rubrique Insérer une carte dans une enquête.
La colonne body::esri:style accepte un paramètre mapTools pour contrôler les outils cartographiques qui sont disponibles pour les questions de type carte. Si aucun paramètre d’outil cartographique n’est défini, tous les outils sont affichés. Les valeurs suivantes sont acceptées :
- mapTools=search
- mapTools=mapSwitcher
- mapTools=zoom
- mapTools=home
- mapTools=locate
Il est possible de définir plusieurs outils en séparant chaque valeur par une virgule, par exemple mapTools=search,locate.
La colonne body::esri:style accepte un paramètre height pour les questions de type carte.
Il est possible de définir la hauteur d’une question en indiquant un nombre pour le paramètre height et, éventuellement, une unité. L’unité par défaut est lines et fait référence à la hauteur de la police de texte de saisie actuelle. Ainsi, height=5 a pour effet d’afficher les questions sur une hauteur de cinq lignes.
Vous pouvez également définir l’unité sous la forme d’un pourcentage de la hauteur de l’écran, ou d’un nombre de pixels, en l’ajoutant en tant que suffixe à la valeur sans insérer d’espace. Toutes les valeurs suivantes, indiquées à titre d’exemple, sont acceptées :
- height=5
- height=5lines
- height=25%
- height=250pixels
Il est possible de définir la hauteur et les outils cartographiques en les séparant par un espace, par exemple height=25% mapTools=search,zoom.
Remarque :
Le contrôle de la hauteur et des outils cartographiques des questions n’est pas pris en charge dans l’application Web Survey123.Vous avez un commentaire à formuler concernant cette rubrique ?