위치 데이터 인덱싱 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

위치 데이터 인덱싱

AWS IoT 플릿 인덱싱을 사용하여 디바이스가 마지막으로 전송한 위치 데이터를 인덱싱하고 지오쿼리를 사용하여 디바이스를 검색할 수 있습니다. 이 기능은 위치 추적 및 근접성 검색과 같은 장치 모니터링 및 관리 사용 사례를 해결합니다. 위치 인덱싱은 다른 플릿 인덱싱 기능과 비슷하게 작동하며 사물 인덱싱에서 추가 구성을 지정해야 합니다.

일반적인 사용 사례로는 원하는 지리적 경계 내에 위치한 장치를 검색 및 집계하고, 인덱싱된 데이터 소스의 장치 메타데이터 및 상태와 관련된 검색어를 사용하여 위치별 통찰력을 얻고, 특정 지리적 영역에 결과를 필터링하여 플릿 모니터링 지도 내에서 렌더링 지연을 줄이고 마지막으로 보고된 장치 위치를 추적하는 등 세분화된 보기를 제공하고, 원하는 경계 제한을 벗어나는 장치를 식별하고 플릿 지표를 사용하여 경보를 생성하는 것이 포함됩니다. 위치 색인 및 지오쿼리를 시작하려면 을 참조하십시오시작하기 자습서.

지원되는 데이터 형식

AWS IoT 플릿 인덱싱은 다음과 같은 위치 데이터 형식을 지원합니다.

  1. 좌표 참조 체계의 잘 알려진 텍스트 표현

    지리 정보 뒤에 오는 문자열 - 좌표계 형식의 잘 알려진 텍스트 표현입니다. 그 예가 될 수 있습니다. "POINT(long lat)"

  2. 좌표를 나타내는 문자열

    "latitude, longitude"또는 형식의 문자열"longitude, latitude". 를 사용하는 "longitude, latitude" 경우 in도 order 지정해야 합니다geoLocations. 예가 될 수 있습니다"41.12,-71.34".

  3. 위도 (위도), 경도 (경도) 키의 객체

    이 형식은 클래식 섀도우와 네임드 섀도우에 적용할 수 있습니다. 지원되는 키: latlatitude,lon,long,longitude. 예가 될 수 있습니다{"lat": 41.12, "lon": -71.34}.

  4. 좌표를 나타내는 배열

    [lat,lon]또는 형식의 배열[lon,lat]. GeoJSON의 좌표와 동일한 형식 [lon,lat] (클래식 섀도우 및 명명된 섀도우에 적용 가능) 을 사용하는 경우 에도 을 지정해야 합니다. order geoLocations

    예를 들면 다음과 같습니다.

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

위치 데이터를 인덱싱하는 방법

다음 단계는 위치 데이터의 색인 구성을 업데이트하고 지오쿼리를 사용하여 기기를 검색하는 방법을 보여줍니다.

  1. 위치 데이터가 어디에 저장되어 있는지 알아보세요.

    플릿 인덱싱은 현재 클래식 섀도 또는 네임드 섀도에 저장된 위치 데이터 인덱싱을 지원합니다.

  2. 지원되는 위치 데이터 형식을 사용하세요.

    위치 데이터 형식이 지원되는 데이터 형식 중 하나를 따르는지 확인하세요.

  3. 색인 구성 업데이트

    필요한 경우 사물 (레지스트리) 인덱싱 구성을 활성화하십시오. 또한 위치 데이터가 포함된 클래식 섀도우 또는 네임드 섀도우에 대한 인덱싱을 활성화해야 합니다. 사물 색인을 업데이트할 때는 색인 구성에 위치 데이터를 포함해야 합니다.

  4. 지오쿼리 생성 및 실행

    사용 사례에 따라 지오쿼리를 생성하고 실행하여 기기를 검색하세요. 구성하는 지오쿼리는 쿼리 구문을 따라야 합니다. 지오쿼리 예시에서 몇 가지 예제를 찾아볼 수 있습니다.

사물 인덱싱 구성을 업데이트하십시오.

위치 데이터를 인덱싱하려면 색인 구성을 업데이트하고 위치 데이터를 포함해야 합니다. 위치 데이터가 저장된 위치에 따라 다음 단계에 따라 색인 구성을 업데이트하세요.

위치 데이터가 클래식 섀도우에 저장되는 경우, 의 geoLocations 필드 (REGISTRY_AND_SHADOWnameorder) 에 위치 데이터를 저장하고 thingIndexingMode 지정해야 filter합니다.

