使用计算装置提供的位置数据点来确定位置信息的制作方法

文档序号:12280099阅读:147来源:国知局
使用计算装置提供的位置数据点来确定位置信息的制作方法



背景技术:

一些按需服务可安排由车辆驾驶员提供给用户的运输。在一些情况下,用户和驾驶员可各自操作计算装置以便与安排运输的系统通信。为了促进运输,系统可将运输的位置信息提供给用户和驾驶员的计算装置。



技术实现要素:

在根据本发明实施方式的第一方面,提供一种用于提供运输服务的方法,所述方法通过一个或多个处理器来实现并且包括:接收来自用户的移动计算装置的感兴趣位置的坐标;从多个反向地理编码资源中选择一个或多个反向地理编码资源,其中选择一个或多个反向地理编码资源至少部分地基于所述用户的优选项;从多个地图资源中选择地图资源;从所选择的一个或多个反向地理编码资源中获得关于所述感兴趣位置的区域的地理信息;从所选择的地图资源中获得针对所述感兴趣位置的所述区域的地图信息;以及基于所述地理信息和所述地图信息来确定用于地图界面的内容。

在根据本发明实施方式的第二方面,提供一种用于提供运输服务的方法,所述方法通过一个或多个处理器来实现并且包括:接收来自用户的移动计算装置的感兴趣位置的坐标;根据存储在所述用户的所述移动计算装置上的信息确定所述用户的语言优选项;从多个反向地理编码资源中选择一个或多个反向地理编码资源,其中选择一个或多个反向地理编码资源至少部分地基于所确定的所述用户的语言优选项;从多个地图资源中选择地图资源;从所选择的一个或多个反向地理编码资源中获得关于所述感兴趣位置的区域的地理信息;从所选择的地图资源中获得针对所述感兴趣位置的所述区域的地图信息;以及基于所述地理信息和所述地图信息来确定用于主界面的内容。

在根据本发明实施方式的第三方面,提供一种用于提供运输服务的方法,所述方法通过一个或多个处理器来实现并且包括:接收来自用户的移动计算装置的感兴趣位置的坐标;从多个反向地理编码资源中选择一个或多个反向地理编码资源;从多个地图资源中选择地图资源;从所选择的一个或多个反向地理编码资源中获得关于所述感兴趣位置的区域的地理信息;从所选择的地图资源中获得针对所述感兴趣位置的所述区域的地图信息;以及基于所述地理信息和所述地图信息来确定用于地图界面的内容,其中确定用于所述地图界面的内容包括组合来自所述多个反向地理编码资源中的多个反向地理编码资源的地理信息作为用于所述地图界面的内容。

附图说明

图1示出根据一个实施方案的使用位置数据点来确定位置信息的示例性系统。

图2A和图2B示出根据一个实施方案的用于确定位置信息的示例性方法。

图3示出根据另一实施方案的用于确定位置信息的示例性方法。

图4是示出可实施本文所述的实施方案的计算机系统的框图。

图5是示出可实施本文所述的实施方案的移动计算装置的框图。

具体实施方式

本文所述的实例提供一种系统,所述系统从计算装置接收位置数据点,并且确定对应于所述数据点的位置信息,以便提供基于位置的服务。在一个实例中,基于所述系统可用或可访问哪些资源,所述系统可确定使用哪个资源来确定所述位置信息。

根据一个实例,所述系统可接收来自客户端计算装置的位置数据点,例如,全球定位系统(GPS)数据点。所述位置数据点可包括纬度、经度以及误差值。所述系统可对所述位置数据点执行反向地理编码过程,以确定对应的位置信息或地址。在一个实例中,所述系统可首先确定所述位置数据点是否在所述系统的用户(例如,管理员)已经配置的多个预定义区域中的一个预定义区域内。例如,所述预定义区域可存储在所述系统可访问的数据库中。如果所述位置数据点在预定义区域内,那么对应于所述预定义区域的位置信息可被识别并传输到所述客户端装置。

如果所述位置数据点不在预定义区域内,那么所述系统可确定是否可用或访问第三方反向地理编码服务来将所述位置数据点转译或转译成地址,例如,街道地址。在一些实例中,所述系统可与多个第三方反向地理编码服务通信。如果可访问第三方反向地理编码服务来将所述位置数据点转译成地址,那么所述系统可将请求传输到所述第三方反向地理编码服务(所述请求包括所述位置数据点),并且可接收对应的地址。所述地址随后可传输到所述客户端装置。

在一些情况下,所述系统可能无法使用或访问所述第三方反向地理编码服务。在这种情况下,所述系统可确定所述系统的地图数据库(例如,所述系统维护的内部数据库)是否可用于将所述位置数据点转译成所述地址。如果所述地图数据库可用,那么系统可使用所述位置数据点从所述地图数据库中检索存储的地址,并且将检索的地址传输到所述客户端装置。如果所述地图数据库不可用(或者如果没有找到对应于所述位置数据点的地址),那么所述系统可识别将被传输到所述客户端装置的指定文本串。通过这种方式,基于预定的等级或顺序,系统100可执行反向地理编码过程。

另外,所述系统还可接收来自所述客户端装置的针对运输服务的请求。运输请求可包括所述客户端装置的用户指定/选择的位置数据点(例如,先前传输的位置数据点或新的位置数据点)。基于所述运输请求的所述位置数据点,所述系统可选择能够提供所述运输服务的驾驶员。根据一些实例,所述系统可确定所述客户端装置的所述用户的优选语言是否匹配所选择的驾驶员的优选语言。如果所述优选语言匹配,那么所述系统可将确定的位置信息/地址传输给所述驾驶员的装置。另一方面,如果所述优选语言不匹配,那么所述系统可(例如,代表所述驾驶员)执行所述反向地理编码过程,以确定使用所述驾驶员的所述优选语言的所述位置信息或地址。

