地图标绘方法、装置、终端设备及可读存储介质与流程

文档序号:11199307阅读:1257来源:国知局
地图标绘方法、装置、终端设备及可读存储介质与流程

本发明涉及图形可视化技术领域,具体而言,涉及一种地图标绘方法、装置、终端设备及可读存储介质。



背景技术:

目前的一些地图系统软件中,用户可以在其上进行地图标绘操作。地图标绘是指在地图背景上标绘出各种具有空间特征的事、物的分布状态或行动趋势等。例如,利用现有的地理信息系统(geographicinformationsystem,gis)所提供的地理数据和服务,在其提供的地图上手动地绘制出一些图形。该地图可以显示于终端设备的屏幕中,或者也可以显示于电脑设备的显示器中。

当电子地图显示于终端设备的屏幕中时,通常是通过手指或触控笔在地图上进行标绘;但受到终端屏幕尺寸的限制(如智能手机的屏幕),用户用手或触控笔绘制图形较为不便。当电子地图显示于显示器中时,通常是通过鼠标在地图上进行标绘;而用户操控鼠标较难绘示出想要的图形。

上述两种情况,都会给用户的地图标绘带来不好的用户体验。

在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明提供一种地图标绘方法、装置、终端设备及可读存储介质,能够根据用户输入的信息自动地在地图上形成图形,完成地图标绘。

本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

根据本发明的一方面,提供一种地图标绘方法,包括:获取第一输入点、第二输入点及第三输入点的屏幕坐标;根据第一输入点、第二输入点及第三输入点的屏幕坐标,确定第一中间点及第二中间点的屏幕坐标;根据第三输入点及第二中间点的屏幕坐标,确定第一输出点及第二输出点的屏幕坐标;以及在地图中形成并显示由第一输入点、第二输入点、第三输入点、第一输出点及第二输出点所构成的标绘图形;其中,第一输入点及第二输入点为一群体所在区域中任意的两个行进起始点,第三输入点为群体的行进方向上的任意一点,标绘图形用于表示群体的行进趋势。

根据本发明的一实施方式,根据第一输入点、第二输入点及第三输入点的屏幕坐标,确定第一中间点及第二中间点的屏幕坐标包括:根据第一输入点及第二输入点的屏幕坐标,确定第一中间点的坐标为:

根据第一中间点及第三输入点的屏幕坐标,确定第二中间点的坐标为:

其中,(p1.x,p1.y)、(p2.x,p2.y)、(p3.x,p3.y)、(pa.x,pa.y)及(pb.x,pb.y)分别为第一输入点、第二输入点、第三输入点、第一中间点及第二中间点的x坐标及y坐标。

根据本发明的一实施方式,根据第三输入点及第二中间点的屏幕坐标,确定第一输出点及第二输出点的屏幕坐标包括:确定第三输入点与第二中间点之间的距离c为:

确定第三输入点与第二中间点之间连线的倾斜角s;以及根据第三输入点的坐标、距离c及倾斜角s,确定第一输出点及第二输出点的屏幕坐标分别为:

其中,(p4.x,p4.y)、(p5.x,p5.y)分别为第一输出点与第二输出点的x坐标及y坐标。

根据本发明的一实施方式,在地图中形成并显示由第一输入点、第二输入点、第三输入点、第一输出点及第二输出点所构成的标绘图形包括:以第一输入点为起点、第三输入点为终点及第一中间点为靠拢控制点,形成第一输入点与第三输入点之间的第一贝塞尔曲线;以第二输入点为起点、第三输入点为终点及第一中间点为靠拢控制点,形成第二输入点与第三输入点之间的第二贝塞尔曲线;分别形成第一输出点与第三输入点、第二输出点与第三输入点及第一输出点与第二输出点之间的第一连线、第二连线及第三连线;以及根据第一贝塞尔曲线、第二贝塞尔曲线、第三贝塞尔曲线、第一连线、第二连线及第三连线,形成标绘图形。

根据本发明的一实施方式,上述方法还包括:当第一输入点、第二输入点或第三输入点的屏幕坐标被改变时,根据改变后的第一输入点、第二输入点或第三输入点的屏幕坐标,更新第一中间点、第二中间点、第一输出点及第二输出点的坐标;及在地图中形成并显示由改变后的第一输入点、第二输入点、第三输入点与更新后的第一输出点及第二输出点所构成的更新后的标绘图形。

根据本发明的一实施方式,第一输入点、第二输入点及第三输入点为屏幕中的触控点或鼠标点击点,获取第一输入点、第二输入点及第三输入点的屏幕坐标包括:检测触控点或鼠标点击点的屏幕坐标,以获取第一输入点、第二输入点及第三输入点的屏幕坐标。

