搜索地点 - Amazon Location Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

搜索地点

亚马逊Location Service 的一项关键功能是能够搜索地理位置信息。亚马逊位置通过地点索引资源提供此功能。

注意

有关如何在实践中使用地点索引资源进行搜索的信息,请参阅使用亚马逊位置搜索地点和地理位置数据

您可以使用地点索引 API 来搜索:

  • 兴趣点,例如餐厅和地标。按名称和可选位置进行搜索,然后收到按相关性排序的选项列表。

  • 街道地址,接收该地址的纬度和经度。这称为地理编码

  • 纬度和经度位置,用于接收相关的街道地址或其他有关该位置的信息。这称为反向地理编码

  • 部分或拼写错误的自由格式文本查询,通常是在用户键入时进行的。这称为自动完成、自动建议或模糊匹配。

地点索引包括使用哪个数据提供者进行搜索。

注意

地图数据和其他地理位置信息(包括确切位置)可能因数据提供商而异。最佳做法是为您的地点索引、地图和其他 Amazon Location 资源使用相同的数据提供商。例如,如果您的地点索引返回的地点与地图资源提供的相同地点的位置不匹配,则可以在地图上看似错误的位置放置标记。

下文介绍了如何创建和使用地点索引资源:

  1. 首先,通过选择数据提供者在AWS账户中创建地点索引资源。

  2. 然后,您可以选择并安装与您的开发环境和应用程序相匹配的 SDK。有关可用选项的更多信息,请参阅有关访问亚马逊位置的主题。

  3. 开始使用亚马逊定位地点 API。有关更多信息,请参阅有关使用地点搜索的主题。

  4. 然后,您可以使用诸如Amazon CloudWatch 和之类的服务集成监控AWS CloudTrail。有关更多信息,请参阅 使用亚马逊监控亚马逊Location Service CloudWatch使用进行日志记录和监控AWS CloudTrail

地理编码概念

亚马逊位置索引提供名为的操作 SearchPlaceIndexForText,允许您指定要搜索的文本。例如,您可以搜索:

  • 地点 — 搜索Paris可能会返回该城市在法国的位置。

  • 企业 —搜索coffee shop可能会返回咖啡店列表,包括其名称和地点。您还可以指定要搜索的位置或要在其中搜索的边界框,以使结果更具相关性。在这种情况下,在华盛顿州西雅图市中心提供办公地点将使该地区的咖啡店回归。

  • 地址 — 搜索1600 Pennsylvania Ave, Washington D.C.可以返回美国白宫的位置(位于该地址)。

以这种方式搜索文本通常称为地理编码,它涉及为地址或地点查找地理位置。

亚马逊Location Service 还提供名为的反向地理编码操作SearchPlaceIndexForPosition。这将获取地理位置并返回有关该地点的地址、公司或其他信息。

搜索结果

当您在亚马逊Location Service 中成功发出搜索请求时,将返回一个或多个结果。每个结果都包含一个标签,即结果的名称或描述。例如,搜索可能会返回带有标签Hometown Cafe的结果coffee shop,告诉您找到了一家名为 “Homethone Cafe” 的咖啡店。搜索结果通常还包括结构化地址(包括地址号码、单位、街道和邮政编码等属性)。根据数据提供者的不同,它还将包括其他元数据,例如国家和时区。

要搜索企业名称或类别(例如coffee shop),您可能需要在地图上显示所有返回的结果。对于地址搜索,您可能只想自动使用第一个结果。有关相关性的信息,请参阅下一个主题。

多个结果和相关性

通过文本搜索时,亚马逊Location Service 通常会找到多个结果。例如,搜索Paris可能会返回法国的城市,但也可以返回德克萨斯州的城市。结果按相关性排序,由数据提供者确定。

注意

所有提供商按相关顺序返回结果。如果您选择 Esri 或 Grab 作为数据提供者,则结果包含相关性值,您可以使用该值来了解单个请求结果之间的相对相关性。

指定其他信息,例如国家/地区名称或搜索地点,可以更改结果顺序,减少结果数量,甚至更改返回的结果集。例如,如果搜索Paris的位置位于德克萨斯州,则搜索更有可能Paris, Texas作为第一个结果返回,而不是Paris, France