本文中使用的客户端装置、驾驶员装置和/或计算装置是指对应于台式计算机、蜂窝装置或智能电话、个人数字助理(PDA)、膝上型计算机、平板装置、电视(IP电视)等的装置,所述装置可提供网络连接并且处理资源,以便通过网络与所述系统通信。驾驶员装置还可对应于运输对象的其他装置或自定义硬件等。所述客户端装置和/或驾驶员装置还可操作被配置成与所述系统通信的应用。

此外,例如,所述系统可将基于位置的服务(例如,运输服务、递送服务、娱乐服务)安排在使用所述计算装置的个人之间。例如,用户可请求按需服务,诸如,运输服务或递送服务(例如,食品递送、信使服务、快餐车服务或产品装运)或娱乐服务(例如,墨西哥流浪乐队、弦乐四重奏),并且所述系统可选择使用与所述系统通信的装置的服务提供商,例如,驾驶员、食品提供商、乐队等。

在另一实例中,通过一个或多个网络接收到多个位置数据点,其中在一段时间内从一个或多个客户端装置传送多个位置点。响应于接收到所述多个位置数据点中的每一个,访问数据存储区,所述数据存储区包括多个预定义地理栅栏,以便确定所述位置数据点是否在所述多个预定义地理栅栏中的任一个的预定义区域内。所述系统的用户配置了所述多个预定义地理栅栏中的至少一个。针对不在预定义区域内的至少一个位置数据点,(i)确定使用另一资源来将位置信息提供给所述客户端装置。也确定一个或多个第三方反向地理编码服务来转译所述位置数据点。将请求传输到第三方反向地理编码服务,以将所述多个位置数据点中的每一个转译成街道地址,其中所述请求包括所述位置数据点。接收用于所述多个位置数据点中的每一个的对应街道地址。针对所述多个位置数据点中的每一个,将所述对应街道地址传输到传送所述位置数据点的客户端装置。

本文所述的一个或多个实例假设计算装置执行的方法、技术和动作以编程方式执行或作为计算机实施的方法。本文中使用的以编程方式是指通过使用代码或计算机可执行的指令。这些指令可存储在计算装置的一个或多个存储器资源上。以编程方式执行的步骤可以是或可以不是自动的。

本文所述的一个或多个实例可使用编程模块、引擎或部件来实施。编程模块、引擎或部件可包括程序、子例程、程序的一部分,或者能够执行一个或多个规定任务或功能的软件部件或硬件部件。本文中使用的模块或部件可存在于硬件部件上,独立于其他模块或部件。或者,模块或部件可以是其他模块、程序或机器的共享元件或进程。

本文所述的一些实例大体可需要使用计算装置,包括处理资源和存储器资源。例如,本文所述的一个或多个实例可整个或部分实施在计算装置上,例如,服务器、台式计算机、蜂窝或智能电话、个人数字助理(PDA)、膝上型计算机、打印机、数码相框、网络设备(例如,路由器)以及平板装置。存储器资源、处理资源和网络资源可全部用于建立、使用或执行本文所述的任何实例(包括执行任何方法或实施任何系统)。

此外,本文所述的一个或多个实例可通过使用一个或多个处理器可执行的指令来实施。这些指令可携带在计算机可读介质上。下文结合附图示出或描述的机器提供处理资源和可以实行和/或执行用于实施本文所述的实例的指令所在的计算机可读介质的实例。具体而言,结合本文所述的实例示出的很多机器包括处理器以及用于存储数据和指令的各种形式的存储器。计算机可读介质的实例包括永久存储器存储装置,例如,个人计算机或服务器上的硬盘驱动器。计算机存储介质的其他实例包括便携式存储单元,例如,CD或DVD单元、闪存(例如,携带在智能电话、多功能装置或平板上)以及磁存储器。计算机、终端、具有网络功能的装置(例如,移动装置,诸如移动电话)都是使用处理器、存储器以及存储在计算机可读介质上的指令的机器和装置的实例。此外,实例可采用计算机程序或能够携带此类程序的计算机可用载体介质的形式实施。

系统描述

图1示出根据一个实施方案的使用位置数据点来确定位置信息的示例性系统。在一个实例中,所述系统可与另一系统一起操作或作为其一部分操作,所述另一系统能够在各方之间安排服务(例如,在用户与服务提供商之间安排运输服务或递送服务)。例如,图1的系统可对应于调度系统,所述调度系统选择驾驶员以便为用户安排运输服务。系统100可接收来自用户的客户端装置的位置数据点,并且执行反向地理编码过程,以确定对应于所述位置数据点的地址或其他位置信息。

一般来说,计算装置可将位置数据点提供到第三方反向地理编码服务,而第三方反向地理编码服务可执行将所述位置数据点转译成街道地址。然而,只使用第三方反向地理编码服务来确定位置信息可能会存在缺点。例如,第三方反向地理编码服务可能具有速率限制,诸如,允许特定装置的每秒查询(QPS)数量有限,和/或可能比较昂贵。在多个客户端装置通过同一网络(例如,无线局域网(WLAN))操作的情况下,第三方反向地理编码服务可将查询第三方反向地理编码服务的多个装置视作同一装置,并且将装置封锁(例如,阻止装置调用第三方反向地理编码服务)。此外,依赖于特定第三方反向地理编码服务在一些情况下可能会遇到问题,例如,当地址数据不准确或当第三方反向地理编码服务的计算资源出现故障(例如,服务器崩溃)时。图1的系统100可接收来自客户端装置的位置数据点并且可执行可以使用或可不使用第三方反向地理编码服务的反向地理编码过程,而不是让客户端装置直接将位置数据点传输到第三方反向地理编码服务。

