具体实施方式
本发明实施例提供一种用于制作局部区域的导航地图的方案,其首先根据用户输入的局部区域的位置和范围来创建局部区域的空白地图,然后根据用户输入的位于该局部区域中的例如道路、标志性建筑和景点等这样的地理目标的定位数据和属性信息在该空白地图上绘制这些地理目标,从而方便非专业用户制作局部区域的导航地图。
下面,结合附图详细描述本发明的各个实施例。
现在参考图1,其示出了按照本发明一个实施例的用于制作局部区域的导航地图的方法的流程图。
如图1所示,在步骤S110,接收用户输入的局部区域的位置和范围。这里,为了创建一张空白地图,用户至少需要输入该局部区域的一点(例如,中心点)的位置信息以及用户决定制作导航地图的范围。如果用户对该局部区域的地理信息比较了解,那么用户可以直接输入该中心点的位置,即经纬度数据(可选地,还可以包括高度数据)。另外,用户也可以利用定位装置来对该中心点进行定位,以便获取该中心点的位置。接下来,用户需要输入该局部区域的范围,用户可以粗略地输入沿上述中心点向四个方向扩展的长度(例如,500米),或者绘制出该局部区域的轮廓来作为该局部区域的范围。或者,作为一种较为精确的方式,用户可以携带定位装置沿该局部区域的边界行走一周,将采集的多个点的定位数据形成的轨迹作为该局部区域的范围。
在步骤S120,根据用户所输入的局部区域的位置和范围,创建关于该局部区域的空白地图。
在步骤S130,接收用户输入的路网、标志性建筑和景点地理目标的定位数据。对于路网的定位数据来说,用户可以携带定位装置沿局部区域的各条道路行走,从而采集多个点的定位数据;对于标志性建筑和景点的定位数据来说,用户可以在标志性建筑和景点处利用定位装置采集定位数据,或者通过其它手段获知相应的定位数据。
在步骤S140,从所接收的定位数据中选择在局部区域的范围之内的定位数据。一般情况下,从定位装置导入的定位数据中可能不仅包括在该局部区域中专门采集的定位数据,还包括在进入该局部区域之前和离开该局部区域之后采集的定位数据。因此,在接收到用户所输入的定位数据之后,首先要选择在局部区域的范围之内的定位数据。该步骤可以通过将定位数据与表示该局部区域的范围的数据区间进行比较来容易地完成。
在步骤S150,对所选择的定位数据进行区分,以区分出路网的多个点的定位数据。针对区分出的路网的多个点的定位数据,接下来执行步骤S160,针对区分出的非路网(即标志性建筑和景点)的定位数据,接下来执行步骤S190。
在步骤S160,利用路网的多个点的定位数据,将路网的多个点依次连接起来,得到多个连线。例如,可以将每两个相邻的点用直线连接起来,从而得到多个连线。
在步骤S170,根据所得到的多个连线,检测路网的多个点中是否存在拐点。这里,拐点指道路中的十字路口或丁字路口,其是满足以下条件的任意点P:位于点P的其中一侧的预定数量的点的连线与位于点P的其它一侧的预定数量的点的连线大于等于30°且小于150°。例如,如图2所示,道路中存在一个点Pk,其中,位于点Pk的其中一侧的5个点P1、P2、P3、P4、P5的连线近似为直线,位于点Pk的另一侧的5个点P6、P7、P8、P9、P10的连线近似为直线,这两个直线的夹角近似为90°,其大于30°且小于150°,因此点Pk是拐点。
在步骤S180,如果路网的多个点中存在拐点,则以拐点为分界线,将路网的多个点的定位数据分成多组定位数据。相应地,该多组定位数据分别对应于路网的多条道路。例如,可以首先以某个拐点为分界线将该多个点的定位数据分成两组,如果分组后的任意一组定位数据所对应的点中还存在另外的拐点,则以该另外的拐点为分界线,将该组定位数据又分成两组,以此类推,直到每组定位数据所对应的点中不再包括拐点为止。
上述的步骤S160-S180的主要目的是为了将路网的定位数据进行分组,以识别出路网的各个道路的定位数据。本领域技术人员可以理解,不同组的定位数据一般指示不同的路段,而不同路段的属性很可能是不同的,因此对在不同路段采集的定位数据经分组(即将道路分段)有助于在后续的步骤中,分别设置每一组定位数据(即每条道路)的属性,以及针对每一组定位数据(即每条道路的定位数据)来绘制相应的道路。
在步骤S190,接收用户输入的道路、标志性建筑和景点的属性信息。道路的属性信息可以包括道路名称、道路种类(例如,单行车道、双向车道、小路、步行道等)、道路宽度、道路其它特征(例如,坡道)等等,以便配合定位数据制作路网层。标志性建筑和景点的属性信息可以包括标志性建筑和景点名称、标志性建筑和景点种类(例如,草地、花园、树林、小湖、沟渠等)、标志性建筑和景点形状和尺寸等,以便配合定位数据制作标志性建筑和景点层。
在步骤S200,根据上述定位数据和属性信息,在空白地图上绘制相应的道路、标志性建筑和/或景点。其中,绘制局部区域中的道路、标志性建筑和景点时,一般可以利用符号库中事先存储的符号来绘制,以便在导航地图中更直观地显示相应的道路、标志性建筑和景点的属性,例如使用单箭头或双箭头表示一条道路是单向车道还是双向车道。符号库中可以存储足够多的符号,并且可供用户持续增加和修改。用户可以以选择菜单的方式从符号库中选择预期的符号,或者可以根据用户设置的属性,从符号库中提取与该属性相匹配的符号;如果用户没有从符号库中选出预期的符号,或者没有从符号库中提取出与设置的属性相匹配的符号,则可以提示用户提供自制的符号,并利用用户所提供的自制的符号来绘制道路、标志性建筑和景点。在用户提供自制的符号之后,可以提示用户是否要保存该自制的符号,如果用户选择保存该自制的符号,则将该自制的符号以及与该自制的符号相关联的属性存储在符号库中。
如上所述,在完成路网和标志性建筑和景点的绘制之后,主要的导航地图数据都已涵盖。
接下来,在步骤S210,接收用户输入的兴趣点的位置信息和属性信息,以便在导航地图上标注兴趣点信息。到底标注多少兴趣点信息要视用户的需要而定,这里不作任何限制。
在步骤S220,在所述地图上兴趣点的位置信息所指示的位置处,标注兴趣点的属性信息。
本领域技术人员应当理解,在上面的实施例中,针对同一块局部区域,上述步骤S130-S220可以执行多次。例如,即在将步骤S130-S220执行一次之后或者执行过程中,用户还可以继续输入定位数据,添加、删除和修改任意道路、标志性建筑和/或景点的属性等,本方法将响应于用户的动作重新绘制导航地图。另外,步骤S130-S220的执行顺序也不限于上述的顺序,某些步骤可以以不同的顺序执行或并发执行。
本领域技术人员应当理解,虽然上面的实施例包括步骤S140,以从用户输入的道路、标志性建筑和景点的定位数据中选择在局部区域的范围之内的定位数据,然而,本发明并不局限于此。在本发明的其它实施例中,如果能够确保用户所输入的定位数据位于该局部区域的范围之内,则也可以不包括步骤S140。
本领域技术人员应当理解,虽然在上面的实施例中的步骤S130中,用户一次性地输入路网的定位数据和标志性建筑和景点的定位数据,但本发明并不局限于此。在本发明的其它实施例中,路网的定位数据和标志性建筑和景点的定位数据也可以被分开输入。在分开输入的情况下,可以针对输入的路网的定位数据执行接下来的步骤S160-S220,针对输入的标志性建筑和/或景点定位数据执行步骤S190-S220,而不需要执行专用于处理路网定位数据的步骤S160-S180。
本领域技术人员应当理解,对于执行步骤S160-S170之后没有被检测出的拐点,(例如,多个点的定位数据形成的连线近似为直线,但是这些点实际上分别属于两条道路上的点),可以由用户自行输入指示该拐点的信息。或者,作为对步骤S160-S170的替代,用户也可以自行输入指示多个点中的拐点的信息。相应地,在步骤S180中,按照用户输入的信息确定的拐点将所述多个点的定位数据分成多组定位数据。
本领域技术人员应当理解,虽然在上面的实施例中的步骤S170中,用于检测拐点的夹角为30°与150°,但本发明并不局限于此。在本发明的其它一些实施例中,用于检测拐点的夹角也可以不限于30°与150°之间,也可以是其它数值范围。该数值范围也可以由用户根据实际需要自行设置,这样对于一些特殊的道路路口处理起来会比较方便。
本领域技术人员应当理解,虽然在上面的实施例中,地理目标包括道路、标志性建筑和景点,但本发明并不局限于此。在本发明的其它一些实施例中,地理目标也可以仅包括道路、标志性建筑和景点中的一种或两种,或者还可以包括其它的对象。
现在参考图3,其示出了按照本发明一个实施例的用于制作局部区域的导航地图的装置的框图。本领域技术人员应当理解,图3所示的装置可以利用软件、硬件或软硬件相结合的方式来实现。
如图3所示,用于制作局部区域的导航地图的装置10可以包括接收模块11、地图创建模块12和绘制模块13。其中,接收模块11用于接收用户输入的局部区域的位置和范围、地理目标的定位数据和属性信息;地图创建模块12用于根据所述接收的局部区域的位置和范围,创建关于所述局部区域的空白地图;绘制模块13用于根据所述接收的地理目标的定位数据和属性信息,在所述空白地图上绘制所述地理目标。
该装置10还可以包括:数据选择模块14,用于从所述地理目标的定位数据中选择在所述局部区域的范围之内的定位数据。
该装置10还可以包括以下专用于处理路网的多个点的定位数据的模块:连线模块15,用于按照所述多个点的定位数据将所述多个点依次连线;拐点检测模块16,用于根据所述连线,检测所述多个点中是否存在拐点;以及分组模块17,用于如果所述多个点中存在拐点,则按照所述拐点将所述多个点的定位数据分成多组定位数据,其中,所述多组定位数据分别对应于所述路网的多条道路,其中,所述地理目标的属性信息是所述路网的所述多条道路的属性信息,并且其中,绘制模块13根据所述多组定位数据和所述路网的所述多条道路的属性信息,在所述空白地图上绘制所述路网的所述多条道路。
其中,所述拐点检测模块16可以进一步用于检查所述多个点是否存在特定点,并当检查结果为肯定时,确定所述特定点为拐点,其中,位于所述特定点的其中一侧的预定数量的点的连线与位于所述特定点的其它一侧的预定数量的点的连线之间的夹角在指定范围内。
其中,所述指定范围可以是大于等于30°且小于150°。
此外,接收模块12还可以用于接收用户输入的指示路网的多个点中的拐点的信息,以便作为连线模块15和拐点检测模块16的替代或补充。在这种情况下,分组模块17可以根据接收模块12提供的拐点将路网的多个点的定位数据分成多组定位数据。
另外,该装置10还可以包括:符号库(未示出),用于存储表示各种地理目标的符号;以及符号配置模块(未示出),用于从所述符号库中提取与所述地理目标的属性相匹配的符号;在未提取到与所述地理目标的属性相匹配的符号的情况下,提示用户提供自制的符号,并将用户所提供的自制的符号作为与所述地理目标的属性相匹配的符号。另外,符号配置模块还可以根据用户的动作将用户所提供的自制的符号以及与该自制的符号相关联的属性存储到符号库中。
在这种情况下,绘制模块13可以进一步用于利用所述地理目标的属性信息所指示的符号来在所述空白地图上来绘制所述地理目标。
另外,接收模块11还可以接收用户输入的兴趣点的位置信息和属性信息,并且该装置10还可以包括:兴趣点标注模块18,用于根据所述兴趣点的位置信息和属性信息,在所述地图上所述兴趣点的位置信息所指示的位置处,标注所述兴趣点的属性信息。
本领域技术人员应当理解,该装置10可以位于手机、平板电脑等设备中。
现在参考图4,其示出了按照本发明一个实施例的用于制作局部区域的导航地图的设备的示意图。图4所示的设备可以是手机、平板电脑等。
如图4所示,用于制作局部区域的导航地图的设备20可以包括存储器22和处理器24。
其中,存储器22可以用于存储可执行指令。
处理器24可以用于根据存储器22所存储的可执行指令,执行以下步骤:当接收到用户输入的局部区域的位置和范围时,创建关于所述局部区域的空白地图;接收用户输入的地理目标的定位数据和属性信息;以及根据所述地理目标的定位数据和属性信息,在所述空白地图上绘制所述地理目标。
其中,处理器24还可以用于根据存储器22所存储的可执行指令,执行以下步骤:从所述地理目标的定位数据中选择在所述局部区域的范围之内的定位数据。其中,所述绘制步骤进一步包括:根据所选择的定位数据和所述属性信息,在所述空白地图上绘制所述地理目标。
其中,当所述地理目标的定位数据是路网的多个点的定位数据时,处理器24还可以用于根据存储器22所存储的可执行指令,执行以下步骤:根据所述多个点的定位数据将所述多个点依次连线;根据所述连线,检测所述多个点中是否存在拐点;以及如果所述多个点中存在拐点,则按照所述拐点将所述多个点的定位数据分成多组定位数据,其中,所述多组定位数据分别对应于所述路网的多条道路,其中,所述地理目标的属性信息是所述路网的所述多条道路的属性信息,所述绘制步骤进一步包括:根据所述多组定位数据和所述路网的所述多条道路的属性信息,在所述空白地图上绘制所述路网的所述多条道路。
其中,检测步骤可以进一步包括:检查所述多个点中是否存在特定点,并当检查结果为肯定时,确定所述特定点为拐点,其中,位于所述特定点的其中一侧的预定数量的点的连线与位于所述特定点的其它一侧的预定数量的点的连线之间的夹角在指定范围内。
其中,所述指定范围可以是大于等于30°且小于150°。
当所述地理目标的定位数据是路网的多个点的定位数据时,处理器24还可以用于根据存储器22所存储的可执行指令,执行以下步骤:接收用户输入的指示所述多个点中的拐点的信息;按照所述拐点将所述多个点的定位数据分成多组定位数据,其中,所述多组定位数据分别对应于所述路网的多条道路,其中,所述地理目标的属性信息是所述路网的所述多条道路的属性信息,所述绘制步骤进一步包括:根据所述多组定位数据和所述路网的所述多条道路的属性信息,在所述空白地图上绘制所述路网的所述多条道路。
其中,所述绘制步骤可以进一步包括利用所述地理目标的属性信息所指示的符号来在所述空白地图上绘制所述地理目标。
其中,处理器24还可以用于根据存储器22所存储的可执行指令,执行以下步骤:当接收到用户输入的兴趣点的位置信息和属性信息时,在所述地图上所述兴趣点的位置信息所指示的位置处,标注所述兴趣点的属性信息。
本发明的实施例还提供一种机器可读介质,其上存储有可执行指令,当该可执行指令被执行时,使得机器执行前述处理器24执行的步骤。
本领域技术人员应当理解,上面的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改,因此,本发明的保护范围由所附的权利要求书来限定。