Indexação de dados de localização - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Indexação de dados de localização

Você pode usar a indexação de frotas da AWS IoT para indexar os últimos dados de localização enviados dos seus dispositivos e pesquisar dispositivos usando consultas geográficas. Esse atributo resolve casos de uso de monitoramento e gerenciamento de dispositivos, como rastreamento de localização e pesquisa de proximidade. A indexação de localização funciona de maneira semelhante a outros recursos de indexação de frotas e com configurações adicionais para especificar na indexação de objetos.

Os casos de uso comuns incluem: pesquisar e agregar dispositivos localizados dentro dos limites geográficos desejados, obter informações específicas da localização usando termos de consulta relacionados aos metadados e ao estado do dispositivo de fontes de dados indexadas, fornecer uma visão granular, como a filtragem de resultados para uma área geográfica específica, reduzir os atrasos de renderização nos mapas de monitoramento da frota e rastrear a localização do último dispositivo relatado, identificar dispositivos que estão fora dos limites desejados e gerar alarmes usando métricas de frota. Para começar com indexação de localização e geoconsultas, consulte Tutorial de inicialização.

Formatos de dados compatíveis

AWS IoT a indexação de frotas suporta os seguintes formatos de dados de localização:

  1. Representação de texto bem conhecida de sistemas de referência de coordenadas

    Uma string que segue o formato Informações geográficas: representação de texto bem conhecida de sistemas de referência de coordenadas. Um exemplo pode ser "POINT(long lat)".

  2. Uma string que representa as coordenadas

    Uma string com o formato "latitude, longitude" ou "longitude, latitude". Se você usar "longitude, latitude", também deverá especificar order em geoLocations. Um exemplo pode ser "41.12,-71.34".

  3. Um objeto com chaves lat(latitude), lon(longitude)

    Esse formato se aplica à sombra clássica e à sombra nomeada. Chaves compatíveis: lat, latitude, lon, long, longitude. Um exemplo pode ser {"lat": 41.12, "lon": -71.34}.

  4. Uma matriz que representa as coordenadas

    Uma matriz com o formato [lat,lon] ou[lon,lat]. Se você usar o formato[lon,lat], que é o mesmo das coordenadas em Geo JSON (aplicável à sombra clássica e à sombra nomeada), você também deve especificar order emgeoLocations.

    Um exemplo pode ser:

    { "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" } } }

Como indexar dados de localização

As etapas a seguir mostram como atualizar a configuração de indexação dos dados de localização e usar consultas geográficas para pesquisar dispositivos.

  1. Saiba onde seus dados de localização estão armazenados

    Atualmente, a indexação de frotas oferece suporte à indexação de dados de localização armazenados em sombras clássicas ou sombras nomeadas.

  2. Usar formatos de dados de localização compatíveis

    Verifique se o formato dos dados de localização segue um dos formatos de dados compatíveis.

  3. Atualizar configuração de indexação

    Se necessário, habilite a configuração de indexação de itens (registro). Você também deve ativar a indexação na sombra clássica ou na sombra nomeada que contenha seus dados de localização. Ao atualizar sua indexação de itens, você deve incluir seus dados de localização na configuração de indexação.

  4. Criar e executar consultas geográficas

    Dependendo dos seus casos de uso, crie geoconsultas e execute-as para pesquisar dispositivos. A consulta geográfica que você compõe deve seguir a Sintaxe da consulta. É possível encontrar alguns exemplos em Exemplo de consultas geográficas.

Atualizar a configuração da indexação de objeto

Para indexar dados de localização, atualize a configuração de indexação e inclua seus dados de localização. Dependendo de onde seus dados de localização estão, siga as etapas para atualizar sua configuração de indexação:

Se seus dados de localização estiverem armazenados em uma sombra clássica, você deverá definir thingIndexingMode como REGISTRY_AND_SHADOW e especificar seus dados de localização nos campos geoLocations (name e order) em filter.

No exemplo de configuração de indexação a seguir, você especifica o caminho dos dados de localização shadow.reported.coordinates como name e LonLat como order.