根据一个实例,系统100包括位置确定110、运输安排120、装置接口130、服务接口140、地理栅栏数据库150、地理栅栏接口155以及地图数据库160。多个客户端装置170和多个驾驶员装置180可通过一个或多个网络经由装置接口130与系统100通信。在一些实例中,系统100还可与一个或多个第三方反向地理编码服务190通信。系统100的部件可组合起来,以接收来自客户端装置170的位置数据点,并且执行反向地理编码过程,以确定对应于所述位置数据点的地址或位置信息。逻辑可由各种应用(例如,软件)实施和/或由实施系统100的计算机系统的硬件实施。

根据实施方式,系统100的一个或多个部件可在网络侧资源上实施,例如,在一个或多个服务器上实施。系统100也可通过替代架构(例如,对等网络等)中的其他计算机系统实施。此外或作为替代,系统100的一些或全部部件可在客户端装置170上实施,例如,通过在客户端装置170和/或驾驶员装置180上操作的应用来实施。例如,诸如服务应用的客户端应用可执行,以完成系统100的各种部件所述的一个或多个过程。系统100可通过网络经由网络接口(例如,以无线方式或使用有线)与一个或多个客户端装置170以及一个或多个驾驶员装置180通信。

系统100可通过一个或多个网络使用装置接口130与客户端装置170和驾驶员装置180通信。装置接口130可管理系统100与远程计算装置之间的通信。在一些实例中,客户端装置170(和驾驶员装置180)可单独操作服务应用,所述服务应用可与装置接口130接合,以便与系统100通信。根据一些实例,应用可包括或使用应用编程接口(API),例如,面向外部的API,以便与装置接口130传送数据。面向外部的API可使用任何数量的方法通过网络经由安全访问信道来提供对系统100的访问,例如,所述方法是基于网络的形式、经由restful API的编程访问、简单对象访问协议(SOAP)、远程过程调用(RPC)、脚本访问等。

根据一些实例,位置确定110可经由装置接口130接收来自客户端装置170的位置数据点171。例如,当客户端装置170的用户操作服务应用时,用户可与服务应用的用户界面交互,以选择或指定有关按需服务和/或基于位置的服务的特定位置。用户可与地图界面交互,例如,所述地图界面显示用户的当前位置(例如,客户端装置170的当前位置)以及一个或多个图形特征(例如,标针),所述图形特征在地图上可被用户移动,以指示用于请求基于位置的服务的位置。在一个实例中,地图上的标针指定的位置可以是用于运输服务的接送位置和/或目的地位置,或者用于递送服务的下车位置。

当用户选择位置时,例如,将地图界面上的标针移动到特定位置时,客户端装置170确定(对应于所述特定位置的)位置数据点171并且经由装置接口130将所述位置数据点传输到系统100。根据实例,对应于选定位置的位置数据点171包括纬度、经度以及误差值。例如,客户端装置170可包括全球定位系统(GPS)部件和/或可确定客户端装置170的当前位置或地图界面上的选定位置的GPS坐标的其他部件。GPS部件还可包括位置数据点171的误差值,以表明纬度和经度的准确性。例如,具有高误差值的位置数据点171被视作不如误差值较低的位置数据点171准确(例如,在确定GPS坐标时出现信号干扰、硬件故障等,GPS部件的位置数据点可具有高的误差)。

根据一个实例,每次客户端装置170的用户指定服务应用的地图界面上的位置,例如,运输服务的接送位置,客户端装置170都可将对应的位置数据点171提供到系统100。例如,用户可选择地图界面上的第一位置(例如,经由手指触摸客户端装置170的触敏显示屏来移动标针,且随后在指定了所需位置后移开手指),并且响应于用户从触敏显示屏上移开手指,客户端装置170可确定用户已经选择位置并将对应的位置数据点171传输到系统100。紧随其后(例如,一秒后),用户可选择地图界面上的不同第二位置(例如,用户确定第二位置更适于运输服务)。类似地,客户端装置170随后可传输对应于第二位置的位置数据点171。

在一些实例中,用户可继续改变指定位置(并且导致客户端装置170继续传输对应的位置数据点171),直到(i)用户向系统100发出运输请求175,(ii)用户发出运输请求175之后经过预定的时间和/或(iii)用户被提供运输服务的驾驶员接到为止。每次用户指定位置,在用户的客户端装置170上运行的服务应用都将对应的位置数据点171提供到系统100,从而系统100可确定对应的地址或位置信息并将其提供到服务应用。根据一个实例,位置数据点171可由服务应用提供到系统100,作为对应地址的请求的一部分。通过这种方式,用户可查看并验证所述特定地址就是针对运输服务而言用户想要的接送(在另一实例中,下车)的地址。

位置确定110接收来自客户端装置170的位置数据点171,并且作为响应,可针对所述位置数据点171执行反向地理编码过程。在一个实例中,通过基于一个或多个条件确定使用哪个资源(例如,哪个特定数据库、哪个第三方反向地理编码服务等)来将位置数据点171转译成对应地址(例如,街道地址)或者对应的位置名称、信息或标识符,位置确定110可执行反向地理编码过程。在一些实例中,位置确定110包括资源选择和语言匹配。

位置确定110可访问多个资源或与之通信,以确定接收的位置数据点171的位置信息或地址。多个资源可包括地理栅栏数据库150、地图数据库160、多个第三方反向地理编码服务190和/或其他数据库,例如,用于存储文本串的数据库,图1中未示出。根据实施方式,地理栅栏数据库150和/或地图数据库160可包括在系统100中和/或由系统100的管理员用户维护。