根据本发明的一实施方式,获取第一输入点、第二输入点及第三输入点的屏幕坐标包括:接收用户输入的第一输入点、第二输入点及第三输入点的地图地理坐标;以及将第一输入点、第二输入点及第三输入点的地图地理坐标转换为对应的屏幕坐标。

根据本发明的再一个方面,提供一种地图标绘装置,包括:输入点坐标获取模块,用于获取第一输入点、第二输入点及第三输入点的屏幕坐标;中间点坐标确定模块,用于根据第一输入点、第二输入点及第三输入点的屏幕坐标,确定第一中间点及第二中间点的屏幕坐标;输出点坐标确定模块,用于根据第三输入点及第二中间点的屏幕坐标,确定第一输出点及第二输出点的屏幕坐标;以及标绘图形形成模块,用于在地图中形成并显示由第一输入点、第二输入点、第三输入点、第一输出点及第二输出点所构成的标绘图形;其中,第一输入点及第二输入点为一群体所在区域中任意的两个行进起始点,第三输入点为群体的行进方向上的任意一点,标绘图形用于表示群体的行进趋势。

根据本发明的再一个方面,提供一种终端设备,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,处理器执行可执行指令时实现如上述任意一种方法。

根据本发明的再一个方面,提供一种可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上述任意一种方法。

本发明实施方式的地图标会方法,仅通过获取用户输入的三个点的屏幕坐标,即可自动形成群体行进的移动趋势,避免了用户在屏幕中手工绘制图形的不便操作,此外自动形成的图形也更为美观,为用户带来了更好的体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。

图1是根据一示例性实施方式示出的一种地图标绘方法的流程图。

图2是根据一示例性实施方式示出的另一种地图标绘方法的流程图。

图3是根据一示例示出的第一输入点、第二输入点及第三输入点的示意图。

图4是根据一示例示出的第一输入点、第二输入点、第三输入点、第一中间点及第二中间点的示意图。

图5是根据一示例示出的第一输入点、第二输入点、第三输入点、第一中间点、第二中间点、第一输出点及第二输出点的示意图。

图6是根据一示例示出的第一贝塞尔曲线、第二贝塞尔曲线、第三贝塞尔曲线、第一连线、第二连线及第三连线的示意图。

图7是根据一示例示出的地图中标绘图形的示意图。

图8是根据一示例性实施方式示出的一种地图标绘装置的框图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。

当一个群体需要进行集体行进时,需要在地图中标绘出一个图形,用于表示该群体的一个行进趋势。本发明实施方式的地图标会方法,则可以通过用户的简单输入,来自动形成该图形,以指示群体行进的移动态势。

图1是根据一示例性实施方式示出的一种地图标绘方法的流程图。如图1所示,该方法10包括:

在步骤s102中,获取第一输入点、第二输入点及第三输入点的屏幕坐标。

其中,第一输入点及第二输入点为该群体所在区域中任意的两个行进起点。例如,当该群体人数较多时,其集结区域覆盖较大,则可以进来选择该区域边缘上的两个行进起始点。

第三输入点为该群体行进方向上的任意一个点。如需要向当前东南方向行进,则在其东南方向中任选一个点作为该第三输入点。

在步骤s104中,根据第一输入点、第二输入点及第三输入点的屏幕坐标,确定第一中间点及第二中间点的屏幕坐标。

在步骤s106中,根据第三输入点及第二中间点的屏幕坐标,确定第一输出点及第二输出点的屏幕坐标。

在步骤s108中,在地图中形成并显示由第一输入点、第二输入点、第三输入点、第一输出点及第二输出点所构成的标绘图形。

本发明实施方式的地图标会方法,仅通过获取用户输入的三个点的屏幕坐标,即可自动形成群体行进的移动趋势,避免了用户在屏幕中手工绘制图形的不便操作,此外自动形成的图形也更为美观,为用户带来了更好的体验。

应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。

图2是根据一示例性实施方式示出的另一种地图标绘方法的流程图。如图2所示,该方法20包括:

在步骤s202中,获取第一输入点、第二输入点及第三输入点的屏幕坐标。

其中,第一输入点及第二输入点为该群体所在区域中任意的两个行进起点。例如,当该群体人数较多时,其集结区域覆盖较大,则可以进来选择该区域边缘上的两个行进起始点。

第三输入点为该群体行进方向上的任意一个点。如需要向当前东南方向行进,则在其东南方向中任选一个点作为该第三输入点。

图3是根据一示例示出的第一输入点、第二输入点及第三输入点的示意图。如图3所示,第一输入点、第二输入点及第三输入点可以分别表示为点①、点②及点③。

