了解 Amazon Location Service 中的跟踪器
跟踪器存储一组设备的位置更新。跟踪器可用于查询设备的当前位置或位置记录。它存储更新,但通过在存储更新之前筛选位置来减少存储空间和视觉噪音。
存储在您的跟踪器资源中的每个位置更新都可能包括一个位置精度指标,以及最多 3 个与您要存储的位置或设备相关的元数据字段。元数据以键值对的形式存储,可以存储速度、方向、轮胎压力或发动机温度等信息。
注意
跟踪器存储空间会自动使用 AWS 自有密钥进行加密。您可以使用您管理的 KMS 密钥添加另一层加密,以确保只有您才能访问您的数据。有关更多信息,请参阅 Amazon Location Service 中的静态数据加密。
跟踪器位置筛选和存储本身很有用,但是与地理围栏配对时,跟踪器尤其有用。您可以将跟踪器链接到您的一个或多个地理围栏集合资源,并根据这些集合中的地理围栏自动评估位置更新。正确使用筛选还可以大大降低地理围栏评估的成本。
下图显示如何创建和使用跟踪器资源:
-
首先,在 AWS 账户中创建跟踪器资源。
-
接下来,决定如何向跟踪器资源发送位置更新。使用 AWS SDK 将跟踪功能集成到您的移动应用程序中。或者,您可以按照使用 MQTT 进行跟踪的分步说明来使用 MQTT。
-
现在,您可以使用跟踪器资源来记录位置记录并在地图上将其可视化。
-
您还可以将您的跟踪器资源链接到一个或多个地理围栏集合,这样发送到跟踪器资源的每个位置更新都会根据所有链接的地理围栏集合中的所有地理围栏自动进行评估。您可以在 Amazon Location 控制台的跟踪器资源详情页面上链接资源,也可以使用 Amazon Location 跟踪器 API 来链接资源。
-
然后,您可以使用 Amazon CloudWatch 和 AWS CloudTrail 等服务集成监控。有关更多信息,请参阅 使用 Amazon CloudWatch 监控 Amazon Location Service 和 使用 AWS CloudTrail 记录和监控:
使用带有地理围栏的跟踪器
与地理围栏配对时,跟踪器可提供更多功能。您可以通过 Amazon Location 控制台或 API 将跟踪器与地理围栏集合进行链接,以自动评估跟踪器位置。每次跟踪器收到更新的位置时,系统都会根据集合中的每个地理围栏评估该位置,并在 Amazon EventBridge 中生成相应的 ENTER
和 EXIT
事件。您还可以对跟踪器应用筛选,根据筛选情况,您可以通过仅评估有意义的位置更新来降低地理围栏评估的成本。
如果您在跟踪器已经收到一些位置更新后将其与地理围栏集合相链接,则链接后的第一个位置更新将被视为地理围栏评估的初始更新。如果它在地理围栏内,您将收到一个 ENTER
事件。如果它不在任何地理围栏内,则无论之前的状态如何,您都不会收到任何 EXIT
事件。
位置筛选
跟踪器可以自动筛选发送给他们的位置。您可能出于多个原因想要筛选掉某些设备位置更新。如果您的系统每分钟左右发送一次报告,则可能需要按时间筛选设备,仅每 30 秒存储和评估一次位置。即使您的监控频率更高,您也可能需要筛选位置更新以清除 GPS 硬件的噪度。GPS 定位位置本质上是有噪点的。它们的精度并不是 100% 完美,因此即使是静止的设备也看似在轻微移动。在低速下,这种抖动会导致凌乱的视觉效果,如果设备靠近地理围栏的边缘,则可能导致错误的进入和退出事件。
位置筛选的工作原理是跟踪器收到位置更新,从而减少设备路径中的视觉噪音(抖动),减少错误的地理围栏进入和退出事件的数量,并通过减少存储的位置更新和触发的地理围栏评估的数量来帮助管理成本。
跟踪器提供三种位置筛选选项,以帮助管理成本并减少位置更新中的抖动。
-
基于精度 – 与任何提供精度测量的设备一起使用。大多数 GPS 和移动设备都提供此信息。每次位置测量的准确性都会受到许多环境因素的影响,包括 GPS 卫星接收、场景以及 wifi 和蓝牙设备的距离。大多数设备,包括大多数移动设备,都可以提供测量精度的估计值以及测量结果。通过
AccuracyBased
筛选,如果设备移动小于测量的精度,Amazon Location 将忽略位置更新。例如,如果一个设备两次连续更新的精度范围分别为 5 米和 10 米,则该设备的移动距离小于 15 米时 Amazon Location 忽略第二次更新。Amazon Location 既不会根据地理围栏评估被忽略的更新,也不会存储这些更新。如果未提供精度,则将其视为零,并且测量结果被视为完全准确,并且不会对更新进行筛选。
注意
您可以使用基于精度的筛选来移除所有筛选。如果您选择基于精度的筛选,但将所有精度数据覆盖为零,或者完全省略准确性,那么 Amazon Location 将不会筛选出任何更新。
在大多数情况下,基于精度的筛选是筛选位置更新的不错选择,它可以平衡跟踪位置,同时筛选掉不需要的更新,从而降低成本。
-
基于距离 – 当您的设备不提供精度测量值,但您仍希望利用筛选功能来减少抖动并管理成本时使用。
DistanceBased
筛选忽略设备移动小于 30 米(98.4 英尺)的位置更新。当您使用DistanceBased
位置筛选时,Amazon Location 既不会根据地理围栏评估这些被忽略的更新,也不会存储更新。大多数移动设备的精度,包括 iOS 和 Android 设备的平均精度,都在 15 米以内。在大多数应用程序中,
DistanceBased
筛选可以减少在地图上显示设备轨迹时位置不准确的影响,以及设备靠近地理围栏边界时连续多次进入和退出事件的反弹效果。它还可以减少对照链接的地理围栏进行评估或检索设备位置的调用,从而帮助降低应用程序的成本。如果你想进行筛选,但你的设备不提供精度测量,或者你想筛选掉比基于精度的更新数量更多的更新,那么基于距离的筛选非常有用。
-
基于时间 –(默认)当您的设备非常频繁地发送位置更新(每 30 秒钟超过一次),并且您希望在不存储每个更新的情况下实现近乎实时的地理围栏评估时使用。在
TimeBased
筛选中,每个位置更新根据链接的地理围栏集合进行评估,但并非每个位置更新都会存储。如果更新频率超过 30 秒,则每 30 秒仅为每个唯一的设备 ID 存储一次更新。当您想要存储更少的位置,但希望根据链接的地理围栏集合评估每个位置更新时,基于时间的筛选特别有用。
注意
在决定筛选方法和位置更新的频率时,请注意追踪应用程序的成本。您需要为每次位置更新付费,并根据每个链接的地理围栏集合评估位置更新一次付费。例如,使用基于时间的筛选时,如果您的跟踪链接到两个地理围栏集合,则每次位置更新都将计为一个位置更新请求和两次地理围栏收集评估。如果您报告设备每 5 秒更新一次位置并使用基于时间的筛选,则每台设备将按每小时 720 次位置更新和 1,440 次地理围栏评估计费。
跟踪器术语
- 跟踪器资源
-
一种从设备接收位置更新的 AWS 资源。跟踪器资源为位置查询提供支持,例如当前和历史设备位置。将跟踪器资源链接到地理围栏集合会根据链接的地理围栏集合中的所有地理围栏自动评估位置更新。
- 跟踪位置数据
-
跟踪器资源会随着时间的推移存储有关您的设备的信息。这些信息包括一系列位置更新,其中每次更新都包括地点、时间和可选的元数据。元数据可以包括位置的精度,以及最多三个键值对,以帮助您跟踪每个位置的关键信息,例如正在跟踪的车辆的速度、方向、轮胎压力、剩余燃油或发动机温度。跟踪器会将设备位置记录保存 30 天。
- 位置筛选
-
在存储更新或根据地理围栏评估更新之前,位置筛选可以筛选掉不提供有价值信息的位置更新,从而帮助您控制成本并提高跟踪应用程序的质量。
您可以选择
AccuracyBased
、DistanceBased
或TimeBased
筛选。默认情况下,位置筛选设置为TimeBased
。您可以在创建或更新跟踪器资源时配置位置筛选。
- RFC 3339 时间戳格式
-
Amazon Location Service 跟踪器使用 RFC 3339
格式,该格式遵循国际标准化组织 (ISO) 8601 格式的日期和时间。 格式为“YYYY-MM-DDThh:mm:ss.sssZ+00:00”:
-
YYYY-MM-DD
– 表示日期格式。 -
T
– 表明接下来将是时间值。 -
hh:mm:ss.sss
– 以 24 小时制表示时间。 -
Z
– 表示使用的时区是 UTC,后面可以有与 UTC 时区的偏差。 -
+00:00
–(可选)表示与 UTC 时区的偏差。例如,+ 01:00 表示 UTC + 1 小时。
示例
2020 年 7 月 2 日下午 12:15:20,与 UTC 的时区相比,再调整 1 个小时。
2020-07-02T12:15:20.000Z+01:00
-