一种公交站点定位方法及装置技术领域
本发明涉及电子地图技术领域,特别是涉及一种公交站点定位方法及装
置。
背景技术
电子地图,也称数字地图,是利用计算机技术,以数字方式存储和查询
的地图。与传统的纸质地图相比,电子地图的制作、管理、阅读和使用能实
现一体化,便于实时地进行修改;利用计算机的数据查询能力,电子地图可
以实现更为快速和多样化的查询方式,方便用户使用。另外,电子地图可以
非常方便地对普通地图的内容进行任意形式的要素组合、拼接,形成新的地
图,而且能够把图像、声音和文字等类型的信息合成在一起,实现多种展示
效果。
公共交通信息的查询,是电子地图的一个重要的应用分支。目前,很多
电子地图产品都提供公交信息查询功能,例如,用户输入起点和目的地,可
以很方便地查询到往返两地之间的公交乘车方式、预估时间等等。对于电子
地图产品而言,能够将公交站点准确地标识在地图的相应位置上(简称“打
点”),是提供高质量查询结果的前提。然而,目前公交公司发布的公交线
路信息,仅仅是一个站点序列的形式,即仅仅包括该线路途经的各个站点名
称,而并不包括各站点的具体位置,这就为“打点”工作带来很大的困难。
目前,最直接的打点方式是以全人工或半自动的方式实地采集每个站点
的坐标位置,然后将采集到的站点位置数据输入电子地图,这种方法虽然准
确性较高,但是需要花费大量的人力和时间,很多情况下还需要为采集人员
配备GPS设备,整体成本较高,难以适用于海量数据的应用场景。另一种方
式则是不需要实际采集,仅靠录入人员的主观判断来进行打点。这种方式能
够有效地降低成本,但是仍然需要人工参与,而且打点的准确性明显降低,
特别是对于同名异地的情况:例如已知某公交车次途经的站点名称为“中关
村”,然而实际的“中关村”地区所覆盖的区域非常大,可能包含多条路、
多个路口,录入人员很难判断该把站点打在哪个具体位置。
发明内容
为解决上述技术问题,本发明实施例提供一种公交站点定位方法及装置,
以降低公交站点位置录入的人力成本消耗,并且有效提高录入的准确性,技
术方案如下:
本发明实施例提供一种公交站点定位方法,该方法包括:
A.获得待定位公交线路A的站点名称序列;
B.对于所述序列中的任意站点an(n=1、2、3…N,N为站点总数),利
用an及an的相邻站点构建子序列,在已知公交线路中,查询包含与该子序列
相匹配部分的已知公交线路;
C.根据查询结果中与an名称相匹配的站点的地理位置,确定站点an的地
理位置。
在本发明的一种具体实施方式中,所述方法还包括:
对于所述序列中的任意站点an,首先在已知公交线路中,查询与an名称
相匹配的站点的地理位置;
如果存在一处以上的地理位置,且对应车次不同,则进一步执行步骤B
与步骤C;
如果存在两处地理位置,且对应车次相同,则根据线路方向确定站点an
的地理位置;
如果仅存在一处地理位置,则直接将该位置确定为站点an的地理位置。
在本发明的一种具体实施方式中,所述步骤B包括:
对于所述序列中的任意站点an,在已知的公交线路中,查询与an名称相
匹配的站点以及相应的线路,得到第一查询结果;
利用an及an的相邻站点构建子序列,在第一查询结果中进一步查询包含
与该子序列相匹配部分的已知公交线路。
在本发明的一种具体实施方式中,所述子序列的匹配方式包括:
两个子序列中的站点名称文本完全一致、且排列顺序一致;
或
两个子序列中的站点名称在进行同义词归一化后的文本完全一致,且排
列顺序一致。
在本发明的一种具体实施方式中,所述站点名称的匹配方式包括:
站点名称文本完全一致;
或
站点名称在去除预设后缀后的文本完全一致。
在本发明的一种具体实施方式中,所述利用an及an的相邻站点的名称构
建子序列,包括:
在n=1的情况下,利用a1和a2构建两站点子序列;
在n=N的情况下,利用aN-1和aN构建两站点子序列。
在本发明的一种具体实施方式中,所述利用an及an的相邻站点的名称构
建子序列,包括:
在n∈(1,N)的情况下,
利用an-1和an构建两站点子序列;或
利用an和an+1构建两站点子序列;或
利用an-1、an和an+1构建三站点子序列。
在本发明的一种具体实施方式中,所述查询包含与该子序列相匹配部分
的已知公交线路,包括:
优先构建三站点子序列,查询包含与三站点子序列相匹配部分的已知公
交线路;在查询结果为空的情况下,构建两站点子序列,查询包含与两站点
子序列相匹配部分的已知公交线路。
本发明实施例还提供一种公交站点定位装置,该装置包括:
输入单元,用于获得待定位公交线路A的站点名称序列;
查询单元,用于对于所述序列中的任意站点an(n=1、2、3…N,N为站
点总数),利用an及an的相邻站点构建子序列,在已知公交线路中,查询包
含与该子序列相匹配部分的已知公交线路;
定位单元,用于根据查询结果中与an名称相匹配的站点的地理位置,确
定站点an的地理位置。
在本发明的一种具体实施方式中,所述装置还包括:
查询控制单元,用于对于所述序列中的任意站点an,首先在已知公交线
路中,查询与an名称相匹配的站点的地理位置;
如果存在一处以上的地理位置,且对应车次不同,则进一步将所述序列
输入所述查询单元;
如果存在两处地理位置,且对应车次相同,则根据线路方向确定站点an
的地理位置;
如果仅存在一处地理位置,则直接将该位置确定为站点an的地理位置。
在本发明的一种具体实施方式中,所述查询单元包括:
第一查询子单元,用于对于所述序列中的任意站点an,在已知的公交线
路中,查询与an名称相匹配的站点以及相应的线路,得到第一查询结果;
第二查询子单元,用于利用an及an的相邻站点构建子序列,在第一查询
结果中进一步查询包含与该子序列相匹配部分的已知公交线路。
在本发明的一种具体实施方式中,所述子序列的匹配方式包括:
两个子序列中的站点名称文本完全一致、且排列顺序一致;
或
两个子序列中的站点名称在进行同义词归一化后的文本完全一致,且排
列顺序一致。
在本发明的一种具体实施方式中,所述站点名称的匹配方式包括:
站点名称文本完全一致;
或
站点名称在去除预设后缀后的文本完全一致。
在本发明的一种具体实施方式中,所述查询单元具体用于:
在n=1的情况下,利用a1和a2构建两站点子序列;
在n=N的情况下,利用aN-1和aN构建两站点子序列。
在本发明的一种具体实施方式中,所述查询单元具体用于:
在n∈(1,N)的情况下,
利用an-1和an构建两站点子序列;或
利用an和an+1构建两站点子序列;或
利用an-1、an和an+1构建三站点子序列。
在本发明的一种具体实施方式中,所述查询单元具体用于:
优先构建三站点子序列,查询包含与三站点子序列相匹配部分的已知公
交线路;在查询结果为空的情况下,构建两站点子序列,查询包含与两站点
子序列相匹配部分的已知公交线路。
本发明实施例提供的技术方案,利用已有公交线路的站点位置信息,对
新公交线路的站点进行定位,通过该方式,可以自动完成大部分站点信息的
录入工作,从而有效地降低了人力成本消耗。此外,本发明并不是以单一的
站点名称的匹配情况对站点进行定位,而是根据具有一定长度的站点序列名
称集合的匹配情况对站点进行定位,有效地避免了单一站点名称匹配方式带
来的误差,因此能够有效地提升站点定位的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面
描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员
来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例公交站点定位方法的一种流程图;
图2为本发明实施例公交站点候选位置示意图;
图3为本发明实施例公交站点定位装置的一种结构示意图;
图4为本发明实施例公交站点定位装置的第二种结构示意图。
具体实施方式
对于电子地图产品而言,需要将公交站点准确地标识在地图的相应地理
位置上,进而提供各种形式的服务。然而根据目前的情况,能够直接获得的
信息只有公交公司发布的公交线路信息,该信息仅仅包括线路途经的各个站
点名称,而并不包括各站点的具体位置信息,这就为“打点”工作带来很大
的困难。
除去逐点采集位置信息的方法之外,一种较为容易的方法是:利用线路
中的站点名称,在地图上能够找到相应的区域,然后对站点进行粗略定位。
但是这种方法的定位准确性较低,难以满足用户的查询需求。
在实现本发明的过程中,发明人通过研究发现,在一些公共交通较为发
达的城市,布设的公交线路数量很大,而且本着节约占地的原则,往往采用
多条线路共享同一地址位置的站点布设方式,基于这一实际情况,如果能够
预先获得一些线路站点位置的准确位置信息,那么对于其他待定位的线路,
就可以根据站点的名称,在地图上找到相应的站点位置,使得站点定位的准
确度得到显著提升。
但是,在上述方法的实际应用过程中,有时会出现“一个站点名称对应
多个候选位置”的情况,例如,对应名称为“中关村”,有可能在路口的东
南西北都有站点分布,这种情况下,难以确定要将站点具体定位于何处。
针对以上问题,本发明实施例所提供一种公交站点定位方法,该方法包
括:
A.获得待定位公交线路A的站点名称序列;
B.对于所述序列中的任意站点an(n=1、2、3…N,N为站点总数),利
用an及an的相邻站点构建子序列,在已知公交线路中,查询包含与该子序列
相匹配部分的已知公交线路;
C.根据查询结果中与an名称相匹配的站点的地理位置,确定站点an的地
理位置。
首先,本发明实施例提供的公交站点定位方法,利用已有公交线路的站
点位置信息,对新公交线路的站点进行定位,通过该方式,可以自动完成大
部分站点信息的录入工作,从而有效地降低了人力成本消耗。另外,本发明
并不是以单一的站点名称的匹配情况对站点进行定位,而是根据具有一定长
度的站点序列名称集合的匹配情况对站点进行定位,减少了单一站点名称匹
配方式带来的误差,因此能够有效地提升站点定位的准确性。
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本
发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,
所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本
发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属
于本发明保护的范围。
图1所示为本发明实施例所提供的一种公交站点定位方法的流程图,包
括以下步骤:
S101,获得待定位公交线路A的站点名称序列;
该部分信息,可以直接从公交公司发布的线路信息中获得,对于任意一
条线路A,其站点信息表现为a1—a2—a3—……—aN-1—aN的序列形式、其中
N为线路A的站点总数,a1为起点站,aN为终点站。
需要说明的是,实际的公交线路一般都是双向的,在本发明实施例中,
仅以单向线路作为示例进行说明。
S102,对于所述序列中的任意站点an,利用an及an的相邻站点构建子序
列,在已知公交线路中,查询包含与该子序列相匹配部分的已知公交线路;
为了减少单一站点名称匹配方式带来的误差,本发明采用构建子序列的
方式,根据待定位的线路和已知的子序列匹配情况,对待定位线路中的站点
进行定位。
对于一条完整的线路序列而言,其中的任意一段都可以构成一个子序列。
子序列的长度可以根据实际需求灵活设置,而根据公交线路的实际特点,在
本发明实施例中,采用“两点法”及“三点法”构建站点子序列。
例如,某条线路共有5站,其完整站点序列a1—a2—a3—a4—a5,那么,
可以构建出的两点序列包括:
a1—a2、a2—a3、a3—a4、a4—a5;
可以构建出的三点序列包括:
a1—a2—a3;a2—a3—a4;
在本发明实施例中,对于任意的站点an(n=1、2、3…N),分别利用an及
an的相邻站点构建子序列,其中,由于线路起点和线路终点的特殊性,因此
和其他中途站点分开处理:
1)对于线路起点a1和线路终点aN,建议构建两站点子序列,即:
在n=1的情况下,利用a1和a2(即第一站和第二站)构建两站点子序列;
在n=N的情况下,利用aN-1和aN(即倒数第二站和最后一站)构建两站
点子序列;
2)对于其他中途站点,即n∈(1,N),可以构建三站点子序列或者两
站点子序列:
其中,三站点子序列的构建方式是利用an以及前一站、后一站构成三站
点子序列,即利用an-1、an和an+1构建三站点子序列。
两站点子序列的构建方式包括上行站构建法以及下行站构建法两种,顾
名思义:
“上行站构建法”是利用an-1和an构建两站点子序列;
“下行站构建法”则是利用an和an+1构建两站点子序列。
在实际应用中这两种方式没有本质的区别。
一般来说,利用三站点子序列匹配后的定位结果准确性较高,根据公交
公司布设站点的习惯,不同线路,只要彼此的某个“三站点子序列”完全匹
配,例如线路1和线路2都先后经过紧邻的an-1、an、an+1三个站,那么这两
条线路在an站的布设地理位置可以认为是完全一致的。
可以理解的是,如果利用两站点子序列匹配,那么定位结果准确度会降
低,但是与三站点子序列匹配方式相比,要求更为宽松,因此匹配命中率也
会提高,而且与单站点匹配定位的方式相比,准确度仍然有显著的提高。
在本发明的一种优选实施方式中,对于某个中途站点,即n∈(1,N)
的情况,首先构建三站点子序列,并且利用三站点子序列进行匹配定位,如
果无法匹配命中,则将匹配条件放宽至两站点子序列匹配,从而实现匹配命
中率与定位准确率兼顾的效果。
当然,根据本发明实施例的基本思想,本领域技术人员还可以想到四点、
五点等子序列构建方式,这些也应该在本发明方案的保护范围内。
关于“子序列匹配”,一种最常规的要求是,站点名称顺序完全一致,
并且排列顺序完全一致。但是通过实际调查发现,由于公交公司对站点的命
名不够规范,因此有时会存在不同车次在同一位置布设的站点名称不完全一
致的情况,常见的情形包括地名简称导致站点名称不完全一致,例如“北大
东门”和“北京大学东门”,或者省略一些常用后缀导致站点名称不完全一
致,例如“大钟寺城铁”和“大钟寺城铁站”。针对上述的情况,在匹配的
过程中,可以将同义词的因素考虑进来,这种匹配方式称为“广义匹配”。
例如,如果一个站点序列中包含“北大东门”站点,那么通过预设的地
名同义词表,可以将该名称归一化为“北京大学东门”,然后再进行匹配
查询。
此外,对于“站”、“镇”、“村”等常用后缀,也可以存入常用后缀
词表,在匹配过程中,通过去除后缀的方式实现同义词替换。这里需要说明
的是,后缀词的设置不应过于宽泛,否则会导致定位错误,例如“马甸桥东
站”可以去除后缀“站”,认为和“马甸桥东”是匹配的;但是,如果进一
步将“东”字也作为后缀去除,就会出现错误,因为还存在“马甸桥西”站,
并且“马甸桥东”和“马甸桥西”明显应该处于两个地理位置。
上述两种方法可以分别使用,也可以结合使用,例如“北大西门”、“北
京大学西门站”、“北大西门站”,都可以归一化为“北京大学西门”。当
然,除了同义词表替换和去除后缀法之外,本领域技术人员还可以利用其他
方法实现同义词的归一化,目的是将位置一致、但是名称不完全一致的站名
以某种方式统一起来,本发明实施例对此并不需要进行限定。
S103,根据查询结果中与an名称相匹配的站点的地理位置,确定站点an
的地理位置。
根据以上步骤,对于待定位线路A中的站点an,首先构建关于an的子序列
S(an),如果在已知的公交线路中能够找到线路B:在B中包含与S(an)严格匹配
或者广义匹配的子序列S(bm),那么就可以将线路B中bm站点的地理位置确定
为an的地理位置,(其中,an与bm站点名称相匹配)。对于线路A中的每一
站点an(n=1、2、3…N,N为站点总数),分别采用上述方法遍历处理之后,
就可以对线路A的各个站点进行定位。
在本发明的一种实施方式中,在步骤102之前,对于站点序列中的任意
站点an,可以首先在已知公交线路中,查询与an名称相匹配的站点,匹配的
方式可以是严格匹配或者广义匹配,这里不再重复描述。
如果在查询结果中,包括多个名称匹配的站点,并且这些站点处于不同
的地理位置,而且对应车次不同,那么进一步执行S102和S103进行站点定
位;
如果在查询结果中,包括两个名称匹配的站点,且对应车次相同,则根
据线路方向确定站点an的地理位置;
如果在查询结果中,仅包括一个名称匹配的站点,或者包括多个名称匹
配的站点,但是这些站点处于相同的地理位置,那么可以直接将这个“相同
的地理位置”确定为站点an的地理位置。
需要说明的是,在一般情况下,公交线路都是双向的,如果以一个站点
名称进行查询,如果存在匹配结果的话,那么结果数量应该是偶数个,也就
是说,不会出现上述第三种情况。然而事实上,有些公交线路的上下行站点
设置并不是不完全对称的,本实施例所提供的方案主要针对这种情况,可以
在一定程度上精简处理过程,直接得出定位结果。另外,对于一些分辨率较
低的地图产品,如果本身是将上行与下行线路的站点近似看做同一位置处理,
也可以采用本实施所提供的方案,以便在一些情况下可以不用构建站点子序
列,直接得出定位结果。
如果在查询结果中,刚好出现了两个站点,对应两个地理位置,而且车
次是相同的,那么可以认为这两个位置是同一车次的上下行站点,此时可以
根据待定位路线行驶方向以及查询结果路线行驶方向的对应关系,确定当前
站点an的地理位置。
在本发明的另一种实施方式中,步骤102可以按照以下子步骤实施:
S102a对于线路A的站点序列中的任意站点an,在已知的公交线路中,查
询与an名称相匹配的站点以及相应的线路,得到第一查询结果;
S102b利用an及an的相邻站点构建子序列,在第一查询结果中进一步查
询包含与该子序列相匹配部分的已知公交线路。
在已知公交线路的数据量较大的情况下,如果直接采用序列匹配的方式
在全数据范围进行查询,可能会影响查询速度。针对该问题,根据本实施例
的实现方式,首先利用单一站点的名称在全数据范围进行查询,得到包含该
站点名(严格匹配或者广义匹配)的线路,可以将大部分无关线路滤除,从
而缩小查询范围,进一步在这个较小的范围中再进行序列匹配方式查询,可
以有效改进查询效率。
应用本发明实施例所提供的方法,经过实际数据测试统计结果如下:
有17.8%的站点仅有1个或2个候选点,因此可以直接定位或者根据线
路走向定位。
有58.7%的站点可以通过“三站点子序列”判断位置;
有5.8%的站点有3或4个候选点,可以放宽匹配条件以“两站点子序列”
判断位置;
有1.5%的站点有超过4个的候选点,较难确定位置;
有16.3%的站点无法通过名字匹配上,因此无法确定位置。
可见,应用本发明方案,至少有70%以上的站点可以自动进行定位并且
能够保证较高的准确性,剩下30%可以采用POI打点、道路吸附、人工介入
等方式实现定位,这些不属于发明方案的范畴,但是从整体来看,与现有技
术,应用本发明方案仍然可以在保证定位准确性的前提下,有效降低人力成
本消耗。
下面结合一个具体的应用实例,对本发明所提供的公交站点定位方进行
说明:
例如,北京新近开通847路,从公交公司的公布信息中,只能知道它的
站点序列(以下行为例)为:
雷庄村-金盏-金盏卫生院-长店路口东-北马房-马厂-东岗
子东站-三岔河-东坝-铁十六局-东坝中街-奥林匹克花园北门-
东坝家园-单店-南岗子-东坝西北门-北岗子-北石家村-雍家村
-东八间房-大陈各庄-小陈各庄-酒仙桥东路南口-七一厂-陈各
庄-将台路口西-高家园-丽都饭店-四元桥东-四元桥西-三元桥
东站-三元桥(地铁)-静安庄-西坝河-和平东桥-和平西桥-安贞桥
西-安华桥西-马甸桥东-马甸桥西
为了提供交通信息查询服务,需要把这些站点的位置依次标识在地图上:
1)第一站:雷庄村
由于在已知空间位置的所有公交线路中,没有查询到与这个站相匹配的
名称,所以该点位置打不出来。
2)第二站:金盏
通过查询,得到现有364路、418路、672路经过,它们在金盏附近
的“三站点序列”为:
364路上行:长店路口东-金盏(终点站)下行:金盏(起点)-长
店路口东
418路上行:金盏卫生院-金盏(终点)。下行:金盏(起点)-金
盏卫生院
672路上行:金盏卫生院-金盏-北马房。下行:北马房-金盏-金
盏卫生院
上述三个线路没有能够匹配“雷庄村-金盏-金盏卫生院”的三站点
序列的,所以放宽匹配条件:
在现有的公交数据库中搜索“金盏”站点的位置,发现,这三个线路对
应的金盏车站在两个位置,如图2所示:
在候选位置A中,418路下行和672路下行的金盏站后为“金盏卫生院”,
与待打点的847路金盏站的下一站是一样的,而候选位置B对应的线路的下
一站要么是终点,要么是“北马房”,都和“金盏卫生院”不符,所以,我
们优先选择候选站点A作为847路金盏站的位置。
3)第三站:金盏卫生院
经过该站的三站点序列为:金盏-金盏卫生院-长店路口东。根据查
询,发现有364路、418路、672路经过金盏卫生院站。它们的站点序列
为:
418路
去程:金盏-金盏卫生院(1)-长店路口东-东苇路-长店-蟹岛
度假村-张万坟-黑桥-南皋-南皋乡政府-草场地-望京公园-彩
虹路-大山子路口东-王爷坟-陈各庄-将台路口北-酒仙桥-酒仙
桥中心小学-东风桥东-朝阳公园北门-安家楼-燕莎桥东-燕莎桥西
-新源南路西口-塔园村-春秀路-东直门(枢纽站)(28站)
回程:东直门(枢纽站)-新源南路西口-燕莎桥西-燕莎桥东-安家
楼-朝阳公园北门-东风桥东-酒仙桥中心小学-酒仙桥-将台路口北
-陈各庄-王爷坟-大山子路口东-彩虹路-望京公园-草场地-南
皋乡政府-南皋-黑桥-张万坟-蟹岛度假村-长店-东苇路-长店
路口东-金盏卫生院(2)-金盏(26站)
641路
去程:金盏村-金盏卫生院(3)-长店路口东-小店路口-蟹岛度
假村东门-前苇沟-东苇路北口-和平农场-京顺东街(地坛医院)-北
皋-东辛店-望京村-大山桥东-西八间房-京顺路丽都饭店-四元
桥东-四元桥西-三元桥东站-静安庄-西坝河-和平东桥-和平西
桥-安贞桥西-安华桥西-马甸桥北-健德门桥西-牡丹园西-塔院
小区南门-知春路(地铁)-知春里东站(路口东)-海淀交通支队-保福寺
桥南-保福寺桥西-中关村一街-中关村西-海淀桥东(36站)
回程:中关村西-中关村一街-保福寺桥西-保福寺桥南-海淀交
通支队-知春里东站(路口东)-知春路-塔院小区南门-牡丹园西-健
德门桥西-马甸桥北-安华桥西-安贞桥西-和平西桥-和平东桥-
西坝河-静安庄-三元桥东站-四元桥西-京顺路丽都饭店-西八间房
-大山桥东-望京村-东辛店-北皋-东营-和平农场-东苇路北口
-前苇沟-蟹岛度假村东门-小店路口-长店路口东-金盏卫生院(4)-
金盏村(34站)
672路
去程:郁金香花园南门-长店路口东-金盏卫生院(5)-金盏-北马
房-东岗子-三岔河-东坝-东坝南-驹子房-朝阳新城-高杨树-
平房东口-平房-平房西口-姚家园西-豆各庄路口西-朝阳公园桥东
-朝阳公园桥西(朝阳公园)-甜水园街北口-团结湖-亮马桥-燕莎桥南
(23站)
回程:燕莎桥南-亮马桥-团结湖-甜水园街北口-朝阳公园桥西
(朝阳公园)-朝阳公园桥东-豆各庄路口西-姚家园东-平房西口-平
房-平房东口-高杨树-朝阳新城-驹子房-东坝南-东坝-三岔河
-东岗子-北马房-金盏-金盏卫生院(6)-长店路口东-郁金香花园
南门(23站)
上面以下划线标出的部分,是所有经过金盏卫生院的三站点序列,这三
条路线中的黄色部分中的1,3,6均与“金盏-金盏卫生院-长店路口东”
相匹配(值得注意的是“金盏村”采用的是广义匹配的方式)。如果这三个
金盏卫生院是同一个位置,则匹配成功。如果不是同一个位置,就取一致的
线路较多的,例如1,3位置一样,与6不一样。则取1,3的位置结果。如
全部不一致,则任取其中1个。
4)第四站,长店路口东
经过该站的三站点序列为“金盏卫生院-长店路口东-北马房”,经
过查询,有4个车次经过该站,站点序列如下:
364路
去程:小庄-红庙路口东-十里堡-太平庄-民航医院-大黄庄桥
东-定福庄-朝阳路三间房-管庄路口北-科技大学管庄校区-常营路
口南-常营-东小井-焦庄-三岔河南站-三岔河-马厂-北马房-
长店路口东-金盏(20站)
回程:金盏-长店路口东-北马房-马厂-三岔河-三岔河南站-
焦庄-东小井-常营-常营路口南-科技大学管庄校区-管庄路口北-
朝阳路三间房-定福庄-大黄庄桥东-民航医院-太平庄-十里堡-
红庙路口东-小庄(20站)
418路
去程:金盏-金盏卫生院-长店路口东-东苇路-长店-蟹岛度假村
-张万坟-黑桥-南皋-南皋乡政府-草场地-望京公园-彩虹路-
大山子路口东-王爷坟-陈各庄-将台路口北-酒仙桥-酒仙桥中心小
学-东风桥东-朝阳公园北门-安家楼-燕莎桥东-燕莎桥西-新源
南路西口-塔园村-春秀路-东直门(枢纽站)(28站)
回程:东直门(枢纽站)-新源南路西口-燕莎桥西-燕莎桥东-安家
楼-朝阳公园北门-东风桥东-酒仙桥中心小学-酒仙桥-将台路口北
-陈各庄-王爷坟-大山子路口东-彩虹路-望京公园-草场地-南
皋乡政府-南皋-黑桥-张万坟-蟹岛度假村-长店-东苇路-长店
路口东-金盏卫生院-金盏(26站)
641路
去程:金盏村-金盏卫生院-长店路口东-小店路口-蟹岛度假村东
门-前苇沟-东苇路北口-和平农场-京顺东街(地坛医院)-北皋-东
辛店-望京村-大山桥东-西八间房-京顺路丽都饭店-四元桥东-
四元桥西-三元桥东站-静安庄-西坝河-和平东桥-和平西桥-安
贞桥西-安华桥西-马甸桥北-健德门桥西-牡丹园西-塔院小区南门
-知春路(地铁)-知春里东站(路口东)-海淀交通支队-保福寺桥南-保
福寺桥西-中关村一街-中关村西-海淀桥东(36站)
回程:中关村西-中关村一街-保福寺桥西-保福寺桥南-海淀交
通支队-知春里东站(路口东)-知春路-塔院小区南门-牡丹园西-健
德门桥西-马甸桥北-安华桥西-安贞桥西-和平西桥-和平东桥-
西坝河-静安庄-三元桥东站-四元桥西-京顺路丽都饭店-西八间房
-大山桥东-望京村-东辛店-北皋-东营-和平农场-东苇路北口
-前苇沟-蟹岛度假村东门-小店路口-长店路口东-金盏卫生院-金
盏村(34站)
672路
去程:郁金香花园南门-长店路口东-金盏卫生院-金盏-北马房-
东岗子-三岔河-东坝-东坝南-驹子房-朝阳新城-高杨树-平房
东口-平房-平房西口-姚家园西-豆各庄路口西-朝阳公园桥东-
朝阳公园桥西(朝阳公园)-甜水园街北口-团结湖-亮马桥-燕莎桥南
(23站)
回程:燕莎桥南-亮马桥-团结湖-甜水园街北口-朝阳公园桥西
(朝阳公园)-朝阳公园桥东-豆各庄路口西-姚家园东-平房西口-平
房-平房东口-高杨树-朝阳新城-驹子房-东坝南-东坝-三岔河
-东岗子-北马房-金盏-金盏卫生院-长店路口东-郁金香花园南门
(23站)
上面以下划线标出的部分,都无法和“金盏卫生院-长店路口东-北
马房”匹配,于是采用与第二站(金盏)类似的处理思路,先打出这些候选
站点,然后找长店路口东下一站为“北马房”的路线,只有364符合,所以
根据“两站点子序列”匹配,将364路经过的站点位置确定为847路的“长
店路口东”位置。
5)第五站:北马房
对应三站点序列为:长店路口东-北马房-马厂。按照同样思路找到
下列候选站点位置。
364路
去程:小庄-红庙路口东-十里堡-太平庄-民航医院-大黄庄桥
东-定福庄-朝阳路三间房-管庄路口北-科技大学管庄校区-常营路
口南-常营-东小井-焦庄-三岔河南站-三岔河-马厂-北马房-
长店路口东-金盏(20站)
回程:金盏-长店路口东-北马房-马厂-三岔河-三岔河南站-
焦庄-东小井-常营-常营路口南-科技大学管庄校区-管庄路口北-
朝阳路三间房-定福庄-大黄庄桥东-民航医院-太平庄-十里堡-
红庙路口东-小庄(20站)
640路
去程:北京站东-日坛路-永安里路口北-北京制药厂-光华桥西-
光华中路-光华路东口-红庙路口北-金台路口东-延静里-红领巾公
园-八里庄南里-农民日报社-农民日报社北-十里堡北区-石佛营东
里-姚家园西口-姚家园东-平房西口-平房-平房东口-东坝中路
南口-东坝中路-北京奥林匹克花园-奥林匹克花园东门-东坝中街-
铁十六局-东坝-三岔河-马厂-北马房-郁金香花园-东苇路-蟹
岛度假村东门-前苇沟-东苇路北口-苇沟-苇沟大桥-天竺西站-
天竺-机场道口-东平里-岗山路-岗山村-岗山村南站(45站)
回程:岗山村南站-岗山村-岗山路-东平里-机场道口-天竺-
天竺西站-苇沟大桥-苇沟-东苇路北口-前苇沟-蟹岛度假村东门-
东苇路-郁金香花园-北马房-马厂-三岔河-东坝-铁十六局-东
坝中街-奥林匹克花园东门-北京奥林匹克花园-东坝中路-东坝中路
南口-平房东口-平房-平房西口-姚家园西-姚家园西口-石佛营
东里-十里堡北区-农民日报社北-农民日报社-八里庄南里-红领巾
公园-延静里-金台路口南-红庙路口北-光华路东口-光华中路-
光华桥西-北京制药厂-日坛公园-北京站东(44站)
672路
去程:郁金香花园南门-长店路口东-金盏卫生院-金盏-北马房-
东岗子-三岔河-东坝-东坝南-驹子房-朝阳新城-高杨树-平房
东口-平房-平房西口-姚家园西-豆各庄路口西-朝阳公园桥东-
朝阳公园桥西(朝阳公园)-甜水园街北口-团结湖-亮马桥-燕莎桥南
(23站)
回程:燕莎桥南-亮马桥-团结湖-甜水园街北口-朝阳公园桥西
(朝阳公园)-朝阳公园桥东-豆各庄路口西-姚家园东-平房西口-平
房-平房东口-高杨树-朝阳新城-驹子房-东坝南-东坝-三岔河
-东岗子-北马房-金盏-金盏卫生院-长店路口东-郁金香花园南门
(23站)
可见,这次只有364路在三站点序列上完全,所以只能取364路该同名
站点位置作为候选位置。
......
其他站点打点方法与上述方法类似,最后可能会得到一小部分无法打点
的站点,例如第一个站“雷庄村”,可以用人工等方式实现打点。
相应于上面的方法实施例,本发明还提供一种公交站点定位装置,参见
图3所示,该装置可以包括:
输入单元110,用于获得待定位公交线路A的站点名称序列;
查询单元120,用于对于所述序列中的任意站点an(n=1、2、3…N,N
为站点总数),利用an及an的相邻站点构建子序列,在已知公交线路中,查
询包含与该子序列相匹配部分的已知公交线路;
定位单元130,用于根据查询结果中与an名称相匹配的站点的地理位置,
确定站点an的地理位置。
参见图4所示,在本发明的一种具体实施方式中,所述装置还可以包括:
查询控制单元140,用于对于所述序列中的任意站点an,首先在已知公
交线路中,查询与an名称相匹配的站点的地理位置;
如果存在一处以上的地理位置,且对应车次不同,则进一步将所述序列
输入所述查询单元;
如果存在两处地理位置,且对应车次相同,则根据线路方向确定站点an
的地理位置;
如果仅存在一处地理位置,则直接将该位置确定为站点an的地理位置。
在本发明的一种具体实施方式中,所述查询单元120可以包括:
第一查询子单元,用于对于所述序列中的任意站点an,在已知的公交线
路中,查询与an名称相匹配的站点以及相应的线路,得到第一查询结果;
第二查询子单元,用于利用an及an的相邻站点构建子序列,在第一查询
结果中进一步查询包含与该子序列相匹配部分的已知公交线路。
在本发明的一种具体实施方式中,所述子序列的匹配方式包括:
两个子序列中的站点名称文本完全一致、且排列顺序一致;
或
两个子序列中的站点名称在进行同义词归一化后的文本完全一致,且排
列顺序一致。
在本发明的一种具体实施方式中,所述站点名称的匹配方式包括:
站点名称文本完全一致;
或
站点名称在去除预设后缀后的文本完全一致。
在本发明的一种具体实施方式中,所述查询单元130利用an及an的相邻
站点的名称构建子序列,包括:
在n=1的情况下,利用a1和a2构建两站点子序列;
在n=N的情况下,利用aN-1和aN构建两站点子序列。
在本发明的一种具体实施方式中,所述查询单元130利用an及an的相邻
站点的名称构建子序列,包括:
在n∈(1,N)的情况下,
利用an-1和an构建两站点子序列;或
利用an和an+1构建两站点子序列;或
利用an-1、an和an+1构建三站点子序列。
在本发明的一种具体实施方式中,所述查询单元130查询包含与该子序
列相匹配部分的已知公交线路,包括:
优先构建三站点子序列,查询包含与三站点子序列相匹配部分的已知公
交线路;在查询结果为空的情况下,构建两站点子序列,查询包含与两站点
子序列相匹配部分的已知公交线路。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,
在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到
本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,
本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品
的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、
磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,
服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所
述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同
相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同
之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描
述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装
置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是
或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是
物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以
根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普
通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润
饰,这些改进和润饰也应视为本发明的保护范围。