在一些实施例中,用户可以使用手指或触控笔在触控屏中通过触摸或点击的方式进行输入,或者用户可以使用鼠标在显示器的屏幕中进行点击以进行输入,也即第一输入点、第二输入点及第三输入点为屏幕中的触控点或鼠标点击点。在这种情况下,直接检测触控点或鼠标点击点的屏幕坐标,即可获得第一输入点、第二输入点及第三输入点的屏幕坐标。

在一些实施例中,用户可以通过地图软件中所提供的输入框等来输入该第一输入点、第二输入点及第三输入点的地图地理坐标(如经纬度等)。在这种情况下,则需要在接收到用户输入的第一输入点、第二输入点及第三输入点的地图地理坐标后,将其转换为第一输入点、第二输入点及第三输入点的屏幕坐标。

在步骤s204中,根据第一输入点及第二输入点的屏幕坐标,确定第一中间点的坐标。

例如,以(p1.x,p1.y)、(p2.x,p2.y)及(pa.x,pa.y)分别表示第一输入点、第二输入点及第一中间点的x坐标及y坐标,则第一中间点的坐标为:

在步骤s206中,根据第一中间点及第三输入点的屏幕坐标,确定第二中间点的坐标。

例如,以(p3.x,p3.y)及(pb.x,pb.y)分别表示第三输入点与第二中间点的x坐标及y坐标,则第二中间点的坐标为:

图4是根据一示例示出的第一输入点、第二输入点、第三输入点、第一中间点及第二中间点的示意图。如图4所示,第一输入点、第二输入点及第三输入点可以分别表示为点①、点②及点③,根据上述公式确定的第一中间点及第二中间点则分别表示为点a及点b。

在步骤s208中,确定第三输入点与第二中间点之间的距离。

该距离以c表示,则

在步骤s210中,确定第三输入点与第二中间点之间连线的倾斜角。

该倾斜角s可以借由函数atan2(x,y)来计算,即s=atan2((p3.y-pb.y),(p3.x-pb.x))。

在步骤s212中,根据第三输入点的坐标、上述距离及倾斜角,确定第一输出点及第二输出点的屏幕坐标。

例如,以(p4.x,p4.y)、(p5.x,p5.y)分别为所述第一输出点与所述第二输出点的x坐标及y坐标,则第一输出点及第二输出点的坐标分别为:

图5是根据一示例示出的第一输入点、第二输入点、第三输入点、第一中间点、第二中间点、第一输出点及第二输出点的示意图。如图5所示,第一输入点、第二输入点、第三输入点、第一中间点及第二中间点可以分别表示为点①、点②、点③、点a及点b,根据上述公式确定出的第一输出点及第二输出点分别以点④及点⑤表示。

在步骤s214中,以第一输入点为起点、第三输入点为终点及第一中间点为靠拢控制点,形成第一输入点与第三输入点之间的第一贝塞尔曲线。

实际实施时,例如可以通过贝塞尔曲线函数来生成该第一贝塞尔曲线。

在步骤s216中,以第二输入点为起点、第三输入点为终点及第一中间点为靠拢控制点,形成第二输入点与第三输入点之间的第二贝塞尔曲线。

同样地,实际实施时,例如可以通过贝塞尔曲线函数来生成该第二贝塞尔曲线。

在步骤s218中,分别形成第一输出点与第三输入点、第二输出点与第三输入点及第一输出点与第二输出点之间的第一连线、第二连线及第三连线。

该第一连线、第二连线及第三连线可以为两两端点之间的普通线段。

图6是根据一示例示出的第一贝塞尔曲线、第二贝塞尔曲线、第三贝塞尔曲线、第一连线、第二连线及第三连线的示意图。

在步骤s220中,根据第一贝塞尔曲线、第二贝塞尔曲线、第三贝塞尔曲线、第一连线、第二连线及第三连线,形成所述标绘图形。

图7是根据一示例示出的地图中标绘图形的示意图。在将图6中由第一连线、第二连线及第三连线组成的三角形填充颜色后,如为了醒目可以填充为红色等,形成如图7所示的用于表示群体移动趋势的箭头。

此外,在一些实施例中,在形成了上述标绘图形后,如果第一输入点、第二输入点或者第三输入点的屏幕坐标被改变,如以拖动方式被改变,则可以重新通过上述方法,更新第一中间点、第二中间点、第一输出点及第二输出点的屏幕坐标,并重新在地图中形成新的标绘图形并显示。从而可以实现对标绘图形360度的拖曳、拉伸。

本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

图8是根据一示例性实施方式示出的一种地图标绘装置的框图。如图8所示,装置30包括:输入点坐标获取模块302、中间点坐标确定模块304、输出点坐标确定模块306及标绘图形形成模块308。

