掌桥专利:专业的专利平台
掌桥专利
首页

自定义元素静态图层生成方法

文献发布时间:2023-06-19 10:19:37


自定义元素静态图层生成方法

技术领域

本发明涉及车联网技术领域,具体为自定义元素静态图层生成方法。

背景技术

车联网的概念源于物联网,即车辆物联网,是以行驶中的车辆为信息感知对象,借助新一代信息通信技术,实现车与X(即车与车、人、路、服务平台)之间的网络连接,提升车辆整体的智能驾驶水平,为用户提供安全、舒适、智能、高效的驾驶感受与交通服务,同时提高交通运行效率,提升社会交通服务的智能化水平。目前的车联网使用互联网的栅格地图类似技术,将地图图层分成一个个分布均匀的瓦片,同时将自定义的点通过互联网接口进行自定位地物点、图标等信息的标注。

由于目前互联图的地图不可能将全国各地各个地方详细的地标在地图全部标示出来,导致某些偏僻地区地理标注信息点过于稀少,因此用户可以将自己经常经过的地点添加自定义标注或线路,而如果自定义海量的地物点,在调用网络地图接口显示海量地物信息或标注点时则会加载很慢,界面很卡,操作不方便。由于现在的浏览器绘制动态元素解析速度有限,以及客户端电脑的性能也有限,再加上各地图厂商对加到地图的覆盖物最大数目支持有限。综上所述,如果将用户大量的标注或线路使用网络接口调用地图覆盖物去绘制显示,会大大降低地图操作的流畅性。

发明内容

本发明解决的技术问题在于克服现有技术地图底图地理信息元素不够丰富的缺陷,提供自定义元素静态图层生成方法。所述自定义元素静态图层生成方法将自定义的海量地物点以及需要显示的图标,在本地服务器生成图层,通过自定义图层的方式高效的加载显示对应的地图图层信息。

为实现上述目的,本发明提供如下技术方案:自定义元素静态图层生成方法,包括以下步骤:

(1)打开静态图层显示开关;

(2)检测用户有无标注或线路图层;

(3)根据(2)中的检测情况进行下一个步骤;

(4)准备生成各级地图标注或线路图层;

(5)根据标注或线路的经纬度生成地图平面坐标;

(6)将地图平面坐标转换成瓦片坐标;

(7)根据前两者计算得出标注或线路在瓦片的像素坐标;

(8)将所有同一个瓦片编号的标注或线路放在同一个任务列表中;

(9)根据瓦片编号产生地图图层生成任务队列;

(10)使用多线程产生读取生成图层任务队列;

(11)根据瓦片编号产生地图图层生成任务队列;

(12)使用多线程读取任务队列读取任务绘制图层;

(13)将同一个瓦片点或线绘制到透明图层中;

(14)绘制完成后使用瓦片编号作为图层名称;

(15)将图层保存到服务端软件中以供客户端访问;

(16)更新点线面图层状态。

优选的,当步骤(2)中检测到用户有标注或线路图层时,在地图上显示标注或线路的图层,并检测用户有无未生成图层的标注或线路;

优选的,当步骤(2)中检测到用户没有标注或线路图层时,打开标注或线路数据列表,并进行下一个步骤;

优选的,当检测到用户有未生成图层的标注或线路,在地图上显示标注或线路覆盖物;

优选的,当检测到用户没有未生成图层的标注或线路,同样打开标注或线路数据列表,并进行下一个步骤;

优选的,当打开标注或线路数据列表时,添加标注或线路,并在地图单击画标注或画线路操作;

优选的,当在地图单击画标注或画线路操作时,输入标注或线路的信息,并将保存数据到数据库中。

与现有技术相比,本发明的有益效果是:

1、用户在移动地图时,地图引擎将实时加载图层生成服务生成的各级别的透明图层;

2、用户在点线面管理中,将数据添加完毕后,生成服务将定时检测数据库,若有新的数据,将数据生成图层,无须人工干预;

3、通过该技术可以应用在GIS客户端监控、B/S客户端监控;提高某些偏僻地区地理标注信息点;大大加快地图显示速度,同时也让地图能加载更多的实时车辆图标。

