TairGIS est une structure de données géospatiales intégrée à Tair (Enterprise Edition) qui permet de stocker et d'interroger des formes géographiques : points, lignes et polygones. Ses hautes performances dans les scénarios à forte concurrence en font un choix idéal pour les applications de services basés sur la localisation (LBS) en temps réel, comme le géorepérage. Cette rubrique explique comment configurer un périmètre virtuel avec TairGIS.
Fonctionnement
Un périmètre virtuel (geofence) délimite une zone géographique. TairGIS s'appuie sur le format WKT (Well-Known Text), une norme ouverte représentant les formes géométriques sous forme de chaînes de texte, pour définir et interroger ces limites.
TairGIS prend en charge trois types de géométrie WKT adaptés au géorepérage :
| Géométrie | Format WKT | Cas d'utilisation |
|---|---|---|
| Point | POINT (longitude latitude) |
Localisation d'un appareil via GPS |
| Polygone | POLYGON ((x1 y1, x2 y2, ...)) |
Limite du périmètre ou zone de couverture d'une station de base |
| Ligne | LINESTRING (x1 y1, x2 y2) |
Itinéraire ou trajet |
Le flux de travail principal pour le géorepérage se déroule comme suit :
Définissez la limite du périmètre avec GIS.ADD en utilisant un polygone WKT.
Récupérez la position actuelle de l'appareil sous forme de point ou de polygone WKT.
Exécutez GIS.CONTAINS pour vérifier si la position se trouve à l'intérieur du périmètre.
Comparez les résultats des vérifications successives pour détecter les événements d'entrée et de sortie, puis déclenchez les alertes appropriées.
Configurer un périmètre virtuel
Étape 1 : Ajouter la limite du périmètre
Utilisez GIS.ADD pour stocker une zone géographique sous une clé nommée. L'exemple suivant ajoute la limite d'une école sous forme de polygone :
GIS.ADD test_app school_location 'POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))'
Étape 2 : Vérifier si un appareil se trouve à l'intérieur du périmètre
Selon la méthode utilisée pour obtenir la localisation de l'appareil, appliquez l'une des approches suivantes.
Localisation par GPS (point)
Le GPS renvoie une coordonnée précise. Transmettez-la en tant que POINT WKT à GIS.CONTAINS :
GIS.CONTAINS test_app 'POINT (40.086631 30.138141)'
GIS.CONTAINS renvoie les noms de toutes les géométries stockées contenant la forme donnée. Si le point se trouve en dehors de toutes les géométries stockées, la réponse est un tableau vide.
Localisation par réseau mobile (polygone)
Avec les données d'un opérateur de télécommunications, la localisation signalée peut correspondre à un secteur ou à la zone de couverture complète d'une station de base plutôt qu'à un point précis. Représentez cette zone de couverture sous forme de POLYGON WKT :
GIS.CONTAINS test_app 'POLYGON ((10 22, 30 45, 16 53, 10 22))'
Si le polygone de couverture coïncide avec school_location, la réponse inclut school_location, indiquant que l'appareil se trouve dans le périmètre ou à proximité.
Étape 3 : Détecter les événements d'entrée et de sortie
GIS.CONTAINS renvoie un instantané de l'état actuel. Appelez cette commande à intervalles réguliers et comparez les résultats consécutifs pour détecter les changements d'état :
| Résultat précédent | Résultat actuel | Événement | Action |
|---|---|---|---|
school_location |
Tableau vide | L'appareil a quitté le périmètre | Déclencher une alerte de sortie |
| Tableau vide | school_location |
L'appareil est entré dans le périmètre | Envoyer une notification d'entrée |
Par exemple, dans une application de sécurité scolaire, interrogez la position de l'élève à intervalles fixes. Lorsque GIS.CONTAINS passe du renvoi de school_location à un tableau vide pendant les heures surveillées, déclenchez l'alerte de sortie.
Vous pouvez également utiliser les commandes GIS.WITHIN et GIS.INTERSECTS pour vérifier si un appareil se trouve à l'intérieur d'un périmètre numérique. Pour consulter la référence complète des commandes, voir Commandes TairGIS .
Étapes suivantes
Consultez la référence complète des commandes TairGIS pour découvrir d'autres opérations géométriques.