根据一个实例,地理栅栏数据库150是存储多个用户创建或用户配置的地理栅栏(例如,三个或更多位置数据点定义的预定义区域)的数据库,其中每个都对应于描述性文本串。地理栅栏数据库150中的每一个条目可包括(i)定义地理栅栏的边界的多个位置点以及(ii)对应于地理栅栏的位置信息(例如,作为指定的文本串)。例如,可针对地理区域创建地理栅栏,例如,旧金山国际机场的航站楼2的出口或门附近的区域(例如,邻近接送区),并且标识为“航站楼2,SFO”。在一些实例中,地理栅栏条目还可包括用于所述地理栅栏条目的时间周期(例如,开始日期、开始时间、结束日期、结束时间等)。管理员可经由一个或多个输入端157与地理栅栏接口155交互,以创建、编辑和/或删除地理栅栏数据库150中的地理栅栏。

地图数据库160可对应于存储在系统100中的地图信息。例如,地图信息可由诸如开放式街道地图(OSM)的地图资源、开源地图数据库或者其他地图资源提供或从中检索。地图数据库160可使用来自OSM的信息定期更新和/或可由系统100的管理员更新(例如,系统100存储并维护地图数据库160)。位置确定110可访问地理栅栏数据库150和/或地图数据库160,以确定对应于接收的位置数据点171的位置信息。

此外,系统100还可通过网络经由一个或多个服务接口140来访问一个或多个第三方反向地理编码服务190。第三方反向地理编码服务提供位置数据点(例如,纬度和经度)到可读地址或名称的转译。可存在多个不同的第三方反向地理编码服务190并且可为系统100(例如,经由服务接口140)使用。例如,第三方反向地理编码服务190可提供位于特定区域(例如,较大的城市或国家)内的位置数据点的街道地址(例如,第三方反向地理编码服务可专门转译韩国的位置点),而另一第三方反向地理编码服务190可提供位于另一区域(例如,法国)内的位置点的街道地址。在另一实例中,第三方反向地理编码服务190可比其他服务的涵盖面更广(即,具有比其他服务跨越更大地理区域的更大地址数据库,例如,谷歌公司(Google Inc.)的反向地理编码服务)。

基于接收的位置数据点171以及系统100的一个或多个条件,资源选择可确定使用哪个资源来确定接收的位置数据点171的位置信息或地址。例如,经由系统100的用户输入的一个或多个参数,资源选择可被配置成确定第一使用哪个资源,如有需要第二使用哪个资源,如有需要第三使用哪个资源等等,以便确定接收的位置数据点171的位置信息或地址。此外,在一个实例中,位置确定110可首先确定随位置数据点171接收的误差值是否等于或大于阈值误差值。误差值等于或大于阈值误差值可表明(例如)客户端装置170的GPS部件确定的纬度和经度很可能是错误或不准确的。

例如,如果位置确定110确定误差值等于或大于阈值误差值,那么资源选择可将文本串数据库(图1中未示出)选择作为位置确定110要访问的资源。位置确定110可从文本串数据库中检索默认文本串,并且将默认文本串提供到(传输位置数据点171的)客户端装置170,向用户表明无法确定位置或者GPS部件提供了不准确的位置数据。在其他实例中,文本串也可提示用户再次尝试或选择新的位置。在这样的实例中,由于确定误差值较高,因此,位置确定110可放弃使用第三方反向地理编码服务190,从而减少网络带宽使用并且减少到达第三方反向地理编码服务190的通信量,而且通常不会执行反向地理编码过程来确定接收的位置数据点171的对应地址或位置信息。

此外或作为替代,在一些实例中,资源选择还可存储用来确定对应的接收位置数据点171的地址或位置信息的资源(相对于彼此的)排序。在一个实例中,系统100的管理员先前可对所述资源进行分类或使之相对于彼此排序。当位置确定110接收到位置数据点171时,资源选择可选择可用来或可访问以用来确定对应的地址或位置信息的排名最高的资源。例如,位置确定110将使用的资源的排序可按照下列顺序来优先级排位:(1)地理栅栏数据库150,(2)位置特定第三方反向地理编码服务190,(3)更大更通用的第三方反向地理编码服务190(与位置特定第三方反向地理编码服务相比),(4)地图数据库160,以及(5)文本串数据库。在其他实例中资源的顺序可以不同。在一些实例中,管理员可以调整用于位置确定110的资源选择的资源排序。

当位置确定110接收到位置数据点171时,它可执行反向地理编码过程,以确定对应的地址或位置信息。反向地理编码过程包括确定使用哪个资源来确定接收的位置数据点171的对应地址或位置信息。在一个实例中,资源选择可确定首先使用地理栅栏数据库150(例如,基于上述排序)。位置确定110将访问地理栅栏数据库150,以确定位置数据点171是否位于地理栅栏的预定义区域内(例如,在地理栅栏的三个或更多位置点定义的边界内)。如果位置数据点171在地理栅栏的预定义区域内,那么位置确定110从地理栅栏数据库150中识别对应的位置信息151或描述性文本串,并且经由装置接口130将位置信息151或描述性文本串作为位置信息173提供给客户端装置170。

