Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Indexation des données de localisation
Vous pouvez utiliser l'indexation de flotte AWS IoT pour indexer les dernières données de localisation envoyées par vos appareils et rechercher des appareils à l'aide de géorequêtes. Cette fonctionnalité résout les cas d’utilisation de surveillance et de gestion des appareils tels que le suivi de localisation et la recherche de proximité. L'indexation des emplacements fonctionne de la même manière que les autres fonctionnalités d'indexation de flotte, avec des configurations supplémentaires à spécifier dans l'indexation de vos objets.
Les cas d'utilisation courants incluent : rechercher et regrouper des appareils situés dans les limites géographiques souhaitées, obtenir des informations spécifiques à l'emplacement à l'aide de termes de requête liés aux métadonnées et à l'état de l'appareil à partir de sources de données indexées, fournir une vue granulaire telle que le filtrage des résultats sur une zone géographique spécifique pour réduire les délais de rendu dans les cartes de surveillance de votre flotte, suivre l'emplacement du dernier appareil signalé, identifier les appareils qui se trouvent en dehors des limites souhaitées et générer des alarmes à l'aide des métriques de la flotte. Pour commencer à utiliser l'indexation des emplacements et les géorequêtes, consultez Didacticiel de démarrage.
Formats de données pris en charge
AWS IoT l'indexation de flotte prend en charge les formats de données de localisation suivants :
-
Représentation textuelle bien connue de systèmes de coordonnées de référence
Une chaîne qui suit le format Informations géographiques - Représentation textuelle connue des systèmes de référence de coordonnées
. Un exemple peut être "POINT(long lat)"
. -
Une chaîne qui représente les coordonnées
Une chaîne au format
"latitude, longitude"
ou"longitude, latitude"
. Si vous utilisez"longitude, latitude"
, vous devez également spécifierorder
dansgeoLocations
. Un exemple peut être"41.12,-71.34"
. -
Un objet des clés lat(latitude), lon(longitude)
Ce format est applicable à la shadow classique et nommée. Clés prises en charge :
lat
,latitude
,lon
,long
,longitude
. Un exemple peut être{"lat": 41.12, "lon": -71.34}
. -
Un tableau qui représente les coordonnées
Un tableau au format
[lat,lon]
ou[lon,lat]
. Si vous utilisez le format[lon,lat]
, qui est le même que les coordonnées dans Geo JSON(applicable à l'ombre classique et à l'ombre nommée), vous devez également spécifier order
ingeoLocations
.Un exemple peut être :
{ "location": { "coordinates": [ **Longitude**, **Latitude** ], "type": "Point", "properties": { "country": "United States", "city": "New York", "postalCode": "*****", "horizontalAccuracy": 20, "horizontalConfidenceLevel": 0.67, "state": "New York", "timestamp": "2023-01-04T20:59:13.024Z" } } }
Comment indexer les données de localisation
Les étapes suivantes montrent comment mettre à jour la configuration d'indexation pour vos données de localisation et utiliser des géorequêtes pour rechercher des appareils.
-
Sachez où sont stockées vos données de localisation
L'indexation des flottes prend actuellement en charge l'indexation des données de localisation stockées dans des shadows classiques ou nommées.
-
Utiliser les formats de données de localisation pris en charge
Assurez-vous que le format de vos données de localisation suit l'un des formats de données pris en charge.
-
Mettre à jour la configuration de l'indexation
Au minimum, activez la configuration d'indexation des objets (registre). Vous devez également activer l'indexation sur les shadows classiques ou nommées contenant vos données de localisation. Lorsque vous mettez à jour l'indexation de vos objets, vous devez inclure vos données de localisation dans la configuration d'indexation.
-
Créer et exécuter des géorequêtes
En fonction de vos cas d'utilisation, créez des géorequêtes et exécutez-les pour rechercher des appareils. La géorequête que vous composez doit suivre la Syntaxe de requête. Vous trouverez quelques exemples dans Exemples de géorequêtes.
Mettre à jour la configuration de l'indexation des objets
Pour indexer les données de localisation, vous devez mettre à jour la configuration d'indexation et inclure vos données de localisation. En fonction de l'endroit où vos données de localisation sont stockées, suivez les étapes pour mettre à jour votre configuration d'indexation :
Si vos données de localisation sont stockées dans une shadow classique, vous devez définir thingIndexingMode
comme tel REGISTRY_AND_SHADOW
et spécifier vos données de localisation dans les champs geoLocations
(name
et order
) de filter
.
Dans l'exemple de configuration d'indexation d'objets suivant, vous spécifiez le chemin des données de localisation shadow.reported.coordinates
comme name
et LonLat
comme order
.
{ "thingIndexingMode": "REGISTRY_AND_SHADOW", "filter": { "geoLocations": [ { "name": "shadow.reported.coordinates", "order": "LonLat" } ] } }
-
thingIndexingMode
Le mode d'indexation contrôle si le registre ou le shadow est indexé. Lorsque
thingIndexingMode
est défini surOFF
, l'indexation des objets est désactivée.Pour indexer les données de localisation stockées dans un shadow classique, vous devez définir
thingIndexingMode
surREGISTRY_AND_SHADOW
. Pour de plus amples informations, veuillez consulter Modes d'indexation d’objets. -
filter
Le filtre d'indexation fournit des sélections supplémentaires pour les shadows nommées et les données de géolocalisation. Pour de plus amples informations, veuillez consulter Filtre d'indexation.
-
geoLocations
Liste des cibles de géolocalisation que vous sélectionnez pour indexer. Par défaut, le nombre maximal de cibles de géolocalisation pour l'indexation est
1
. Pour augmenter la limite, consultez AWS IoT Device Management Quotas. -
name
Nom du champ cible de géolocalisation. Un exemple de valeur de
name
peut être le chemin des données de localisation de votre shadow :shadow.reported.coordinates
. -
order
L'ordre du champ cible de géolocalisation. Valeurs valides :
LatLon
etLonLat
.LatLon
signifie latitude et longitude.LonLat
signifie longitude et latitude. Ce champ est facultatif. La valeur par défaut estLatLon
.
Si vos données de localisation sont stockées dans une shadow nommée, définissez namedShadowIndexingMode
comme étant ON
, ajoutez le ou les noms de votre shadow nommée au champ namedShadowNames
dans filter
et spécifiez le chemin de vos données de position dans le champ geoLocations
dans filter
.
Dans l'exemple de configuration d'indexation d'objets suivant, vous spécifiez le chemin des données de localisation shadow.name.namedShadow1.reported.coordinates
comme name
et LonLat
comme order
.
{ "thingIndexingMode": "REGISTRY", "namedShadowIndexingMode": "ON", "filter": { "namedShadowNames": [ "namedShadow1" ], "geoLocations": [ { "name": "shadow.name.namedShadow1.reported.coordinates", "order": "LonLat" } ] } }
-
thingIndexingMode
Le mode d'indexation contrôle si le registre ou le shadow est indexé. Lorsque
thingIndexingMode
est défini surOFF
, l'indexation des objets est désactivée.Pour indexer les données de localisation stockées dans une shadow nommée, vous devez définir
thingIndexingMode
comme étantREGISTRY
(ouREGISTRY_AND_SHADOW
). Pour de plus amples informations, veuillez consulter Modes d'indexation d’objets. -
filter
Le filtre d'indexation fournit des sélections supplémentaires pour les shadows nommées et les données de géolocalisation. Pour de plus amples informations, veuillez consulter Filtre d'indexation.
-
geoLocations
Liste des cibles de géolocalisation que vous sélectionnez pour indexer. Par défaut, le nombre maximal de cibles de géolocalisation pour l'indexation est
1
. Pour augmenter la limite, consultez AWS IoT Device Management Quotas. -
name
Nom du champ cible de géolocalisation. Un exemple de valeur de
name
peut être le chemin des données de localisation de votre shadow :shadow.name.namedShadow1.reported.coordinates
. -
order
L'ordre du champ cible de géolocalisation. Valeurs valides :
LatLon
etLonLat
.LatLon
signifie latitude et longitude.LonLat
signifie longitude et latitude. Ce champ est facultatif. La valeur par défaut estLatLon
.
Exemples de géorequêtes
Une fois que vous avez terminé la configuration d'indexation de vos données de localisation, exécutez des géorequêtes pour rechercher des appareils. Vous pouvez également combiner vos géorequêtes avec d'autres chaînes de requête. Pour plus d’informations, consultez Syntaxe de requête et Exemples de requêtes sur des objets.
Exemple de requête 1
Cet exemple suppose que les données de localisation sont stockées dans une shadow nommée gps-tracker
. Le résultat de cette commande est la liste des périphériques situés à une distance radiale de 15,5 km du point central avec des coordonnées (47.6204, -122.3491).
aws iot search-index --query-string \ "shadow.name.gps-tracker.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"
Exemple de requête 2
Cet exemple suppose que les données de localisation sont stockées dans un shadow classique. Le résultat de cette commande est la liste des périphériques situés à une distance radiale de 15,5 km du point central avec des coordonnées (47.6204, -122.3491).
aws iot search-index --query-string \ "shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"
Exemple de requête 3
Cet exemple suppose que les données de localisation sont stockées dans un shadow classique. Le résultat de cette commande est la liste des appareils qui ne sont pas connectés et situés en dehors de la distance radiale de 15,5 km du point central avec des coordonnées (47.6204, -122.3491).
aws iot search-index --query-string \ "connectivity.connected:false AND (NOT shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km)"