附图说明

图1为本发明的整体流程框图;

图2为检测用户有无标注或线路图层的前置流程框图;

图3为检测用户有无标注或线路图层的后续流程框图;

图4为检测用户有无未生成图层的标注或线路的后续流程框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-4,本发明提供一种技术方案:包括以下步骤:

(1)打开静态图层显示开关;

(2)检测用户有无标注或线路图层;

(3)根据(2)中的检测情况进行下一个步骤,当步骤(2)中检测到用户有标注或线路图层时,在地图上显示标注或线路的图层,并检测用户有无未生成图层的标注或线路,当检测到用户有未生成图层的标注或线路,在地图上显示标注或线路覆盖物,当检测到用户没有未生成图层的标注或线路,打开标注或线路数据列表,并进行下一个步骤,当步骤(2)中检测到用户没有标注或线路图层时,同样打开标注或线路数据列表,当打开标注或线路数据列表时,添加标注或线路,并在地图单击画标注或画线路操作,当在地图单击画标注或画线路操作时,输入标注或线路的信息,并将保存数据到数据库中;

(4)准备生成各级地图标注或线路图层;

(5)根据标注或线路的经纬度生成地图平面坐标;

(6)将地图平面坐标转换成瓦片坐标;

(7)根据前两者计算得出标注或线路在瓦片的像素坐标;

(8)将所有同一个瓦片编号的标注或线路放在同一个任务列表中;

(9)根据瓦片编号产生地图图层生成任务队列;

(10)使用多线程产生读取生成图层任务队列;

(11)根据瓦片编号产生地图图层生成任务队列;

(12)使用多线程读取任务队列读取任务绘制图层;

(13)将同一个瓦片点或线绘制到透明图层中;

(14)绘制完成后使用瓦片编号作为图层名称;

(15)将图层保存到服务端软件中以供客户端访问;

(16)更新点线面图层状态。

工作原理:一般情况下,我的地图默认显示了标注或线路的静态图层元素,用户可以将标注或线路的显示状态关闭,只显示某一类地图元素即可。通过静态图层,系统理论上能支持无限地理标注或线路的信息管理。如此此用户没有添加任何地图元素信息,则地图上一般不显示静态图层。对于用户新增加了标注或线路,一般在地图服务还没有生成图层时,会以地图覆盖物显示在地图上。用户可以添加标注或线路信息,此时用户的数据会先保存在数据库中。

图层服务部署在服务器端,可根据服务配置文件的参数,支持在某一段空闲的时间去启动图层生成服务,也支持定时检测是否存在未生成图层的标注或线路,如果存在则立即启动图层生成任务。一般情况下会按定时检测配置服务,此时服务软件会定时检测标注或线路表是否有未生成图层的数据,如果有,则读取数据所属用户地图图层的设置信息,例如需要生成哪些缩放级别的图层,是否将标注或线路的名称画在图层上。服务会将标注或线路的地图坐标转成对对应地图平面坐标,然后再根据地图瓦片的大小(一般为256*256像素),计算出每个经纬度在不同地图级别下所在的地图瓦片坐标,相当于同个经纬度在每个级别都有不同的地图瓦片坐标,根据以上信息可以计算出每个经纬度在对应瓦片的像素坐标。此时任务队列会先按地图级别分组,再按瓦片编号进行任务分组,即将地图瓦片编号作为每个任务对应的主键.此时服务会读取队列的任务参数,生成时将同时绘制同一个瓦片内的标注或线路信息,绘制时底图是透明图层,这样在显示图层时,也可以看得清楚地图底图信息,图层生成后,将地图瓦片编号作为图层的文件名称保存到服务器的文件夹中,此时服务会更新对应图层的所有标注或线路是否已生成图层的标识,将标识设置为已生成。这样客户端在访问地图时,会读取数据库信息,如果检测到已经生成图层,则会直接加载图层,这样图层便会显示出来。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关技术
  • 自定义元素静态图层生成方法
  • 一种快速生成自定义静态Web页面的方法及装置
技术分类

06120112502895