在交互式应用程序中,您可以使用相关性来帮助决定是接受排名靠前的结果,还是要求用户在多个返回的结果之间进行区分。如果第一个结果的相关性很高,你可以接受它作为正确答案。如果有多个高相关性结果,或者没有高相关性结果,则可能需要列出结果并让用户选择最佳结果。

地址结果

您可以使用相同的SearchPlaceIndexForText操作使用亚马逊Location Service 搜索地址。您提供的信息越多,返回的地址与给定地址匹配的可能性就越大。例如,123 Main St找到正确结果的可能性小于123 Main St, Anytown, California, 90210

地址具有多个属性,例如街道号、街道、城市、地区和邮政编码等。这些属性用于在地点索引中找到与尽可能多方面匹配的地址。找到的属性越多,认为匹配项的相关性就越高,返回的可能性也就越大。

注意

地址结果的相关性取决于结果与输入的匹配程度。这可能是匹配的属性的数量,也可以是结果与输入的匹配程度。例如,在数据中找到的输入的123 Main St相关性要Main St高于Maine St if 的唯一结果。 Maine St仍将返回,但相关性值可能较低。

搜索结果包括完整地址的标签 (123 Main St, Anytown, California, 90210),还包括返回地址的各个结构化属性。这很有用,因为例如,您可以使用它来填充数据库中的地址字段,或者检查结果并找到找到的位置的城市、地区或邮政编码。

插值

地点索引数据中的地址包括精确的地址匹配项。例如,假设有一条街道,9th street一个街区有 2 栋房屋240220和,如下图所示。


                一张包含两栋现有房屋的单个街区的地图,并在它们之间添加了一座新房屋。

数据提供者使用这两个已知地址创建地理位置数据。你可以搜索这两个地址,然后找到它们。数据提供者创建地图数据后,假设在前两个地址之间添加了一座新房屋。这所新房子有地址230。如果您搜索230 S 9th St,数据提供者仍会找到结果。它不会使用已知地址,而是在已知地址之间进行插值,并根据这些地址估计新地址的位置。在这种情况下,它可能会假设 230 介于 220 和 240 之间(并且在街道的同一边),并据此返回大致位置。

注意

数据提供者定期使用新地址更新其地理位置数据。在这种情况下,230 S 9th St会被添加到数据提供者数据中,但通常会有一段时间创建了新地址但尚未添加到数据中。

在这种情况下,数据提供者无法判断世界上是否存在新地址,因为它还不在数据中,但可以从其所掌握的信息中提供最佳答案。此结果称为插值,可以由数据提供者在结果中返回。如果interpolated返回false,则为已知地址。如果返回true,则为近似地址。如果未返回,则数据提供者没有提供有关结果是否来自插值的信息。

重要

对于根本不存在的地址,数据提供者也可以返回插值结果。例如,在本例中,如果您输入232 S 9th St,提供商将找到这个不存在的地址,并返回一个接近 230 但在 240 一侧的位置。插值地址对于将您带到正确位置很有用,但最好记住,它们不是已知的地址。

存储地理编码结果

创建地点索引资源时,必须指定数据存储选项(在 APIIntendedUse 中调用)。可以将其设置为一次性使用存储结果。这是在询问你对结果的预期用途。如果您要存储结果(即使用于缓存目的),则必须选择存储选项,而不是一次性使用选项。

注意

当您选择存储选项(标记为 “是,结果将存储在控制台中或在CreatePlaceIndex APIstorage 中选择)时,亚马逊Location Service 不会为您存储结果。这表明您正计划存储结果。

在考虑如何使用对亚马逊Location Service 查询结果时,您应始终了解适用的AWS服务条款

地方术语

放置索引资源

允许您选择支持搜索查询的数据源。例如,您可以搜索兴趣点、地址或坐标。将搜索查询发送到地点索引资源时,将使用该资源的配置数据源来完成。

地理编码

地理编码是获取文本输入,在地点索引中搜索文本输入,然后返回带有位置的结果的过程。

相关性

相关性是结果与输入的匹配程度。这不是衡量正确性的标准。

插值

插值是通过使用已知地址位置作为指导点来查找未知地址的过程。

ISO 3166 国家代码

亚马逊Location S ervice 地点使用国际标准化组织 (ISO) 3166 国家/地区代码来指代国家或地区。

要查找特定国家或地区的代码,请使用 ISO 在线浏览平台