Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Implementar geofencing com o TairGIS

Última atualização: Jun 26, 2026

O TairGIS é uma estrutura de dados geoespacial no Tair (Enterprise Edition) que armazena e consulta formas geográficas, como pontos, linhas e polígonos. Ele oferece alto desempenho em cenários de alta concorrência, sendo ideal para aplicativos de serviços baseados em localização (LBS) em tempo real, como geofencing. Este tópico mostra como usar o TairGIS para criar uma geofence.

Como funciona

Uma geofence é um limite virtual em torno de uma área geográfica. O TairGIS usa o WKT (Well-Known Text), um padrão aberto para representar formas geométricas como strings de texto, para definir e consultar esses limites.

O TairGIS suporta três tipos de geometria WKT relevantes para geofencing:

Geometria

Formato WKT

Quando usar

Ponto

POINT (longitude latitude)

Localização do dispositivo por GPS

Polígono

POLYGON ((x1 y1, x2 y2, ...))

Limite da geofence ou área de cobertura da estação base

Linha

LINESTRING (x1 y1, x2 y2)

Rota ou caminho

O fluxo de trabalho principal do geofencing:

  1. Para começar, defina o limite da geofence com o GIS.ADD usando um polígono WKT.

  2. Obtenha a localização atual do dispositivo como um ponto ou polígono WKT.

  3. Execute o GIS.CONTAINS para verificar se a localização está dentro da geofence.

  4. Compare os resultados entre verificações sucessivas para detectar eventos de entrada e saída e, então, acione alertas.

Configurar uma geofence

Etapa 1: Adicione o limite da geofence

Use o GIS.ADD para armazenar uma área geográfica sob uma chave nomeada. No exemplo a seguir, insira o limite de uma escola como um polígono:

GIS.ADD test_app school_location 'POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))'

Etapa 2: Verifique se um dispositivo está dentro da geofence

Use um dos métodos a seguir, dependendo de como você obtém a localização do dispositivo.

Localização baseada em GPS (ponto)

O GPS retorna uma coordenada precisa. Passe-a como um POINT WKT para o GIS.CONTAINS:

GIS.CONTAINS test_app 'POINT (40.086631 30.138141)'

O GIS.CONTAINS retorna os nomes de todas as geometrias armazenadas que contêm a forma especificada. Se o ponto estiver fora de todas as geometrias armazenadas, a resposta será um array vazio.

Localização baseada em operadora (polígono)

Ao usar dados de operadoras de telecomunicações, a localização informada pode ser um setor ou a área total de cobertura de uma estação base, em vez de um ponto preciso. Represente essa área de cobertura como um POLYGON WKT:

GIS.CONTAINS test_app 'POLYGON ((10 22, 30 45, 16 53, 10 22))'

Se o polígono de cobertura coincidir com school_location, a resposta incluirá school_location, o que indica que o dispositivo está dentro ou próximo à geofence.

Etapa 3: Detecte eventos de entrada e saída

O GIS.CONTAINS retorna um snapshot do estado atual. Execute-o repetidamente em intervalos fixos e compare os resultados consecutivos para detectar mudanças de estado:

Resultado anterior

Resultado atual

Evento

Ação

school_location

array vazio

Dispositivo saiu da geofence

Acione o alerta de saída

array vazio

school_location

Dispositivo entrou na geofence

Acione a notificação de entrada

Por exemplo, em um aplicativo de segurança escolar, consulte a localização do aluno em intervalos fixos. Quando o GIS.CONTAINS deixar de retornar school_location e passar a retornar um array vazio durante o horário monitorado, acione o alerta de saída.

Execute também os comandos GIS.WITHIN e GIS.INTERSECTS para verificar se um dispositivo está dentro de uma geofence. Para a referência completa de comandos, consulte Comandos do TairGIS .

Próximos passos