如上文论述,存储在地理栅栏数据库150中的地理栅栏条目可以是基于时间的地理栅栏条目,其中一个或多个持续时间与所述地理栅栏条目相关联。持续时间可表明地理栅栏何时“起作用”。例如,地理栅栏可指定可发生事件(例如,音乐会、运动赛事、游行等)的持续时间。当用户在所述持续时间期间请求地理栅栏区域中的接送位置时,这种基于时间的地理栅栏可指示对应于此类事件的描述性文本串。如果位置确定110接收到位置数据点171,所述位置数据点在基于时间的地理栅栏的预定义区域内,但不是在所述地理栅栏的指定持续时间期间的特定时间示例接收到的,那么位置确定110可指示位置数据点171并不匹配地理栅栏数据库150中的现有地理栅栏条目(例如,即使位置数据点171在基于时间的地理栅栏的预定义区域内)。基于指定的顺序或等级,资源选择可确定使用另一资源来进行反向地理编码过程。

如果位置数据点171不在地理栅栏数据库150的任一地理栅栏的预定义区域内,那么资源选择可确定是否可访问对应于位置数据点171的位置特定第三方地理编码服务190。在一些情况下,由于访问限制(例如,每秒只可发出一定数量的反向地理编码请求,例如,每秒查询(QPS)限制)、带宽限制、硬件问题(例如,第三方反向地理编码服务的服务器崩溃或出现网络问题)等,无法访问第三方反向地理编码服务。此外,位置数据点171可能在无法使用位置特定第三方地理编码服务190的区域内。如果可访问位置特定第三方地理编码服务190(例如,专用于位置数据点171所在的城市、地区、州或国家等的位置特定第三方地理编码服务190),那么位置确定110可使用位置数据点171将反向地理编码请求111(例如,查询位置特定第三方地理编码服务190)发送到可提供从位置数据点171到对应地址的转译的位置特定第三方地理编码服务190。一旦位置确定110接收到来自第三方反向地理编码服务190的对应地址191,位置确定110便可将地址173提供到客户端装置170。

另一方面,如果无法访问位置特定第三方地理编码服务190,那么资源选择可确定是否可访问更大更通用的第三方反向地理编码服务190(与位置特定第三方反向地理编码服务相比)。在一些实例中,更大更通用的第三方反向地理编码服务190可涵盖更大地理范围的数据点(例如,谷歌公司提供的反向地理编码服务)。如果可访问更大更通用的第三方反向地理编码服务190,那么位置确定110可使用位置数据点171将反向地理编码请求111(例如,查询更大更通用的第三方地理编码服务190)发送到可提供从位置数据点171到对应地址的转译的更大更通用的第三方地理编码服务190。一旦位置确定110接收到来自更大更通用的第三方反向地理编码服务190的对应地址191,位置确定110便可将地址173提供到客户端装置170。

如果无法访问第三方地理编码服务190,那么资源选择可确定是否可访问系统100的内部地图数据库160。地图数据库160可对应于一个或多个地图资源提供或从中检索的地图信息。如果可访问地图数据库160,那么位置确定110可在地图数据库160中执行位置数据点171的查找。如果位置数据点171具有对应的地址或位置信息161,那么位置确定110可经由装置接口130将地址或位置信息161作为位置信息173提供给客户端装置170。

如果无法访问或不可用地图数据库160,或者如果在地图数据库160中没有找到对应的地址或位置信息,那么资源选择可确定没有可用或可访问的资源,并且位置确定110可识别存储在文本串数据库中的自定义文本串。位置确定110可导致自定义文本串经由装置130传输到客户端装置170,例如,“地址不可用”、“选择另一位置”或者“在文本框中输入地址”。通过这种方式,在发出服务请求之前,用户可接收有关基于位置的按需服务的地址或位置的准确信息。

根据一些实例,位置确定110还可确定操作客户端装置170的用户的优选语言。例如,系统100可维护用户和/或用户的相应客户端装置170的档案数据库。系统100还可维护驾驶员的档案数据库。用户的档案可包括用户标识符(ID)(例如,用户名、电子邮件地址等)和优选语言(例如,英语、韩语、阿拉伯语、法语、汉语等),以及其他用户信息。当用户操作客户端装置170并且客户端装置170将位置数据点171提供到位置确定110(例如,与用户ID一起)时,通过访问用户档案数据库中的用户档案,语言匹配可识别该用户的优选语言。通过这种方式,当针对用户选择的位置数据点171,对应的地址或位置信息173被提供到该用户的客户端装置170时,位置确定110可使用该用户的优选语言来传输地址或位置信息173。

根据变形,通过(i)执行使用反向地理编码过程确定(例如,使用多个资源中的一个确定)的地址或位置信息的转译,(ii)访问第三方转译服务以执行确定地址或位置信息的转译和/或(iii)在反向地理编码过程期间,致使位置确定110针对使用指定优选语言的地址191向第三方反向地理编码服务发出反向地理编码请求111,位置确定110(例如,经由语言匹配)可使用对应用户和/或用户的客户端装置170的优选语言提供地址或位置信息173。在一些实例中,转译可以是按发音表达从一种语言(例如,英语)转译到另一语言(例如,按汉语发音)。

系统100还可与另一系统操作或作为其一部分操作,所述另一系统能够在各方之间安排基于位置的服务。例如,系统100可包括接收来自客户端装置170的运输请求175的运输安排120。客户端装置170的用户可选择位置,例如,接送位置,并且接收来自系统100的地址或位置信息173。用户随后可经由在客户端装置170上操作的服务应用,使用选择的位置(或者选择不同的位置)向系统100发出运输请求175。运输请求175可包括位置数据点171,并且基于指定接送位置的位置数据点171,运输安排120可安排将由驾驶员提供的运输。例如,多个驾驶员可操作多个驾驶员装置180。运输安排120可基于下列项来选择驾驶员:运输请求175(例如,请求哪种类型的车辆、什么时间、用户等级、驾驶员等级等)和/或位置数据点171(例如,与离得较远的其他驾驶员相比,运输安排120可以选择附近的驾驶员)。

