法40可被用户将缔度和经度坐标转换为 =词序列位置标识符和将=词序列位置标识符转换为缔度和经度坐标。
[0116] 小区和位置值转换步骤51将缔度和经度坐标转换为四个为整数的小区和位置值 X、Y、X、y,反之亦然。
[0117] 吸引力评级步骤52将四个整数小区和位置值X、Y、x、y转换为单一整数值n,W及 反之亦然。
[0118] 洗牌(shuffling)和逆洗牌(unshuffling)步骤53将整数n转换为一不同的整 数m,W及反之亦然。
[0119] 分裂和组合步骤54将整数m转换为S个整数i、j、k,反之亦然。
[0120] 词转换步骤55将整数i、j、k中的每一个整数转换为一个词,反之亦然。
[0121] 通过在第一向前的序列51-52-53-54-55方向上执行每个步骤,该算法将缔度和 经度坐标转换为S词序列位置标识符。通过在第二逆向的序列55-54-53-52-51方向上执 行每个步骤,该算法将=词序列位置标识符转换为缔度和经度坐标。
[0122] 下面将更详细地描述算法的不同步骤51至55。在运里按将缔度和经度坐标转换 为=词序列位置标识符的顺序对运些步骤进行描述。
[0123] 小区转换步骤51将精确到6个小数位的缔度和经度坐标(例如,GI^坐标)转换 为四个整数小区和位置值X、Y、X、y,反之亦然。本发明将世界表面划分为大约3. 7*107个 小区阵列或网格,即大约S千屯百万。在赤道处,运些小区为边长大约为4. 64km的正方形, 即大约5km。由于地球的近似球面的形状,运些小区的大小的形状都会变化,在北到南方向 上小区在宽度上大约为常数,在东到西方向上宽度会发生改变,小区东到西的尺寸通常在 不断远离赤道的位置不断变小。尽管如此,由于缔度和经度坐标W及小区都是W角术语定 义的,因此,运并不会影响到该转换的精确度。
[0124] 一对整数小区值X和Y标识位置位于哪个小区,而一对整数位置值X和y表示位 置位于那个小区的哪个地方。具体地,一对整数位置值X和y在由一对整数小区值X和Y 确定的小区中确定一具体的3mX3m盒子。因此,一对整数小区值X和Y为一小区网格形式 定义的坐标,而一对整数位置值X和y为一小区中的一坐标。因此,四个整数值X、Y、x、y可 被称为小区和位置值。基于小区面积,小区被指派为包括位置值X、y的不同范围,运样,具 有较大面积的小区分配有大量的位置值x、y。因此,基于运个原因,小区东到西的尺寸通常 在不断远离赤道的位置不断变小也不会影响到该转换的精确度。因此,具有较大面积的小 区包括更多数量的可标识位置,运样,每个可标识位置的面积的粒度或尺寸大约为常数。越 靠近赤道的小区通常会被分配更大数量的位置值X、y和可标识位置。
[0125] 在将缔度和经度坐标转换为=词序列时使用的第一、向前方向上,W下公式可被 用于计算小区和位置值X、Y、X和y。
[0126] X=floor((经度+180)巧4) (1)
[0127] Y=floor((缔度+90)巧4) 似
[012引X=fIoor(W(Y)*frac((经度 +180)巧4)) (3)
[0129]其中,W(Y) =max(l,floor(1546*cos((Y+0. 5)/24-90)))。
[0130] y=fIoor(1546*frac((缔度 +90)巧4)) (4)
[0131] 其中,一个实数的向下取整(floor)为少于该实数的最大整数或等于该实数。实 数q的小数部分为q-fIoor(q),我们将该运算式写成化ac(q)。更加非正式地,一个实数的 向下取整为小数点的前面部分,小数部分则为小数点的后面部分。(因此,fl〇〇r(3. 1415) =3W及frac(3. 1415) = 0. 1415)。
[0132] 在=词序列转换为缔度和经度坐标使用的第二逆向方向上,W下公式可被用于计 算缔度和经度值:
[0133]缔度=(Y+((y+0. 5)/1546))/24-90 (5)
[0134]经度=狂+ ((X+0. 5) /(W灯)))/24-180 (6)
[013引 同样,W(Y) =max(1,floor(1546*cos((Y+0.f5)/24-90)))。
[0136] 尽管该小区转换步骤51是可逆的,然而该可逆不完全可逆,是一个不完美的可 逆。也就是说,如果原始的缔度和经度坐标被转换为整数的小区和位置值,且之后再转换回 得到一缔度和经度坐标,该缔度和经度坐标与原始的缔度和经度坐标会稍微不同。尽管如 此,在实际中,该不同是非常小的,最大大约为2.Im,在示出的由=词序列表示的位置识别 粒度为大约3m乘W3m示例中不会产生问题。该不完美可逆性部分是由于缔度和经度坐标 是实数,而小区和位置值是整数的原因导致的。
[0137] 吸引力评级步骤52将四个整数小区值X、Y、X、y转换为单一整数值n,反之亦然。 整数值n被称为吸引力等级。如前面关于小区转换步骤51的描述,每对整数小区值X和Y 标识一特定小区,赤道处的每个小区近似为5km乘W5km的正方形。如前所述,小区的形状 和尺寸在不同位置会发生改变。整数值n为分配给一小区的值,表明了相对度或相对量,即 系统用户期望去识别该小区中的位置,换句话说,小区的吸引力。例如,相对于用户期望识 别荒野区(例如,撒哈拉沙漠)中一小区的位置,更多用户期望识别大城市(例如,伦敦) 中部一小区中的位置。更一般地,相对于用户期望识别农村区域一小区中的位置,更多用户 期望识别城市区域一小区中的位置。
[013引位置的吸引力评级n用于确定什么词用于组成分配给该位置的词序列。在示出的 示例中,被认为是用户更感兴趣的位置被分配更低的n值,被分配更低n值的位置被分配给 更人性化的词,W用于构成分配给该位置的词序列。哪些词被认为更人性化在一定程度上 不可避免地是比较主观的。然而,如果用户更加容易使用运些词,则通常认为运些词更加人 性化,因此,例如,短词、通用词、不易于与其它词混淆的词和/或具有简单拼写和发音的词 通常被认为是更方便使用的词。
[0139] 在吸引力评级步骤52中,由特定整数小区值对X和Y标识的每个小区被分配一对 应的n值范围,其中,范围中的每个n值对应一特定的整数位置值对X和y。因此,每四个整 数小区值X、Y、X、y组对应单一的整数值n,反之亦然。
[0140] 表1示出了该对应关系,该示出了小区示例X和Y与n数值范围之间的示例性关 系。应注意,表1中的值为用于解释设及到的原理的示例性值,并不对应用于实际中的值。
[0141]表 1:
[0142]
[0143] 表1在表中示出了S个小区示例,运些小区由小区数值对X和Y标识,其值为 (100,60)、(111,40)化及(170,20)。每个小区被分配一唯一n值范围。
[0144] 从表1可W看出,不同小区具有分配的n值范围,n值范围具有不同数量的值。该 值与分配给小区的位置值X、y的范围对应,如前所述,位置值X、y的范围决定于小区的面 积。在表1示出的示例中,小区(100,60)为一个中屯、城市,因此,可认为其具有高吸引力, 因此,该小区具有最低的n值范围,小区(170,20)为城市,因此,可认为其具有中等吸引力, 故具有中间的n值范围,小区(110,40)为农村,因此,可认为其具有低吸引力,故具有最高 的n值范围。进一步地,在表1示出的示例中,小区(110,40)面积最大,因此,该小区具有 最大尺寸的n值范围,小区(100,60)面积中等,因此,该小区具有中间尺寸的n值范围,小 区(170,20)面积最小,因此,该小区具有最小尺寸的n值范围。
[0145] 用于将吸引力分配给小区的系统可能与任何特定系统一样复杂。分配吸引力的过 程复杂性对本系统的运行没有影响。在一示例中,基于小区所在国家W及小区是否是农村、 城市或中屯、城市,吸引力被分配给小区。相比农村小区,城市小区被分配较高吸引力,而相 对城市小区,中屯、城市中小区则被分配更高吸引力。例如,不同国家的小区可基于来自系统 操作员祖国的用户和/或使用系统语言的用户旅行到运些国家的可能性被分配吸引力值。 在一些示例中,被标识为非常大的中屯、城市或非常常用的旅行目的地的城市中的小区可被 作为特定情形进行处理,且可被认为具有非常高的吸引力,例如,伦敦和己黎。
[0146] 为了将四个整数小区值X、Y、x、y转换为单一整数值nW及相反,一吸引力表格被 使用。该吸引力表格为一查找表,该查找表包括分配给每个小区的n值范围中的最低值。因 此,该查找表将具有一定数量的入口,该数量等于定义的小区的数量,或者换句话说,是有 效的整数小区值对X和Y的数量。
[0147] 表2示出了该吸引力表的内容,该表示出了小区示例值X和Y与分配的n数值范 围的最低值之间的示例性关系。应注意,表2中的值为用于解释设及到的原理的示例性值, 并不对应用于实际中的值。
[014引表2:
[0149]
[0150] 表2在表中示出了S个小区示例,运些小区由小区数值对X和Y标识,其值为 (1〇〇,60)、(110,40)^及(170,20)。每个小区被分配一唯一11值范围^及由此的唯一最低 n值。
[0151] 如前所述,只存在=千屯百万的小区,该数量远小于大约57万亿数量的可标识位 置,因此,为每个小区使用带有入口的查找表是比较实用的。
[0152] 在当将缔度和经度坐标转换为=词序列时使用的第一向前方向上,用于小区值X 和Y的范围中的最低n值的值q从吸引力表获取,之后使用W下公式计算吸引力值n:
[0153]n=q+1546x+y (7)
[0154] 在许多标准编程语言中,吸引力表查找表可W被编码为由X和Y索引的二维数组。 在SQL中,该查找表可W只为一数据库。
[0155] 在没有覆盖整个地球表面的可选示例中,当在向前方向运行时,如果给定的X和Y 对没有出现在表/数据库中,运意味着上述地方没有被系统覆盖,所W没有被分配=词短 语。在运种情况下,可能会显示一条合适的错误消息。
[0156]在当将S词序列转换为缔度和经度坐标时使用的第二逆向方向,定位会有点复 杂。由于n值通常为分配给一小区的n值范围内的某处,而不是最高值或最低值,因此,难W简单地在表中查找到n值。由于定义的可标识位置的数量非常巨大,因此,使用为每个可 能n值提供独立入口的查找表不太实用。
[0157] 因此,通过"范围中的最低n值"对吸引力表进行排序,运样,可得到排序后的吸引 力表。
[015引表3示出对表2中入口进行排序产生的排序后的吸引力表的示例。
[0159] 表 3:
[0160]
[0161] 之后,对排序后的吸引力表进行检索W查找最大"范围中的最低n值