다음 사물 인덱싱 구성 예제에서는 위치 데이터 경로를 nameshadow.reported.coordinates LonLatorder 지정합니다.

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

    인덱싱 모드는 레지스트리 또는 섀도우 인덱싱 여부를 제어합니다. 를 로 설정하면 사물 thingIndexingMode 인덱싱이 비활성화됩니다OFF.

    클래식 섀도우에 저장된 위치 데이터를 인덱싱하려면 thingIndexingMode 로 설정해야 합니다. REGISTRY_AND_SHADOW 자세한 정보는 사물 인덱싱 모드을 참조하세요.

  • filter

    인덱싱 필터는 명명된 섀도우 및 지오로케이션 데이터에 대한 추가 선택 항목을 제공합니다. 자세한 정보는 인덱싱 필터을 참조하세요.

  • geoLocations

    인덱싱하기 위해 선택한 지오로케이션 대상의 목록입니다. 인덱싱을 위한 기본 최대 지오로케이션 대상의 수는 입니다. 1 한도를 늘리려면 할당량을 참조하세요AWS IoT Device Management .

  • name

    지오로케이션 타겟 필드의 이름. 그림자의 위치 데이터 경로를 예로 들 name 수 있습니다. shadow.reported.coordinates

  • order

    지리적 위치 대상 필드의 순서. 유효한 값: LatLonLonLat. LatLon위도와 경도를 의미합니다. LonLat경도와 위도를 의미합니다. 이 필드는 선택 사항입니다. 기본값은 LatLon입니다.

위치 데이터가 이름이 지정된 섀도우에 저장되어 있는 경우 namedShadowIndexingMode 로 설정하면 이름이 지정된 섀도우 이름을 의 namedShadowNames filter필드에 추가하고 의 필드에 위치 데이터 경로를 지정하십시오 filter. ON geoLocations

다음 사물 인덱싱 구성 예제에서는 위치 데이터 경로를 다음과 shadow.name.namedShadow1.reported.coordinates 같이 name 지정합니다. LonLat order

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

    인덱싱 모드는 레지스트리 또는 섀도우 인덱싱 여부를 제어합니다. 를 로 설정하면 사물 thingIndexingMode 인덱싱이 비활성화됩니다OFF.

    네임드 섀도우에 저장된 위치 데이터를 thingIndexingMode 인덱싱하려면 be REGISTRY (또는REGISTRY_AND_SHADOW) 로 설정해야 합니다. 자세한 정보는 사물 인덱싱 모드을 참조하세요.

  • filter

    인덱싱 필터는 명명된 섀도우 및 지오로케이션 데이터에 대한 추가 선택 항목을 제공합니다. 자세한 정보는 인덱싱 필터을 참조하세요.

  • geoLocations

    인덱싱하기 위해 선택한 지오로케이션 대상의 목록입니다. 인덱싱을 위한 기본 최대 지오로케이션 대상의 수는 입니다. 1 한도를 늘리려면 할당량을 참조하세요AWS IoT Device Management .

  • name

    지오로케이션 타겟 필드의 이름. 그림자의 위치 데이터 경로를 예로 들 name 수 있습니다. shadow.name.namedShadow1.reported.coordinates

  • order

    지리적 위치 대상 필드의 순서. 유효한 값: LatLonLonLat. LatLon위도와 경도를 의미합니다. LonLat경도와 위도를 의미합니다. 이 필드는 선택 사항입니다. 기본값은 LatLon입니다.

지오쿼리 예시

위치 데이터에 대한 색인 구성을 완료한 후 지오쿼리를 실행하여 기기를 검색합니다. 지오쿼리를 다른 쿼리 문자열과 결합할 수도 있습니다. 자세한 내용은 쿼리 구문사물 쿼리 예 섹션을 참조하세요.

예제 쿼리 1

이 예제에서는 위치 데이터가 명명된 gps-tracker 섀도우에 저장되어 있다고 가정합니다. 이 명령의 출력은 중심점으로부터 좌표 (47.6204, -122.3491) 를 기준으로 반경 방향 거리 15.5km 내에 있는 장치 목록입니다.

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

예제 쿼리 2

이 예제에서는 위치 데이터가 클래식 섀도우에 저장되어 있다고 가정합니다. 이 명령의 출력은 중심점으로부터 15.5km (좌표 포함) 반경 방향 거리 (47.6204, -122.3491) 내에 있는 장치의 목록입니다.

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

예제 쿼리 3

이 예제에서는 위치 데이터가 클래식 섀도우에 저장되어 있다고 가정합니다. 이 명령의 출력은 중심점으로부터 15.5km (좌표 포함) 반경 방향 거리 (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)"