{ "thingIndexingMode": "REGISTRY_AND_SHADOW", "filter": { "geoLocations": [ { "name": "shadow.reported.coordinates", "order": "LonLat" } ] } }
  • thingIndexingMode

    O modo de indexação controla se o Registro ou a sombra é indexado. Quando thingIndexingMode é definido como OFF, a indexação de itens é desativada.

    Para indexar dados de localização armazenados em uma sombra clássica, você deve definir thingIndexingMode como REGISTRY_AND_SHADOW. Para obter mais informações, consulte Modos de indexação de objetos.

  • filter

    O filtro de indexação fornece seleções adicionais para sombras nomeadas e dados de localização geográfica. Para obter mais informações, consulte Filtro de indexação.

  • geoLocations

    A lista de destinos de localização geográfica que você seleciona para indexar. O número máximo padrão de destinos de localização geográfica para indexação é 1. Para aumentar o limite, consulte Cotas de AWS IoT Device Management.

  • name

    O nome do campo de destino de localização geográfica. Um exemplo de valor de name pode ser o caminho dos dados de localização de sua sombra: shadow.reported.coordinates.

  • order

    A ordem do campo de destino de localização geográfica. Valores válidos: LatLon e LonLat. LatLon significa latitude e longitude. LonLat significa longitude e latitude. Esse campo é opcional. O valor padrão é LatLon.

Se seus dados de localização estiverem armazenados em uma sombra nomeada, defina namedShadowIndexingMode como ON, adicione seus nomes de sombra nomeados ao campo namedShadowNames em filter e especifique seu caminho de dados de localização no campo geoLocations em filter.

No exemplo de configuração de indexação a seguir, você especifica o caminho dos dados de localização shadow.name.namedShadow1.reported.coordinates como name e LonLat como order.

{ "thingIndexingMode": "REGISTRY", "namedShadowIndexingMode": "ON", "filter": { "namedShadowNames": [ "namedShadow1" ], "geoLocations": [ { "name": "shadow.name.namedShadow1.reported.coordinates", "order": "LonLat" } ] } }
  • thingIndexingMode

    O modo de indexação controla se o Registro ou a sombra é indexado. Quando thingIndexingMode é definido como OFF, a indexação de itens é desativada.

    Para indexar dados de localização armazenados em uma sombra nomeada, você deve definir thingIndexingMode como REGISTRY (ou REGISTRY_AND_SHADOW). Para obter mais informações, consulte Modos de indexação de objetos.

  • filter

    O filtro de indexação fornece seleções adicionais para sombras nomeadas e dados de localização geográfica. Para obter mais informações, consulte Filtro de indexação.

  • geoLocations

    A lista de destinos de localização geográfica que você seleciona para indexar. O número máximo padrão de destinos de localização geográfica para indexação é 1. Para aumentar o limite, consulte Cotas de AWS IoT Device Management.

  • name

    O nome do campo de destino de localização geográfica. Um exemplo de valor de name pode ser o caminho dos dados de localização de sua sombra: shadow.name.namedShadow1.reported.coordinates.

  • order

    A ordem do campo de destino de localização geográfica. Valores válidos: LatLon e LonLat. LatLon significa latitude e longitude. LonLat significa longitude e latitude. Esse campo é opcional. O valor padrão é LatLon.

Exemplo de consultas geográficas

Depois de concluir a configuração de indexação dos dados de localização, execute consultas geográficas para pesquisar dispositivos. Você também pode combinar suas consultas geográficas com outras cadeias de caracteres de consulta. Para ter mais informações, consulte Sintaxe de consulta e Exemplo de consultas de objetos.

Consulta de exemplo 1

Este exemplo pressupõe que os dados de localização estão armazenados em uma sombra nomeada gps-tracker. A saída desse comando é a lista de dispositivos que estão dentro da distância radial de 15,5 km do ponto central com coordenadas (47,6204,-122,3491).

aws iot search-index --query-string \ "shadow.name.gps-tracker.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"

Consulta de exemplo 2

Este exemplo pressupõe que os dados de localização estão armazenados em uma sombra clássica. A saída desse comando é a lista de dispositivos que estão dentro da distância radial de 15,5 km do ponto central com coordenadas (47,6204,-122,3491).

aws iot search-index --query-string \ "shadow.reported.coordinates:geo_distance,47.6204,-122.3491,15.5km"

Consulta de exemplo 3

Este exemplo pressupõe que os dados de localização estão armazenados em uma sombra clássica. A saída desse comando é a lista de dispositivos que não estão conectados e estão fora da distância radial de 15,5 km do ponto central com coordenadas (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)"