本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon Location 添加地理围栏
地理围栏包含形成封闭边界的点和顶点,封闭边界定义了感兴趣区域。地理围栏集合存储并管理一个或多个地理围栏。
Amazon Location geofence 集合存储了使用名为 geoJSON (RFC 7946) 的标准地理空间数据格式定义的地理围栏。您可以免费使用诸如 geojson.io 之类的工具来以图形方式绘制地理围栏并保存输出的 GeoJSON 文件。
Amazon Location 不支持顺时针多边形(按照 RFC 7946 §3.1.6 的要求使用逆时针绕组顺序)和穿过反子午线(经度 180° 线)的地理围栏。
创建地理围栏集合
使用亚马逊定位控制台、 AWS CLI或 Amazon Location API 创建地理围栏集合,用于存储和管理地理围栏。
- Console
-
使用 Amazon Location 控制台创建地理围栏集合
-
打开 Amazon Location Service 控制台,网址为https://console.aws.amazon.com/location/。
-
在左侧导航窗格中,选择地理围栏集合。
-
选择创建地理围栏集合。
-
填写以下选框:
-
在以目标 CloudWatch 为目标的EventBridge 规则下,您可以创建一条可选 EventBridge 规则来开始对地理围栏事件做出反应。这样,Amazon Location 就可以将事件发布到亚马逊 CloudWatch 日志。
-
(可选)在 Tags (标签) 下,输入标签 Key (键) 和 Value (值)。这会为你的新地理围栏集合添加一个标签。有关更多信息,请参阅使用标签管理资源。
-
(可选)在“客户托管密钥加密”下,您可以选择添加客户托管密钥。这添加了一个您创建、拥有和管理的对称客户托管密钥,该密钥是在默认 AWS
拥有的加密基础上创建、拥有和管理的。想要了解更多信息,请参阅加密静态数据。
-
选择创建地理围栏集合。
- API
-
使用 Amazon Location API 创建地理围栏集合
使用 Amazon Location 地理围栏 API 中的 CreateGeofenceCollection 操作。
以下示例使用 API 请求创建名为 ExampleGeofenceCollection 的地理围栏集合。Geofence 集合与客户管理的 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 为的地理围栏集合。ExampleGeofenceCollectionGeofence 集合与客户管理的 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 编辑工具,例如 geojson.io。
要创建圆形地理围栏,请使用位置的纬度和经度定义中心点,并以米为单位设置半径。有关更多信息,请参阅 添加圆形地理围栏。
使用 Amazon Location Service API,您还可以以键值对的形式向地理围栏添加元数据。它们可用于存储有关地理围栏的信息(例如地理围栏的类型)或其他特定于您的应用程序的信息。您可以在以下 使用亚马逊对亚马逊定位服务事件做出反应 EventBridge 情况下使用此元数据。
添加多边形地理围栏
多边形地理围栏使用 GeoJSON 坐标数组来定义区域。当您需要跟踪进入或离开形状不规则的地理边界时,请使用此格式。
使用 GeoJSON 工具绘制地理围栏
创建 GeoJSON 文件
将 GeoJSON 地理围栏放入地理围栏集合中
您可以使用生成的 GeoJSON 文件通过亚马逊定位服务控制台、 AWS CLI或亚马逊定位 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/geofences/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]]]'
添加圆形地理围栏
要创建圆形地理围栏,必须知道中心点的纬度和经度以及以米为单位的半径。当您需要根据与特定点(例如商店、仓库或地标)的距离来触发事件时,请使用圆形地理围栏。您可以使用亚马逊定位控制台、亚马逊定位 API 或. 创建圆形地理围栏。 AWS CLI
- Console
-
使用 Amazon Location Service 控制台向地理围栏集合添加圆形地理围栏
- API
-
使用 Amazon Location API 添加圆形地理围栏
使用 Amazon Location 地理围栏 API 中的 PutGeofence 操作。
以下示例使用 API 请求将带有 ID 的地理围栏添加到名GEOFENCE-EXAMPLE2为的地理围栏集合中。ExampleGeofenceCollection
PUT /geofencing/v0/collections/ExampleGeofenceCollection/geofences/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包含圆形几何图形。
{
"Circle": {
"Center": [-74.006975, 40.717127],
"Radius": 287.7897969218057
}
}