当运输安排120选择驾驶员时,有关运输服务的信息125可以提供到客户端装置170和选择的驾驶员的驾驶员装置180(例如,提供到在相应装置上操作的服务应用)。驾驶员还被通知客户选择的接送位置。然而,替代于将客户端装置170的用户选择的位置数据点171提供到驾驶员装置180,在一些实例中,位置确定110可将(先前针对客户端装置170的用户确定的)对应街道地址或位置信息作为地址或位置信息183提供到驾驶员装置180。

根据一些实例,位置确定110还可确定选择的驾驶员的优选语言。当驾驶员被运输安排120选择时,通过访问驾驶员档案数据库中的驾驶员档案(例如,使用驾驶员ID),位置确定110的语言匹配可识别所选择的驾驶员的优选语言。语言匹配可将用户的优选语言与所选择的驾驶员的优选语言进行比较,以确定它们是否相同。如果优选语言匹配,那么位置确定110不必执行另一转译步骤,而是将(先前传输到用户的客户端装置170的)确定地址或位置信息传输到驾驶员装置180。另一方面,如果优选语言并不匹配,那么位置确定110可再次执行反向地理编码过程(例如,以便接收使用驾驶员的优选语言的地址193)和/或执行将使用用户的优选语言的确定地址转译成驾驶员的优选语言。

通过这种方式,在使用预定义反向地理编码过程提供位置信息或街道地址方面,系统100提供许多益处。例如,如果第三方反向地理编码服务不可用或无法访问,那么系统100仍可使用其他资源将相关位置信息提供到客户端装置170的用户。系统100的管理员可继续更新内部数据库,例如,地理栅栏数据库150,以便将更精细且基于时间的位置信息消息提供给用户。当道路、街角、区域等因临时事件(例如,马拉松或城市节庆活动)而被封锁或封闭时,这种精细且基于时间的信息可能比一般街道地址对用户以及服务提供商更有用。此外,因为出于按需服务的目的,系统100将确定的地址或位置信息提供给客户端装置和驾驶员装置两者,所以用户和所选择的驾驶员可接收到相同的信息,而无需向第三方反向地理编码服务发出两次单独的反向地理编码请求(即,客户端装置和驾驶员装置单独请求)。

方法论

图2A和图2B示出根据实施方案的用于确定位置信息的示例性方法。可使用例如图1的实施方案描述的部件来实施诸如由图2A和图2B的实例描述的方法。因此,出于示出用于执行所述步骤或子步骤的合适元件或部件的目的,参考图1的元件。

参见图2A,系统100可通过一个或多个网络从客户端装置接收位置数据点(205),诸如GPS数据点。在一些实例中,位置数据点可包括纬度、经度和误差值。如果所述误差值小于阈值误差值,那么系统100可执行针对所接收位置数据点的反向地理编码过程(210-250)。详细描述诸如由图1的位置确定110执行的反向地理编码过程的实例。

位置确定110确定位置数据点是否在多个预定义区域的一个预定义区域内(210),所述多个预定义区域已经被系统100的管理员配置。如果位置数据点在预定义区域内,那么位置确定110识别对应于所述预定义区域的位置信息,并且将所述位置信息传输到客户端装置(215)。关于多个预定义区域的信息可作为地理栅栏条目存储在地理栅栏数据库中。在一些实例中,地理栅栏条目可以是基于时间的,并且包括针对所述地理栅栏条目的时间段(例如,开始日期、开始时间、结束日期、结束时间等)。例如,地理栅栏条目可指定环绕和/或对应于AT&T球场的区域,并且具有与在那里进行的棒球比赛的日期和持续时间相关的时间段(例如,赛前一小时至赛后一小时)。用于AT&T球场的预定义区域的对应位置信息文本串可列举如下:“巨人比赛-步行至第三街道和布兰南以便搭便车”。位置信息可以是提供信息的,以便引导用户移动到另一个位置以便接送(例如像运输服务),因为实际地址/位置可能被人群拥塞和/或道路可能封闭。以此方式,出于按需服务的目的,向用户的客户端装置提供的这种预配置位置信息对于用户可能是更有用的。

如果位置数据点不在预定义区域内,那么位置确定110确定是否存在可用或可访问的位置特定反向地理编码服务(220)。例如,如果在从客户端接收位置数据点时已经达到速率限制,诸如每秒查询(QPS)数量,那么第三方反向地理编码服务可能是不可用的。在另一个实例中,如果向第三方反向地理编码服务发出调用,并且响应于所述调用未接收到任何地址(例如,由于第三方反向地理编码服务的计算资源已经失效或崩溃,或在至第三方反向地理编码服务的网络连通性已经丢失时),那么第三方反向地理编码服务可能是不可用的。

如果可访问位置特定第三方反向地理编码服务来将位置数据点转译成地址,那么位置确定110可将请求传输到位置特定第三方反向地理编码服务(225)。所述请求可包括位置数据点。在一个实施方案中,还可以用户的优选语言发出针对街道地址的请求。位置特定第三方反向地理编码服务可将位置数据点转译成街道地址并且将所述地址提供到位置确定110。位置确定可将地址传输到客户端装置(228)。在一个变形中,如果位置特定第三方反向地理编码服务不能够提供位置数据点的地址,那么位置确定110可确定是否存在可用或可访问的能够提供所述转译的其他第三方反向地理编码服务。如果不存在可用或可访问的第三方反向地理编码服务,那么位置确定110可使用其他资源(诸如系统100的地图数据库)来确定位置信息或向客户端装置提供自定义文本串。