其中,输入点坐标获取模块302用于获取第一输入点、第二输入点及第三输入点的屏幕坐标。

第一输入点及第二输入点为一群体所在区域中任意的两个行进起始点,第三输入点为群体的行进方向上的任意一点,标绘图形用于表示群体的行进趋势。

在一些实施例中,第一输入点、第二输入点及第三输入点为屏幕中的触控点或鼠标点击点,输入点坐标获取模块302包括:坐标检测子模块,用于检测触控点或鼠标点击点的屏幕坐标,以获取第一输入点、第二输入点及第三输入点的屏幕坐标。

在一些实施例中,输入点坐标获取模块302包括:坐标接收子模块及坐标转换子模块。其中,坐标接收子模块用于接收用户输入的第一输入点、第二输入点及第三输入点的地图地理坐标。坐标转换子模块用于将第一输入点、第二输入点及第三输入点的地图地理坐标转换为对应的屏幕坐标。

中间点坐标确定模块304用于根据第一输入点、第二输入点及第三输入点的屏幕坐标,确定第一中间点及第二中间点的屏幕坐标。

在一些实施例中,中间点坐标确定模块304包括:第一中间点坐标确定子模块及第二中间点坐标确定子模块。其中,第一中间点坐标确定子模块用于根据第一输入点及第二输入点的屏幕坐标,确定第一中间点的坐标为:

第二中间点坐标确定子模块用于根据第一中间点及第三输入点的屏幕坐标,确定第二中间点的坐标为:

其中,(p1.x,p1.y)、(p2.x,p2.y)、(p3.x,p3.y)、(pa.x,pa.y)及(pb.x,pb.y)分别为第一输入点、第二输入点、第三输入点、第一中间点及第二中间点的x坐标及y坐标。

输出点坐标确定模块306用于根据第三输入点及第二中间点的屏幕坐标,确定第一输出点及第二输出点的屏幕坐标。

在一些实施例中,输出点坐标确定模块306包括:距离确定子模块、倾斜角确定子模块及输出点确定子模块。其中,距离确定子模块用于确定第三输入点与第二中间点之间的距离c为:

倾斜角确定子模块用于确定第三输入点与第二中间点之间连线的倾斜角s。输出点确定子模块用于根据第三输入点的坐标、距离c及倾斜角s,确定第一输出点及第二输出点的屏幕坐标分别为:

其中,(p4.x,p4.y)、(p5.x,p5.y)分别为第一输出点与第二输出点的x坐标及y坐标。

标绘图形形成模块308用于在地图中形成并显示由第一输入点、第二输入点、第三输入点、第一输出点及第二输出点所构成的标绘图形。

在一些实施例中,标绘图形形成模块308包括:第一曲线形成子模块、第二曲线形成子模块、连线形成子模块及图形形成子模块。其中,第一曲线形成子模块用于以第一输入点为起点、第三输入点为终点及第一中间点为靠拢控制点,形成第一输入点与第三输入点之间的第一贝塞尔曲线。第二曲线形成子模块用于以第二输入点为起点、第三输入点为终点及第一中间点为靠拢控制点,形成第二输入点与第三输入点之间的第二贝塞尔曲线。连线形成子模块用于分别形成第一输出点与第三输入点、第二输出点与第三输入点及第一输出点与第二输出点之间的第一连线、第二连线及第三连线。图形形成子模块用于根据第一贝塞尔曲线、第二贝塞尔曲线、第三贝塞尔曲线、第一连线、第二连线及第三连线,形成标绘图形。

在一些实施例中,装置30还包括:标绘图形变更模块310,用于当第一输入点、第二输入点或第三输入点的屏幕坐标被改变时,根据改变后的第一输入点、第二输入点或第三输入点的屏幕坐标,更新第一中间点、第二中间点、第一输出点及第二输出点的坐标;及在地图中形成并显示由改变后的第一输入点、第二输入点、第三输入点与更新后的第一输出点及第二输出点所构成的更新后的标绘图形。

需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。

例如,在一些可能的实施方式中,本发明的各个方面可以实现为一种终端设备的形式。根据本发明实施方式的终端设备可以包括至少一个处理器以及至少一个存储器。其中,所述存储器有可执行指令,当所述可执行指令被所述处理器执行时,使得所述处理器执行根据本发明各种示例性实施方式的地图标绘方法中的步骤。如图1所示的方法10中的步骤s102~s108,及图2所示的方法20中的步骤s202~s220。

此外,在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其可以存储在一个非易失性可读存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,其包括可执行指令,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行根据本发明各种示例性实施方式的地图标绘方法中的步骤。如图1所示的方法10中的步骤s102~s108,及图2所示的方法20中的步骤s202~s220。

以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

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