Indexation des données de localisation - AWS IoT Core

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 :

  1. 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)".

  2. 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écifier order dans geoLocations. Un exemple peut être "41.12,-71.34".

  3. 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}.

  4. 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 identique aux coordonnées dans GeoJSON (applicable à la shadow classique et nommée), vous devez également spécifier order dans geoLocations.

    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.

  1. 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.

  2. 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.

  3. 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.

  4. 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 (nameet 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 sur OFF, 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 sur REGISTRY_AND_SHADOW. Pour plus d’informations, consultez 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 plus d’informations, consultez 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 et LonLat. LatLon signifie latitude et longitude. LonLatsignifie longitude et latitude. Ce champ est facultatif. La valeur par défaut est LatLon.

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.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 sur OFF, 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 étant REGISTRY (ouREGISTRY_AND_SHADOW). Pour plus d’informations, consultez 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 plus d’informations, consultez 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 et LonLat. LatLon signifie latitude et longitude. LonLatsignifie longitude et latitude. Ce champ est facultatif. La valeur par défaut est LatLon.

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)"