返回参见220,如果不可用或不可访问位置特定第三方反向地理编码服务来将位置数据点转译成地址,那么位置确定110可确定(与位置特定第三方反向地理编码服务相比)更大更通用的第三方反向地理编码服务(例如像由谷歌公司提供的反向地理编码服务)是否是访问的(230)。如果可访问更大更通用的第三方反向地理编码服务,那么位置确定110将请求传输到所述位置特定第三方反向地理编码服务(235)。位置确定110可接收已转译地址并且将所述地址传输到客户端装置(238)。

在一些情况下,第三方反向地理编码服务不可用于系统100或不可由系统100访问。如果没有可访问或可用的第三方反向地理编码服务,那么位置确定110可确定系统100的地图数据库(例如,由系统100维持的内部数据库)是否可用来将位置数据点转译成地址(240)。如果地图数据库是可用的,那么位置确定110可使用位置数据点从地图数据库检索存储的地址或位置信息并且将检索的地址传输到客户端装置(245)。如果地图数据库是不可用的(或如果没有发现对应于位置数据点的地址),那么系统100可识别待传输到客户端装置的指定文本串(250)(例如,“地址是不可用的”、“选择另一个位置”、“打电话给您的驾驶员”)。

虽然已经以位置确定110访问或尝试访问多个资源的特定次序描述了图2A,但是取决于变形,资源的其他次序或排名是可能的。在其他实例中,位置确定110可能不访问或不会尝试访问某些资源。例如,当已经达到针对第三方反向地理编码服务的总QPS限制时,位置确定110可能不访问第三方地理编码服务,而是访问另一个资源(例如,系统100的地图数据库)或其他内部数据库。另外,不同的资源可用于不同的地理区域,位置数据点位于所述地理区域中。

例如,图2B示出根据实施方案的用于确定位置信息的另一个实例。图2B类似于图2A,例外的是,在图2B中,位置确定110不会单独地访问或尝试访问位置特定第三方反向地理编码服务。位置确定110接收来自客户端装置的位置数据点(255)并且确定所述位置数据点是否在预定义区域内(260)。如果是,那么将对应于预定义区域的已识别位置信息传输到客户端装置(265)。

如果位置数据点不在预定义区域内,那么位置确定110确定第三方反向地理编码服务是否是可用或可访问的(270)。如果第三方反向地理编码服务是可用或可访问的,那么位置确定110将请求传输到所述服务(275)。第三方反向地理编码服务可执行位置数据点至地址(诸如街道地址)的转译,并且将结果返回到位置确定110。位置确定110可将地址传输到客户端装置(278)。

如果没有可用或可访问的第三方反向地理编码服务,那么位置确定110确定系统100的地图数据库是否是可用的(280)。如果是,那么从所述地图数据库检索对应于位置数据点的位置信息或地址并且将其传输到客户端装置(285)。如果系统100的地图数据库是不可用的,那么位置确定110可识别自定义文本串,以传输到客户端装置(290)。

图3示出根据另一个实施方案的用于确定位置信息的示例性方法。可使用例如图1的实施方案描述的部件来实施诸如由图3的实例描述的方法。因此,出于示出用于执行所述步骤或子步骤的合适元件或部件的目的,参考图1的元件。

系统100可接收来自客户端装置的位置数据点(310)。客户端装置可运行服务应用,例如,在所述服务应用中客户端装置的用户可指定与按需服务或基于位置的服务一起使用的位置。在一个实例中,服务应用可提供地图界面,其中用户可通过在所述地图界面上移动图形特征来选择位置。所选择位置可对应于位置数据点,诸如纬度和经度。

响应于接收所述位置数据点,位置确定110执行反向地理编码过程来确定对应于所接收位置数据点的地址或位置信息(320)。在一些实例中,反向地理编码过程可对应于图2A的步骤210-250或图2B的步骤260-290。位置确定110向客户端装置提供反向地理编码过程的结果,例如,地址、位置信息或自定义文本串。用户在他或她发出运输请求之前还可继续在地图界面上改变位置,或在一些实施方案中,用户甚至可在已经发出运输请求之后(但在驾驶员的估计到达时间之前的预定时间之前)改变位置。每次客户端装置向系统100提供不同的位置数据点时(例如,每次用户在服务应用的地图界面上移动图形特征时),位置确定110可继续执行反向地理编码过程(320)。

在一些实例中,用户可使用位置数据点通过客户端装置向系统100发出按需服务请求(例如,递送请求、娱乐服务请求、运输请求等)(330)。系统100可安排由服务提供商提供给用户的按需服务。例如,系统100可使用关于运输服务请求的信息、关于用户的信息和关于对应于位置数据点的地理区域中可用驾驶员的信息来选择一位驾驶员提供运输服务(340)。在其他按需服务实例中,系统100可选择用于执行递送服务的特定驾驶员、选择用于提供食品服务的食品卖主等。可向用户的客户端装置和驾驶员的驾驶员装置两者提供关于运输服务的信息。

例如,对于运输服务来说,驾驶员应当了解用户指定的接送位置。用户指定接送位置并且可通过图2A或2B所述的反向地理编码过程来接收由系统100识别的街道地址或位置信息。也应当向驾驶员提供此类信息。在一个实施方案中,位置确定110可以用户的优选语言向用户提供地址或位置信息。位置确定110可确定用户的优选语言是否匹配驾驶员的优选语言(350)。如果优选语言匹配,那么位置确定110可将已经确定的地址或位置信息传输到驾驶员的装置(355)。

