CN101742638A - 提供位置信息的方法、客户端和服务器 - Google Patents
提供位置信息的方法、客户端和服务器 Download PDFInfo
- Publication number
- CN101742638A CN101742638A CN200810217378A CN200810217378A CN101742638A CN 101742638 A CN101742638 A CN 101742638A CN 200810217378 A CN200810217378 A CN 200810217378A CN 200810217378 A CN200810217378 A CN 200810217378A CN 101742638 A CN101742638 A CN 101742638A
- Authority
- CN
- China
- Prior art keywords
- translation
- information
- urban addresses
- positional information
- coordinates
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种提供位置信息的方法,该方法包括步骤:接收客户端发送的位置翻译请求,所述位置翻译请求包括位置信息;根据所述位置翻译请求查询已存储的位置坐标与城市地址的对应关系数据,将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息;向所述客户端返回位置翻译响应,所述位置翻译响应包括翻译后的与位置坐标或城市地址对应的位置信息。本发明实施例通过提供位置翻译服务,使客户端不必存储和更新大量的位置坐标和城市地址之间对应关系数据,另外复杂的位置翻译处理也都由服务器来进行,这种方式尤其适合运算能力和电量有限的移动终端使用。
Description
技术领域
本发明涉及位置业务领域,尤其涉及提供位置翻译的方法、客户端和服务器。
背景技术
随着具有定位能力终端的逐渐普及,目前位置业务发展迅速。在一些标准组织如互联网工程任务组(Internet Engineering Task Force,IETF)和开放移动联盟(Open Mobile Alliance,OMA)制定的位置相关的标准协议中,主要使用两种类型的位置信息:空间坐标和城市地址。
地球上的任何一点都有其相应的空间坐标。空间坐标有两种,一是大地坐标(也称地理坐标),用经纬度坐标进行定位;二是投影坐标,即地球表面上的点投影到平面后的直角坐标。
城市地址(Civic Address)是一种格式化的文本位置信息,如在RFC5139中描述了城市位置信息的格式。城市地址可以包括国家、省(州)、城市、行政区、街道、门牌号、地标和邮编等与位置相关的信息字段。另外也可以用单字段的文本描述来表示城市地址,如“中国广东省深圳市南山区高新科技园南威新软件园3号楼”。这类似于邮政地址,可读性较好。
发明人在实现本发明的过程中发现:现有技术中只能提供单一的位置信息,即或者只提供位置坐标,或者只提供城市地址,用户体验很差。
发明内容
有鉴于此,本发明实施例提出了一种提供位置信息的方法,使用户可以通过位置翻译服务获得位置信息。
本发明实施例还提出了一种客户端,用户使用该客户端可以通过位置翻译服务获得位置信息。
本发明实施例还提出了一种服务器,可以向用户提供位置翻译服务。
本发明实施例提出的技术方案如下:
一种提供位置信息的方法,该方法包括步骤:
接收客户端发送的位置翻译请求,所述位置翻译请求包括位置信息;
根据所述位置翻译请求查询已存储的位置坐标与城市地址的对应关系数据,将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息;
向所述客户端返回位置翻译响应,所述位置翻译响应包括翻译后的与位置坐标或城市地址对应的位置信息。
一种提供位置信息的方法,包括:
客户端发送位置翻译请求,所述位置翻译请求包括位置信息,
接收服务器返回的位置翻译响应,其中,所述位置翻译响应包括与位置坐标或城市地址对应的位置信息,所述与位置坐标或城市地址对应的位置信息由所述服务器根据所述位置翻译请求中的位置信息查询已存储的位置坐标与城市地址的对应关系数据并进行翻译得到的。
一种客户端,包括:
位置信息翻译请求模块,用于发送位置翻译请求,所述位置翻译请求包括位置信息;
位置信息接收模块,用于接收服务器返回的位置翻译响应,其中,所述位置翻译响应包括与位置坐标或城市地址对应的位置信息,所述与位置坐标或城市地址对应的位置信息由所述服务器根据所述位置翻译请求中的位置信息查询已存储的位置坐标与城市地址的对应关系数据并进行翻译得到的。
一种服务器,包括:
消息收发模块,用于接收位置翻译请求,并根据位置翻译请求发送位置翻译响应,所述位置翻译请求包括位置信息,所述位置翻译响应包括与位置坐标或城市地址对应的位置信息;
位置信息翻译处理模块,用于根据所述位置翻译请求中的位置信息查询存储的位置坐标与城市地址的对应关系数据,并进行所述位置信息的翻译处理。
本发明实施例通过在服务器预先存储位置坐标和城市地址之间对应关系数据,客户端通过超文本传输协议(Hypertext Transfer Protocol,HTTP)发送位置翻译请求从服务器获得位置翻译结果,使用户或应用可以得到所需类型的位置信息。通过提供位置翻译服务,使客户端不必存储和更新大量的位置坐标和城市地址之间对应关系数据,另外复杂的位置翻译处理也都由服务器来进行,这种方式尤其适合运算能力和电量有限的移动终端使用。
附图说明
图1为本发明实施例提供位置信息的基本流程图;
图2为本发明实施例将位置坐标翻译为城市地址的流程图;
图3为本发明实施例服务器对位置信息类型为点的经纬度坐标进行翻译处理的流程图;
图4为本发明实施例服务器对位置信息类型为区域的经纬度坐标进行翻译处理的流程图;
图5为本发明实施例从城市地址翻译为位置坐标的流程图;
图6为本发明实施例服务器对位置信息类型为格式化的城市地址进行翻译处理的流程图;
图7为本发明实施例客户端的结构示意图;
图8为本发明实施例客户端的结构示意图;
图9为本发明实施例服务器的结构示意图;
图10为本发明实施例提供位置信息的***结构示意图。
具体实施方式
参照图1,该图是本发明实施例通过位置翻译服务提供位置信息的基本流程图,包括如下步骤:
步骤101、服务器接收客户端发送的位置翻译请求,所述的位置翻译请求中包含位置信息,也可以进一步包括所述位置信息所属的位置类型。位置翻译请求可以基于超文本传输协议如HTTP POST或GET请求消息,该请求消息的请求行或者消息体中包含位置信息和位置类型。
当然,位置坐标和城市地址之间的对应关系数据可以预先存储,可以存储在服务器,也可以存储在其他的地方只要服务器能够获取到就可以。所存储数据中的位置坐标可以是经纬度坐标或平面、投影坐标,本发明建议采用经纬度坐标,通用性较高。坐标值可以为度分秒格式或十进制数值。位置坐标和城市地址之间对应关系数据表中,每个城市地址对应一个点的坐标值,或者一个区域的坐标描述信息。点的坐标比较简单,如经纬度坐标可以是(22.54423,114.057795)。对于区域的坐标描述,如圆、椭圆或多边形等形状的描述可以采用开放地理信息***联盟(Open Geospatial Consortium,OGC)的所制定标准中所规定的地理标记语言(Geography Markup Language,GML)的格式。如一个圆形区域可以用圆心的经纬度<pos>以及圆的半径<radius>来如下表示:
<Circle srsName=″urn:ogc:def:crs:EPSG::4326″>
<pos>36.58085 116.255361</pos>
<radius uom=″urn:ogc:def:uom:EPSG::9001″>
1000
</radius>
</Circle>
位置坐标和城市地址之间的对应关系数据举例如下:
国家 | 省/州 | 城市 | 行政区 | 地标名称 | 坐标描述 |
中国 | 广东 | 深圳 | 南山区 | 威新软件园 | GML格式数据 |
以上仅供示例,数据表中还可以包含其他字段如街道、门牌号等字段。其中坐标一般采用GML格式存储,也可以直接包含经度和纬度两个字段,用来表示一个点,或者区域的中心(或者区域中的任意一点)。直接包含经度和纬度两个字段可以方便进行地理位置的索引和检索查询。
位置类型指明所包含的位置信息是位置坐标还是城市地址。更具体的还指明位置坐标的形状类型,如点、圆或多边形等。城市地址类型除了可以使用GML格式的信息外,还可以使用单字段的文本描述,如“深圳市龙岗区坂田华为基地B1”。这种文本描述是一种可读性较好的信息,基本是自然语言的描述,当然这样虽然方便了用户提供位置信息,但是对于进行翻译处理的服务器,则需要对这种文本描述进行处理,提取其中的位置信息元素,生成GML格式的标准化位置信息字段,如国家、省、城市等字段,以便能够准确的进行翻译处理。对于信息缺失的情况,如上述举例的“深圳市龙岗区坂田华为基地B1”,缺少国家和省这些信息,服务器在收到这样的位置信息时,则可以根据文本描述中的信息检索确定对应缺失的信息,如根据“深圳市”这个信息即可唯一确定并检索到对应的国家和省的信息,即“中国广东省”。
如果根据文本描述中的信息无法唯一确定一个地址,如文本描述中只有
“华为”,这样在翻译处理时,可以先检索出匹配的多个地址,如果匹配的数量太多,则可以只取预设数量的匹配地址。然后对这些匹配的城市地址进行翻译处理,将翻译得到的多个位置坐标和对应的城市地址一起返回给客户端。这样用户和应用可以得到更加全面准确的位置信息,根据需要选择使用其中一个或多个翻译结果。
步骤102、服务器向客户端返回位置翻译响应,所述的位置翻译响应中包含翻译后的位置信息。服务器根据存储的对应关系数据确定翻译结果。如果请求消息中的位置类型为位置坐标,则翻译结果中的位置信息为城市地址;如果位置类型为城市地址,则翻译结果中的位置信息为位置坐标。并在HTTP 200OK响应消息中返回翻译后的位置信息。
本发明另一实施例具体描述了将位置坐标翻译为城市地址。参照图2,包括以下步骤:
步骤201、客户端使用HTTP/HTTPS POST请求方法发送位置翻译请求消息。该位置翻译请求中包含位置类型为位置坐标的位置信息。具体请求消息举例如下:
POST https://lts.example.com:32328/location HTTP/1.1
Accept:application/ltp+xml,application/xml;q=0.8,text/xml;q=0.7
Accept-Charset:UTF-8,*
Content-Type:application/ltp+xml
Content-Length:XXX
<?xml version=″1.0″?>
<location Translation xmlns=″urn:ietf:params:xml:ns:geopriv:ltp″>
<location profile=″geodetic-2d″>
<Point srsName=″urn:ogc:def:crs:EPSG::4326″>
<pos>22.265114.1925</pos>
</Point>
</location>
</locationTranslation>
该请求<locationTranslation>中包含一个点的经纬度位置信息,其中<location>元素的属性“profile”指示该位置信息为二维位置坐标类型,而元素<Point>更进一步指出该位置信息为点的形状类型。其属性“srsName”中还指定了坐标***的类型。
在POST请求方法的消息的内容类型“Content-Type”头字段中包含消息体的类型为位置翻译消息格式如“application/ltp+xml”。
对用户来说,一些地标信息非常有用,因此用户在提交的位置翻译请求中可以包含地标获取指示,要求服务器翻译的城市地址信息中必须包含地标信息字段。如可以在<locationTranslation>元素中用地标属性landMark=“true”来作为指示,这样服务器返回的响应中的城市地址必须包含<LMK>字段。服务器在翻译处理时,也可以只检索具有地标信息的城市地址的对应关系记录数据。
另外还可以在<locationTranslation>元素中用翻译类型属性如“type”明确指定位置翻译的类型。接到位置翻译请求的服务器可以根据其中的翻译类型属性进行翻译处理并生成相应的翻译结果。这样除了从位置坐标与城市地址之间的互相翻译外,还可以允许有更多类型的翻译。如从IP地址翻译为城市地址,下面列举一些翻译类型:
geocoding:从城市地址翻译为经纬度坐标。
reverseGeocoding:从经纬度坐标翻译为城市地址。
lampPostcodeToGeocode:从灯柱编号翻译为经纬度坐标。实际上属于从城市地址翻译为经纬度坐标的一种子类型,只是位置翻译请求中必须包含灯柱编号,服务器在翻译处理时,可以忽略除灯柱编号、国家和城市之外的其他地址字段。
geocodeToPostcode:从经纬度坐标翻译为邮政编码。实际上属于从经纬度坐标翻译为城市地址的一种子类型,只是服务器返回的翻译结果中可以只包含邮政编码即可。
geocodeToLandmark:从经纬度坐标翻译为地标。实际上属于从经纬度坐标翻译为城市地址的一种子类型,只是服务器返回的翻译结果中必须包含地标信息。通常地标都是一些比较著名的景点和标志性的建筑物等。
步骤202、服务器接收到该位置翻译请求后,对其中的位置坐标信息进行翻译处理。由于服务器的数据库中不能存储地球上每一个点的位置信息,只是记录某些点的经纬度坐标和城市地址的对应关系。因此服务器进行翻译处理时,首先要确定位置翻译请求中的坐标信息与数据库中比较接近的所匹配的坐标。然后将所匹配的坐标对应的城市地址作为翻译结果。
如果位置翻译请求中的位置信息的类型为点的经纬度坐标,则服务器通过检索和计算获得与该点(命名为点A)最为接近的数据库中所存储的城市地址。如数据库中所存储的城市地址都对应存储有坐标信息,通过计算这些坐标和位置翻译请求中点A的坐标之间的距离,可以在数据库找到最为接近的一个或多个城市地址。有的城市地址有对应的点的位置坐标,则通过计算两点间的距离即可。有的城市地址有对应的区域的坐标描述,则判断该请求中的点A是否落入区域内,如果落入区域内或其边界上则距离计为零,否则计算点A与区域边界的最短距离,将此最短距离作为点A与城市地址的距离。服务器将与点A距离最小的城市地址作为翻译结果。服务器对位置信息类型为点的经纬度坐标进行翻译处理的具体步骤参见图3所示,主要包括步骤:
202-01、获取位置翻译请求中的点的经纬度坐标。
202-02、通过检索和计算获得与该点距离最为接近的城市地址。如果位置翻译请求中要求返回地标信息,则只在具有地标的城市地址对应的点中选择距离最近的。当然为了不使偏差过大,即有可能最近的地标离请求中的点很远,返回这样的地标意义也不大,则可以预设一个范围值如1000米以内,如果数据库内在该点1000米以内没有含地标的城市地址,则不必返回地标信息。还可以在返回的响应中包含没有返回地标信息的原因说明。另外在位置翻译请求中也可以给定一个范围值,只返回该范围值以内的最近地标的信息。
202-03、将获得的城市地址和其对应的精确的坐标信息一起包含在翻译结果中。
如果位置翻译请求中的位置信息的类型为区域的经纬度坐标描述,则服务器从数据库中获取该区域内的点坐标对应的城市地址,或者与该区域有重叠的城市地址。举例说明,如数据库中一个城市地址“中国/广东省/深圳市/龙岗区/坂田/华为基地/B1”有对应关系的点的经纬度坐标为(22.215,114.1325),如果经计算该点落入了位置翻译请求中的区域,则可以将对应的城市地址包含在翻译结果中。如果数据库中一个城市地址“中国/广东省/深圳市/龙岗区”有对应关系的区域坐标描述,并且经计算该区域和位置翻译请求中的区域有重叠,则也可以包含在翻译结果中。但服务器最好避免翻译结果中同时出现两个具有包含关系的城市地址,如果出现,则可以取其中区域较小的那个城市地址返回。或者可以将与位置翻译请求中的区域重叠比例最大的那个城市地址返回,举例说明,如果城市地址对应的点落入了位置翻译请求中的区域,则重叠比例为100%,在外部则为零;如果城市地址对应区域,则用重叠部分的面积除以该城市地址对应区域的面积得到重叠比例。这样可以尽量保证比较准确的返回最为接近的城市地址信息。服务器对位置信息类型为区域的经纬度坐标进行翻译处理的具体步骤参见图4所示,主要包括步骤:
202-11、获取位置翻译请求中的区域的经纬度坐标描述信息。
202-12、通过检索和计算从数据库中获得与该区域重叠比例最大的城市地址。
202-13、将获得的城市地址和其对应的精确的坐标描述信息一起包含在翻译结果中。
步骤203、客户端接收服务器返回的200 OK响应消息。该响应消息中包含翻译后的城市地址。可以包含一个或多个城市地址,当包括多个城市地址时,最好同时包括各个城市地址对应的精确的坐标信息。响应消息举例如下,为简明起见,本文中的消息例子都省略了部分熟知的内容:
HTTP/1.1200OK
Server:Example LTS
Content-Type:application/ltp+xml
<?xml version=″1.0″?>
<locationTranslationResponse
xmlns=″urn:ietf:params:xml:ns:geopriv:ltp″>
<civicAddress>
<country>CN</country>
<A1>GD</A1>
<A3>Shenzhen</A3>
<A4>Longgang</A4>
<NAM>Huawei Base</NAM>
<PC>518129</PC>
</civicAddress>
</locationTranslationResponse>
该位置翻译响应<locationTranslationResponse>中包含一个城市地址<civicAddress>,其中包括国家<country>,省<A1>等字段信息。字段信息中国家、省或城市的名字可以用全称或缩写等。
响应消息中还可以包含城市地址对应的精确的经纬度坐标信息,这样客户端可以据此计算和显示请求中的点与返回的翻译后的城市地址之间的相对位置关系,如距离,方位等。
本发明再一实施例描述了从城市地址翻译为位置坐标。参见图5,具体包括以下步骤:
步骤301、客户端使用HTTP/HTTPS POST请求方法发送位置翻译请求消息。该位置翻译请求中包含位置类型为城市地址的位置信息。具体请求消息举例如下:
POST http://lts.example.com:32328/location HTTP/1.1
Accept:application/ltp+xml,application/xml;q=0.8,text/xml;q=0.7
Content-Type:application/ltp+xml
<?xml version=″1.0″?>
<locationTranslation xmlns=″urn:ietf:params:xml:ns:geopriv:ltp″>
<civicAddress>
<country>CN</country>
<A1>GD</A1>
<A3>Shenzhen</A3>
<A4>Longgang</A4>
<NAM>Huawei Base</NAM>
</civicAddress>
</locationTranslation>
该请求<locationTranslation>中包含城市地址信息<civicAddress>,其中包括国家<country>,省<A1>等地址信息。
除了使用格式化的城市地址外,还可以使用文本描述的城市地址,位置翻译请求消息体的内容举例如下:
<locationTranslation xmlns=″urn:ietf:params:xml:ns:geopriv:ltp″>
<textAddress>北京市海淀区上地信息路3号</textAddress>
</locationTranslation>
如在工商行政管理局等网站可以查询获取企业信息,其中包括企业的地址信息,该地址信息通常为文本描述,如“北京市海淀区上地信息路3号”。客户端在获得这样的文本地址后,可以通过位置翻译服务获取该企业对应的具体地理位置坐标,然后可以根据位置坐标在地图上进行显示或标注等。
工商行政管理局可以自己或者通过合作方式向公众提供企业的位置查询,利用企业登记注册的企业名称、经营范围和地址等注册信息,将地址翻译为坐标,然后显示在地图上提供给公众。如应用服务器根据用户客户端提供的关键词在注册信息中检索匹配的记录,并将匹配企业记录的地址翻译为位置坐标,然后将位置坐标所在区域的地图以及在相应位置添加上企业名称标注后返回给用户的客户端。其中的翻译方式可以是应用服务器向翻译服务器发送位置翻译请求来获得文本地址的位置坐标。也可以由应用服务器将企业地址翻译后对应的位置坐标存储在本地直接使用即可。
由于工商行政管理局存储的企业注册信息非常准确、全面,以此为基础利用位置翻译和地图服务,将会为公众提供生活、娱乐或商业等各方面的便利。业务运营者可以购买企业注册信息,来快速构建相应的服务,而不必自己去搜集和录入企业信息。
另外这种文本地址也可以由用户输入,如只输入简单的单位名称“华为”,这样的地址信息可能不够完整准确,最终无法唯一确定翻译结果,可能会得出多个翻译结果。
步骤302、服务器接收到该位置翻译请求后,对其中的城市地址信息进行翻译处理。一般如果一个城市地址信息比较完整,可以唯一确定该城市地址对应的位置坐标信息,包括点或者区域的坐标。如果请求中的城市地址不完整,则可能在翻译处理时会匹配到多个对应的位置坐标信息。
如果位置翻译请求中的城市地址为格式化的地址信息,则在数据库中直接检索对应匹配的城市地址,将匹配度最高的城市地址对应的位置坐标作为翻译结果。所说的匹配度可以根据具有相同格式化地址字段值的数量来判断,相同的地址字段值的数量越多,则匹配度越高。另外为了提高匹配的精确度,由于不同地址字段对确定地理位置的贡献性不同,可以对不同的字段赋予不同的值来计算匹配度,如国家<country>的贡献小于城市<A3>,一般层级越低的地址信息越精确贡献越大。具体举例说明,如果国家<country>字段匹配则匹配度值加0.5,如果城市<A3>字段匹配则匹配度值加1。如此累加所有匹配字段对应的匹配度值后得到最终的匹配度。这样可以尽量保证优先返回精度较高的位置坐标信息,而不是返回一个较大的区域范围信息。本发明实施例也不限定采用其他的方法来计算匹配度。
在匹配时有些情况还可以忽略一些字段,如当城市地址中包含灯柱编号时,结合国家、城市即可唯一确定一个精确的经纬度坐标,其他字段都可以在匹配时进行忽略。所述的灯柱编号在中国很多城市都有部署,在街道两旁的灯柱或电线杆上涂有“110”字样,并竖向喷涂有一个号码,如“1020004”。在一个城市内,该编号唯一,在报警时用于通过这个号码进行精确的定位。当然这种号码也可以用于其他各种位置业务应用中。通过位置翻译服务,可以得到灯柱编号对应的经纬度坐标,这样可以使用户使用很多无法直接用灯柱编号的位置业务应用。
服务器对位置信息类型为格式化的城市地址进行翻译处理的具体步骤参见图6所示,主要包括步骤:
302-01、获取位置翻译请求中的格式化的城市地址信息。
302-02、通过检索和计算从数据库中获得与该城市地址匹配度最高的城市地址。
302-03、将获得的城市地址和其对应的坐标描述信息一起包含在翻译结果中。对应点的坐标描述信息可以包含点的经纬度坐标,对应区域的坐标描述信息如圆可以包括圆心的经纬度坐标以及半径值。一般普通建筑物的城市地址,可以对应点的坐标即可。而较大的建筑物、建筑群或园区等地理元素可以用区域的坐标描述信息,如北京故宫可以用多边形区域来描述。
另外如果位置翻译请求中的格式化的城市地址不完整(如缺少邮编),或者不精确(如可能拼写错误或错别字等),则服务器还可以在返回翻译后的坐标时同时返回数据库中对应的完整精确的格式化的城市地址。
如果位置翻译请求中的城市地址为文本地址,则服务器可以先提取该文本地址中地址元素,如逐一与存储的格式化地址字段比较,将该文字地址进行格式化处理后,再使用格式化后得到的城市地址从数据库中检索匹配度最高的城市地址的位置坐标信息。或者直接用该文本地址与数据库中的每条记录中的格式化地址信息进行匹配计算匹配度。具体的,如果一条记录中有3个字段都包含在该文本地址中则累积的匹配度可以计为3。不同的字段也可以采用不同的匹配值。
另外文本地址中也可以只包含邮编如“518129”,服务器则将邮编对应区域的位置坐标描述信息返回。
步骤303、客户端接收服务器返回的包含位置坐标的200OK响应消息。该响应的消息体中包含翻译后的位置坐标。可以包含一个或多个位置坐标。响应消息举例如下:
HTTP/1.1 200 OK
Server:Example LTS
Content-Type:application/ltp+xml
<?xml version=″1.0″?>
<locationTranslationResponse
xmlns=″urn:ietf:params:xml:ns:geopriv:ltp″>
<location profile=″geodetic-2d″>
<Point srsName=″urn:ogc:def:crs:EPSG::4326″>
<pos>22.215114.2925</pos>
</Point>
</location>
</locationTranslationResponse>
对于城市地址为文本地址,最好返回位置坐标的同时也返回坐标对应的格式化的城市地址信息。因为格式化的城市地址更适合用户客户端或应用等计算机***进行进一步的处理。
另外在响应消息中还可以包括地图链接,用户客户端的浏览器可以通过该地图链接获取位置信息所在的地图。包含地图链接如<mapURL>的响应消息举例如下:
<locationTranslationResponse
xmlns=″urn:ietf:params:xml:ns:geopriv:ltp″>
<location profile=″geodetic-2d″>
<Point srsName=″urn:ogc:def:crs:EPSG::4326″>
<pos>22.215 114.2925</pos>
</Point>
</location>
<mapURL>http://map.example.com/a40j5hjsa3qian</mapURL>
</locationTranslationResponse>
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在运行时,执行上述实施例方法中的全部或部分步骤。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
如图7所示,客户端可以包括:位置信息翻译请求模块701,位置信息接收模块702和界面接口模块704。其中位置信息翻译请求模块701用于通过HTTP/HTTPS协议如POST请求方法发送位置翻译请求消息。位置信息接收模块702用于接收服务器返回的包含翻译结果的200 OK响应消息,也可以进一步将响应消息显示给用户。界面接口模块704用于接收进行位置信息翻译的指示,以及输入的待翻译的位置信息,并传送给位置信息翻译请求模块701。当然,所述客户端也可以进一步包括位置信息存储模块703,所述位置信息存储模块703用户存储位置信息接收模块702获得的翻译结果。界面接口模块704还可以根据位置信息存储模块703中存储的位置信息如城市地址和位置坐标在界面如浏览器或者卫星地图浏览程序上显示相应的地图,在地图上的相应坐标处可以标注有对应的城市地址信息。
如图8所示,客户端的界面接口模块704还可以包括浏览器模块705,其中包含一个位置对象706,所述位置对象706提供相应的应用程序接口(Application Programming Interface,API)用于获取客户端的位置信息如经纬度坐标,并提供给Web应用。Web应用在通过调用位置对象706的应用程序接口得到用户的位置信息后还可以通过位置信息翻译请求模块701获得所需位置类型的位置信息。也可以由Web应用的服务器侧通过位置翻译服务将得到的位置信息翻译为所需的类型,然后Web应用的服务器侧使用翻译后的位置信息进行处理。
浏览器模块705还可以包括鉴权模块,用于对客户端位置信息的访问进行控制。用户可以通过鉴权模块来配置哪些Web应用可以访问位置信息即使用位置对象706,以及所提供位置信息的精确度。如用户可以配置默认所有的Web应用都可以获得城市级别精度的位置信息,而某个具体的社交应用则可以获得行政区级别精度的位置信息。在Web应用调用位置对象706访问位置信息时,鉴权模块根据上述配置进行鉴权确定该Web应用是否可以获取位置信息以及可以获取何种精度的位置信息,这样通过鉴权控制可以使某些Web应用只能获知用户所在城市,而无法获得更精确的位置信息,有效保护了用户的隐私。
现在很多图片如JPG格式图片在EXIF(Exchangeable Image File Format)信息中都包含有位置信息如经纬度坐标,Web应用可以利用这个位置信息,如在网页显示图片时,当检测到鼠标移动到该图片上时,提取该图片中的经纬度坐标,然后同时显示该坐标对应的地图,或者通过位置翻译服务发送位置翻译请求获得该坐标对应的城市地址后以浮动文本的形式显示。浏览器模块705还可以包括一个图像(Image)对象,该图像对象对应提供的应用程序接口中包括EXIF信息提取接口,这样Web应用在网页的脚本如JavaScript语言脚本中利用该图像对象的EXIF信息提取接口获取图片的位置信息并显示地图或翻译后的城市地址的浮动文本。
如图9所示,服务器可以包括:消息收发模块901,位置信息翻译处理模块902和位置信息对应关系数据存储模块903。其中消息收发模块901用于接收和发送位置翻译请求,如接收和发送基于HTTP/HTTPS协议的位置翻译请求和响应消息。位置信息翻译处理模块902用于根据消息收发模块901获得的位置翻译请求消息进行位置信息翻译处理,从位置信息对应关系数据存储模块903中获取匹配的信息,并将翻译结果由消息收发模块901包含在响应消息中返回。位置信息对应关系数据存储模块903用于存储位置信息的对应关系数据。位置信息翻译处理模块902进行的具体翻译处理可以参见上面的实施例,此处不再赘述。
服务器还可以包括互联接口模块。当一个服务器在本地无法得到翻译结果时,位置信息翻译处理模块902可以通过互联接口模块向其他互联的服务器发送位置翻译请求,互联接口模块从互联的服务器获得翻译结果,然后由消息收发模块901包含在响应消息中返回给客户端。互联服务器的列表可以预先配置在服务器中。如在一个全国性的位置翻译服务器中,可能对某个区域如深圳市的位置信息没有记录,则可以将翻译请求转发给区域性如深圳市的位置翻译服务器,通常区域性的位置翻译服务器中存储有更为详细的位置信息记录。或者接收位置翻译请求的是北京市的位置翻译服务器,而用户请求翻译的位置信息是属于深圳区域的,则可以将该请求转发给深圳市的位置翻译服务器。服务器中可以预先配置互联服务器地址和区域的对应关系列表,据此选择相应区域的位置翻译服务器进行位置翻译请求的转发。通过互联接口可以使位置坐标和城市地址之间的对应关系数据按区域进行分布式的存储,以及翻译处理分布式计算。
如图10所示,本发明实施例的提供位置信息的***可以包括,客户端1001和服务器1002,其中:所述客户端1001用于向服务器1002发送位置翻译请求,并接收服务器1002返回的位置翻译响应,所述位置翻译请求包括位置信息及所述位置信息的位置类型,所述位置翻译响应包括翻译后的位置信息;
所述服务器1002用于存储位置坐标与城市地址的对应关系数据,接收所述位置翻译请求,并根据所述位置翻译请求发送位置翻译响应,并根据所述位置翻译请求查询所述位置信息对应关系存储模块存储的对应关系数据,并进行所述位置信息的翻译处理。其中本实施例的客户端1001和服务器1002的相关结构可以具体参见上述的客户端和服务器的相关结构,此处不再赘述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种提供位置信息的方法,该方法包括步骤:
接收客户端发送的位置翻译请求,所述位置翻译请求包括位置信息;
根据所述位置翻译请求查询已存储的位置坐标与城市地址的对应关系数据,将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息;
向所述客户端返回位置翻译响应,所述位置翻译响应包括翻译后的与位置坐标或城市地址对应的位置信息。
2.根据权利要求1所述的方法,其特征在于,
所述位置翻译请求包括的位置信息为与所述位置类型对应的经纬度坐标、平面坐标或投影坐标,其中:
将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息包括:
根据所述位置坐标将所述经纬度坐标、平面坐标或投影坐标翻译为与所述位置坐标对应的城市地址。
3.根据权利要求1或2所述的方法,其特征在于,
所述位置翻译请求中位置信息为某个点的经纬度坐标,其中:
根据所述位置翻译请求查询已存储的位置坐标与城市地址的对应关系数据,将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息,具体包括:
查询已存储的位置坐标与城市地址的对应关系数据获得与所述点距离最接近的城市地址。
4.根据权利要求1或2所述的方法,其特征在于,
所述位置翻译请求中的位置信息为某个区域的经纬度坐标,其中:
根据所述位置翻译请求查询已存储的位置坐标与城市地址的对应关系数据,将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息,具体包括:
查询已存储的位置坐标与城市地址的对应关系数据获得与所述区域重叠比例最大的城市地址。
5.根据权利要求3或4所述的方法,其特征在于,
所述翻译后的位置信息具体包括所述获得的所述城市地址和/或与城市地址对应的坐标信息。
6.根据权利要求1所述的方法,其特征在于,
所述位置翻译请求中的位置信息为城市地址,所述位置翻译请求包括的位置信息为与所述位置类型对应的城市地址信息,其中:
将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息包括:
根据所述城市地址将所述城市地址信息翻译为与所述城市地址对应的经纬度坐标、平面坐标或投影坐标。
7.根据权利要求2所述的方法,其特征在于,
所述翻译请求中包括地标获取指示,所述城市地址包括所述地标信息字段。
8.根据权利要求1或6所述的方法,其特征在于,
所述城市地址信息为格式化的城市地址信息,其中:
根据所述位置翻译请求查询已存储的位置坐标与城市地址的对应关系数据,将所述翻译请求中的位置信息翻译为与位置坐标或城市地址对应的位置信息,具体包括:
查询已存储的位置坐标与城市地址的对应关系数据获得与所述城市地址匹配度最高的城市地址。
9.根据权利要求8所述的方法,其特征在于,
所述翻译后的位置信息具体包括所述获得的所述城市地址和/或与城市地址对应的坐标信息。
10.根据权利要求1或2所述的方法,其特征在于,
所述位置翻译请求包括位置翻译的类型,位置翻译的类型包括从城市地址翻译为经纬度坐标、从经纬度坐标翻译为城市地址和从灯柱编号翻译为经纬度坐标,其中:
根据所述位置类型将所述位置信息翻译为与所述位置类型与位置坐标或城市地址对应的位置信息具体包括:根据所述位置翻译的类型将所述位置信息翻译为与所述位置翻译类型对应的位置信息。
11.一种提供位置信息的方法,包括:
客户端发送位置翻译请求,所述位置翻译请求包括位置信息,
接收服务器返回的位置翻译响应,其中,所述位置翻译响应包括与位置坐标或城市地址对应的位置信息,所述与位置坐标或城市地址对应的位置信息由所述服务器根据所述位置翻译请求中的位置信息查询已存储的位置坐标与城市地址的对应关系数据并进行翻译得到的。
12.一种客户端,包括:
位置信息翻译请求模块,用于发送位置翻译请求,所述位置翻译请求包括位置信息;
位置信息接收模块,用于接收服务器返回的位置翻译响应,其中,所述位置翻译响应包括与位置坐标或城市地址对应的位置信息,所述与位置坐标或城市地址对应的位置信息由所述服务器根据所述位置翻译请求中的位置信息查询已存储的位置坐标与城市地址的对应关系数据并进行翻译得到的。
13.根据权利要求12所述的客户端,其特征在于,进一步包括:
界面接口模块,用于接收进行位置翻译的指示及待翻译的位置信息,并传送给所述位置翻译请求模块。
14.一种服务器,包括:
消息收发模块,用于接收位置翻译请求,并根据位置翻译请求发送位置翻译响应,所述位置翻译请求包括位置信息,所述位置翻译响应包括与位置坐标或城市地址对应的位置信息;
位置信息翻译处理模块,用于根据所述位置翻译请求中的位置信息查询存储的位置坐标与城市地址的对应关系数据,并进行所述位置信息的翻译处理。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810217378A CN101742638A (zh) | 2008-11-19 | 2008-11-19 | 提供位置信息的方法、客户端和服务器 |
PCT/CN2009/073786 WO2010063189A1 (zh) | 2008-11-19 | 2009-09-07 | 提供位置信息的方法、客户端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810217378A CN101742638A (zh) | 2008-11-19 | 2008-11-19 | 提供位置信息的方法、客户端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101742638A true CN101742638A (zh) | 2010-06-16 |
Family
ID=42232879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810217378A Pending CN101742638A (zh) | 2008-11-19 | 2008-11-19 | 提供位置信息的方法、客户端和服务器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101742638A (zh) |
WO (1) | WO2010063189A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469122A (zh) * | 2010-11-05 | 2012-05-23 | 联想(北京)有限公司 | 一种电子设备及其位置信息传输方法 |
CN102654848A (zh) * | 2011-03-03 | 2012-09-05 | 中兴通讯股份有限公司 | 一种实现移动终端自动记日记的方法及装置 |
CN103530288A (zh) * | 2012-07-02 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种兴趣点分布范围的测试方法和装置 |
CN103634740A (zh) * | 2012-08-29 | 2014-03-12 | 深圳市智慧宇宙科技有限公司 | 一种地理位置信息录入的方法、装置及终端设备 |
CN108694394A (zh) * | 2018-07-02 | 2018-10-23 | 北京分音塔科技有限公司 | 人脸识别的翻译机、方法、装置及存储介质 |
CN116761137A (zh) * | 2023-06-19 | 2023-09-15 | 湖南省健缘医疗科技有限公司 | 一种治疗设备防窜货管理方法、装置及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108765045B (zh) * | 2018-03-29 | 2020-11-10 | 创新先进技术有限公司 | 车辆使用中跨语言的处理方法和装置 |
CN112052407B (zh) * | 2020-08-28 | 2024-05-03 | 深圳市彬讯科技有限公司 | 业务区域查询方法、装置、计算机设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6295528B1 (en) * | 1998-11-30 | 2001-09-25 | Infospace, Inc. | Method and apparatus for converting a geographic location to a direct marketing area for a query |
JP3514197B2 (ja) * | 2000-01-12 | 2004-03-31 | 日本電気株式会社 | 道案内説明装置及び道案内説明システム |
CN1731394A (zh) * | 2005-08-18 | 2006-02-08 | 上海交通大学 | 具有智能查询功能的城市电子地图***的实现方法 |
CN2921854Y (zh) * | 2006-04-20 | 2007-07-11 | 张智勇 | 一种用于定位、信息服务和控制的装置 |
CN101271545A (zh) * | 2008-04-28 | 2008-09-24 | 陈俊林 | 一种城市网格坐标定位编号报警方法及其定位标识设施 |
-
2008
- 2008-11-19 CN CN200810217378A patent/CN101742638A/zh active Pending
-
2009
- 2009-09-07 WO PCT/CN2009/073786 patent/WO2010063189A1/zh active Application Filing
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469122A (zh) * | 2010-11-05 | 2012-05-23 | 联想(北京)有限公司 | 一种电子设备及其位置信息传输方法 |
CN102654848A (zh) * | 2011-03-03 | 2012-09-05 | 中兴通讯股份有限公司 | 一种实现移动终端自动记日记的方法及装置 |
CN103530288A (zh) * | 2012-07-02 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种兴趣点分布范围的测试方法和装置 |
CN103530288B (zh) * | 2012-07-02 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 一种兴趣点分布范围的测试方法和装置 |
CN103634740A (zh) * | 2012-08-29 | 2014-03-12 | 深圳市智慧宇宙科技有限公司 | 一种地理位置信息录入的方法、装置及终端设备 |
CN108694394A (zh) * | 2018-07-02 | 2018-10-23 | 北京分音塔科技有限公司 | 人脸识别的翻译机、方法、装置及存储介质 |
CN116761137A (zh) * | 2023-06-19 | 2023-09-15 | 湖南省健缘医疗科技有限公司 | 一种治疗设备防窜货管理方法、装置及存储介质 |
CN116761137B (zh) * | 2023-06-19 | 2024-05-28 | 湖南省健缘医疗科技有限公司 | 一种治疗设备防窜货管理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2010063189A1 (zh) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101742638A (zh) | 提供位置信息的方法、客户端和服务器 | |
US9110982B1 (en) | Method, system, and computer program product for obtaining crowd-sourced location information | |
US10089653B2 (en) | System and method for estimating mobile device locations | |
CN112398895B (zh) | 提供服务信息的方法及装置 | |
CN103220376B (zh) | 利用移动终端的位置数据来定位ip位置的方法 | |
CN103703458B (zh) | 创建并监视针对地理区域的警告的方法及*** | |
US7940171B2 (en) | Machine-readable representation of geographic information | |
US20090292464A1 (en) | System and method for providing geographic markers on electronic objects and real-world objects | |
US20080281510A1 (en) | Recommending actions based on context | |
KR20100030906A (ko) | 광고 등록 참고 정보를 이용하여 전자지도 상에 광고를 등록하는 방법 | |
CN103714311A (zh) | 基于定位二维码的城市导航***构建方法以及导航*** | |
CN103425655A (zh) | 基于位置服务的场馆信息搜索方法和装置 | |
CN104077322A (zh) | 基于问题的地理信息挖掘方法及*** | |
CN101860793A (zh) | 地理感知电子装置及其服务*** | |
CN105592120A (zh) | 提供地理位置信息的方法及装置 | |
JP5849155B2 (ja) | ユーザコンテンツの取得方法及び取得システム | |
CN201699989U (zh) | 地理感知电子装置及其服务*** | |
CN101207880A (zh) | 一种基于服务器客户机模式的手机指路导航*** | |
CN103902555A (zh) | 兴趣点分享方法、装置和*** | |
Mabrouk et al. | Opengis location services (openls): Core services | |
KR101213132B1 (ko) | 공간객체 정보를 저장한 코드패턴, 코드패턴 생성기, 코드패턴을 이용한 지리정보표시시스템 및 그에 따른 방법 | |
CN105095487A (zh) | 电子商务网点信息管控方法 | |
CN104463048A (zh) | 一种基于定位二维码的门牌***及实现方法 | |
JP2008250404A (ja) | ブックマーク管理装置、ブックマーク管理方法及びコンピュータプログラム | |
JP5617027B1 (ja) | 情報管理システム及び情報管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100616 |