Amazon Location을 사용하여 지오펜스 추가
지오펜스는 관심 영역을 정의하는 닫힌 경계를 형성하는 지점과 꼭지점을 포함합니다. 지오펜스 컬렉션은 하나 이상의 지오펜스를 저장하고 관리합니다.
Amazon Location 지오펜스 컬렉션은 GeoJSON (RFC 7946)이라는 표준 지리 공간 데이터 형식을 사용하여 정의된 지오펜스를 저장합니다. geojson.io와 같은 도구를 무료로 사용하여 지오펜스를 그래픽으로 그리고 출력 GeoJSON 파일을 저장할 수 있습니다.
Amazon Location은 구멍이 있는 다각형, 여러 개의 다각형, 시계 방향 다각형, 반대 자오선을 가로지르는 지오펜스를 지원하지 않습니다.
지오펜스 컬렉션 생성
Amazon Location 콘솔, AWS CLI 또는 Amazon Location API를 사용하여 지오펜스를 저장하고 관리하는 지오펜스 컬렉션을 생성합니다.
- Console
-
Amazon Location 콘솔을 사용하여 지오펜스 컬렉션을 만들려면
-
https://console.aws.amazon.com/location/에서 Amazon Location Service 콘솔을 엽니다.
-
왼쪽 탐색 창에서 지오펜스 컬렉션을 선택합니다.
-
지오펜스 컬렉션 생성을 선택합니다.
-
다음 입력란을 작성합니다.
-
이름 – 고유한 이름을 입력합니다. 예를 들어, ExampleGeofenceCollection
이 있습니다. 최대 100자입니다. 유효한 항목에는 영숫자 문자, 하이픈, 마침표 및 밑줄이 포함됩니다.
-
설명 – 리소스를 구분할 수 있도록 선택적 설명을 입력합니다.
-
CloudWatch를 대상으로 하는 EventBridge 규칙에서 선택적 EventBridge 규칙을 생성하여 지오펜스 이벤트에 대한 대응을 시작할 수 있습니다. 이를 통해 Amazon Location에서 이벤트를 Amazon CloudWatch Logs에 게시할 수 있습니다.
-
(선택 사항) 태그 아래에 태그 키 및 값을 입력합니다. 이렇게 하면 새 지오펜스 컬렉션에 태그가 추가됩니다. 자세한 내용은 Amazon Location Service 리소스 태그 지정 단원을 참조하십시오.
-
(선택 사항) 고객 관리형 키 암호화에서 고객 관리형 키 추가를 선택할 수 있습니다. 그러면 사용자가 기본 AWS 소유 암호화를 통해 생성, 소유 및 관리하는 대칭 고객 관리형 키가 추가됩니다. 자세한 내용은 저장 데이터 암호화를 참조하세요.
-
지오펜스 컬렉션 생성을 선택합니다.
- API
-
Amazon Location API를 사용하여 지오펜스 컬렉션을 만들려면
Amazon Location 지오펜스 API에서 CreateGeofenceCollection
작업을 사용합니다.
다음 예시에서는 API 요청을 사용하여 ExampleGeofenceCollection
이라는 지오펜스 컬렉션을 생성합니다. 지오펜스 컬렉션은 고객 데이터를 암호화하는 고객 관리형 AWS KMS 키와 연결됩니다.
POST /geofencing/v0/collections
Content-type: application/json
{
"CollectionName": "ExampleGeofenceCollection
",
"Description": "Geofence collection 1 for shopping center",
"KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab
",
"Tags": {
"Tag1" : "Value1"
}
}
- AWS CLI
-
AWS CLI 명령을 사용하여 지오펜스 컬렉션을 만들려면
create-geofence-collection
명령을 사용합니다.
다음 예시에서는 AWS CLI를 사용하여 ExampleGeofenceCollection
이라는 지오펜스 컬렉션을 생성합니다. 지오펜스 컬렉션은 고객 데이터를 암호화하는 고객 관리형 AWS KMS 키와 연결됩니다.
aws location \
create-geofence-collection \
--collection-name "ExampleGeofenceCollection
" \
--description "Shopping center geofence collection" \
--kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab
" \
--tags Tag1=Value1
지오펜스 그리기
이제 지오펜스 컬렉션을 만들었으니 지오펜스를 정의할 수 있습니다. 지오펜스는 다각형 또는 원으로 정의됩니다. 다각형 지오펜스를 그리기 위해 geojson.io와 같은 GeoJSON 편집 도구를 사용할 수 있습니다.
지오펜스를 원으로 만들려면 원의 중심점과 반경을 정의해야 합니다. 예를 들어, 디바이스가 특정 위치로부터 50미터 이내에 올 때마다 알림을 받도록 지오펜스를 만들려면 해당 위치의 위도와 경도를 사용하고 반경을 50미터로 지정합니다.
Amazon Location Service API를 사용하여 키-값 쌍 형식으로 메타데이터를 추가할 수도 있습니다. 이는 유형과 같은 지오펜스에 대한 정보 또는 애플리케이션에 대한 기타 정보를 저장하는 데 유용할 수 있습니다. Amazon EventBridge를 사용하여 Amazon Location Service 이벤트에 대응하기 시 이 메타데이터를 사용할 수 있습니다.
다각형 지오펜스 추가
이 섹션에서는 다각형 지오펜스 생성 방법에 대해 설명합니다.
GeoJSON 도구를 사용하여 지오펜스 그리기
이제 지오펜스 컬렉션을 만들었으므로 geojson.io와 같은 GeoJSON 편집 도구를 사용하여 지오펜스를 정의할 수 있습니다.
GeoJSON 파일을 만들려면
-
GeoJSON 편집 도구를 엽니다. 예: geojson.io.
-
다각형 그리기 아이콘을 선택하고 관심 영역을 그립니다.
-
저장을 선택한 다음 드롭다운 메뉴에서 GeoJSON을 선택합니다.
GeoJSON 지오펜스를 지오펜스 컬렉션에 추가하기
결과 GeoJSON 파일을 사용하여 Amazon Location Service 콘솔, AWS CLI 또는 Amazon Location API를 사용해 지오펜스를 업로드할 수 있습니다.
- Console
-
Amazon Location Service 콘솔을 사용하여 지오펜스 컬렉션에 지오펜스를 추가하려면
- API
-
Amazon Location API를 사용하여 지오펜스를 추가하려면
Amazon Location 지오펜스 API에서 PutGeofence
작업을 사용합니다.
다음 예시에서는 API 요청을 사용하여 ID가 GEOFENCE-EXAMPLE1
인 지오펜스를 ExampleGeofenceCollection
이라는 지오펜스 컬렉션에 추가합니다. 또한 키 Type
와 값 loadingArea
을 사용하여 단일 지오펜스 메타데이터 속성을 지정합니다.
PUT /geofencing/v0/collections/ExampleGeofenceCollection
/geofence/GEOFENCE-EXAMPLE1
Content-type: application/json
{
"GeofenceProperties": {
"Type" : "loadingArea"
},
"Geometry": {
"Polygon": [
[
[-5.716667, -15.933333],
[-14.416667, -7.933333],
[-12.316667, -37.066667],
[-5.716667, -15.933333]
]
]
}
}
또는 BatchPutGeofence
작업을 사용하여 둘 이상의 지오펜스를 추가할 수 있습니다.
POST /geofencing/v0/collections/ExampleGeofenceCollection
/put-geofences
Content-type: application/json
{
"Entries": [
{
"GeofenceProperties": {
"Type" : "loadingArea"
},
"GeofenceId": "GEOFENCE-EXAMPLE1
",
"Geometry": {
"Polygon": [
[
[-5.716667, -15.933333],
[-14.416667, -7.933333],
[-12.316667, -37.066667],
[-5.716667, -15.933333]
]
]
}
}
]
}
- AWS CLI
-
AWS CLI 명령을 사용하여 지오펜스 컬렉션에 지오펜스를 추가하려면
put-geofence
명령을 사용합니다.
다음 예시에서는 AWS CLI를 사용하여 ExampleGeofenceCollection
이라는 지오펜스 컬렉션에 지오펜스를 추가합니다.
$ aws location \
put-geofence \
--collection-name ExampleGeofenceCollection
\
--geofence-id ExampleGeofenceTriangle
\
--geofence-properties '{"Type": "loadingArea"}' \
--geometry 'Polygon=[[[-5.716667, -15.933333],[-14.416667, -7.933333],[-12.316667, -37.066667],[-5.716667, -15.933333]]]'
{
"CreateTime": "2020-11-11T00:16:14.487000+00:00",
"GeofenceId": "ExampleGeofenceTriangle
",
"UpdateTime": "2020-11-11T00:19:59.894000+00:00"
}
원형 지오펜스 추가
이 섹션에서는 원형 지오펜스를 만드는 방법에 대해 설명합니다. 원의 중심으로 삼고자 하는 지점의 위도와 경도, 원의 반경(미터)을 알아야 합니다. Amazon Location API 또는 AWS CLI를 사용하여 원형 지오펜스를 생성할 수 있습니다.
- API
-
Amazon Location API를 사용하여 원형 지오펜스를 추가하려면
Amazon Location 지오펜스 API에서 PutGeofence
작업을 사용합니다.
다음 예시에서는 API 요청을 사용하여 ID가 GEOFENCE-EXAMPLE2
인 지오펜스를 ExampleGeofenceCollection
이라는 지오펜스 컬렉션에 추가합니다.
PUT /geofencing/v0/collections/ExampleGeofenceCollection
/geofence/GEOFENCE-EXAMPLE2
Content-type: application/json
{
"Geometry": {
"Circle": {
"Center": [-5.716667, -15.933333],
"Radius": 50
}
}
}
- AWS CLI
-
AWS CLI 명령을 사용하여 지오펜스 컬렉션에 원형 지오펜스를 추가하려면
put-geofence
명령을 사용합니다.
다음 예시에서는 AWS CLI를 사용하여 ExampleGeofenceCollection
이라는 지오펜스 컬렉션에 지오펜스를 추가합니다.
$ aws location \
put-geofence \
--collection-name ExampleGeofenceCollection
\
--geofence-id ExampleGeofenceCircle
\
--geometry 'Circle={Center=[-5.716667, -15.933333], Radius=50}'
다음 예시와 같이 복잡한 지오메트리에 대한 JSON을 자체 파일에 넣을 수도 있습니다.
$ aws location \
put-geofence \
--collection-name ExampleGeofenceCollection
\
--geofence-id ExampleGeofenceCircle
\
--geometry file:circle.json
이 예시에서 circle.json 파일에는 원형 지오메트리에 대한 JSON이 포함되어 있습니다.
{
"Circle": {
"Center": [-74.006975, 40.717127],
"Radius": 287.7897969218057
}
}