另一方面,如果用户的优选语言不匹配驾驶员的优选语言,那么位置确定110可(i)执行已确定地址或位置信息的转译,(ii)访问第三方转译服务来执行已确定地址或位置信息的转译,和/或(iii)再次执行反向地理编码过程,所述反向地理编码过程可包括向第三方反向地理编码服务发出反向地理编码请求以得到驾驶员的优选语言的地址或位置信息(360)。可向驾驶员的装置提供驾驶员的优选语言的地址或位置信息(370)。

硬件图

图4是示出可实施本文所述实施方案的计算机系统的框图。例如,在图1的上下文中,可以使用诸如由图4所述的计算机系统来实施系统100。还可以使用如由图4所述的多个计算机系统的组合来实施系统100。

在一个实现方式中,计算机系统400包括处理资源410、主存储器420、只读存储器(ROM)430、存储装置440和通信接口450。计算机系统400包括用于处理信息的至少一个处理器410和用于存储将由处理器410执行的信息和指令的主存储器420,诸如随机存取存储器(RAM)或其他动态存储装置。主存储器420还可用于在执行将由处理器410执行的指令期间存储临时变量或其他中间信息。计算机系统400还可包括ROM 430或用于为处理器410存储静态信息和指令的其他静态存储装置。存储装置440,诸如磁盘或光盘,被提供用于存储信息和指令,包括用于实施图1的系统100的部件的指令。根据一些实例,处理器410可执行存储在ROM 430和/或存储装置440中的指令以便实施用于执行反向地理编码过程(诸如图1至3所述)的逻辑。

通信接口450可使计算机系统400能够通过网络链路(无线或有线)的使用来与一个或多个网络480(例如,蜂窝网络)通信。计算机系统400可使用网络链路来与一个或多个计算装置和一个或多个服务器通信。在一些变形中,计算机系统400可通过网络链路从一个或多个客户端装置接收位置数据点452。位置数据点452可由处理器410处理,以便确定对应于位置数据点452的地址或位置信息。可通过网络480将已确定的地址信息454传输到客户端装置(例如,提供了位置数据点452的所述客户端装置)和/或已被选择来为所述客户端装置的用户提供运输服务的驾驶员的驾驶员装置。

计算机系统400还可包括用于向用户显示图形和信息的显示装置460,诸如阴极射线管(CRT)、LCD监视器或电视机。输入机构470,诸如包括字母数字键和其他键的键盘,可耦合到计算机系统400以将信息和命令选择传送到处理器410。输入机构470的其他非限制性、说明性实例包括鼠标、跟踪球、触敏屏幕或光标方向键,所述光标方向键用于将方向信息和命令选择传送到处理器410并且用于控制显示器460上的光标移动。

本文所述的实例涉及使用计算机系统400来实施本文所述的技术。根据一个实施方案,响应于处理器410执行主存储器420中所包含的一个或多个指令的一个或多个序列,那些技术由计算机系统400执行。此类指令可从另一个机器可读介质诸如存储装置440读入主存储器420中。执行主存储器420中所包含的指令序列致使处理器410执行本文所述的过程步骤。在替代性实现方式中,硬接线电路可代替软件指令或与软件指令组合使用来实施本文所述的实例。因此,所述实例不限于硬件电路和软件的任何具体组合。

图5是示出可实施本文所述实施方案的移动计算装置的框图。在一个实施方案中,计算装置500可对应于能够进行电话服务、消息接发和数据服务的移动计算装置,诸如蜂窝装置。计算装置500可对应于客户端装置或驾驶员装置。此类装置的实例包括蜂窝运营商的智能电话、手持机或平板装置。计算装置500包括处理器510、存储器资源520、显示装置530(例如像触敏显示装置)、一个或多个通信子系统540(包括无线通信子系统)、输入机构550(例如,输入机构可包括触敏显示装置或可以是触敏显示装置的一部分)和一个或多个位置检测机构(例如,GPS部件)560。在一个实例中,通信子系统540中的至少一个通过数据信道和语音信道发送和接收蜂窝数据。

处理器510被配置有执行利用诸如由图1至4和本申请的其他处描述的实现方式所述的一个或多个过程、步骤和其他功能的软件和/或其他逻辑。处理器510被配置来利用存储在存储器资源520中的指令和数据操作如图1至4所述的服务应用。例如,用于操作服务应用以便显示用户界面的指令可存储在计算装置500的存储器资源520中。

用户可在计算装置500上操作服务应用,以便可(例如,使用GPS部件560)为所选择位置确定位置数据点565。可通过通信子系统540来将位置数据点565无线地传输到系统。所述系统可执行反向地理编码过程来确定对应于位置数据点565的地址或位置信息并且将已确定的地址或位置信息传输到计算装置500。处理器510可处理地址信息545来将作为用户界面515的一部分的地址提供在显示器530上。

例如,处理器510可通过执行存储在存储器资源520中的指令和/或应用来将各种内容提供到显示器730。可由处理器510提供一个或多个用户界面515,诸如用于服务应用的用户界面,所述一个或多个用户界面515可包括所接收地址信息545。虽然图5针对移动计算装置进行说明,但是可在其他类型的装置上实施一个或多个实施方案,所述装置包括全功能计算机,诸如膝上型计算机和台式计算机(例如,PC)。

可以设想本文所述的实例扩展至本文所述的单独元件和概念(独立于其他概念、思想或系统),以及可以设想实例包括本申请中任意处列举的元件的组合。尽管本文参考附图详细描述实例,但是要理解,概念不限于那些明确的实例。因此,本概念的范围意在由随附权利要求书和其等同物来限定。此外,可设想单独地或作为实例的一部分描述的特定特征可与其他单独描述的特征或其他实例的部分组合,即使其他特征和实例没有提及所述特定特征。因此,即使没有描述这种组合,也应该阻止要求对这种组合的权利。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1