一种基于矢量瓦片的注记选位与动态避让方法技术

技术编号:20006479 阅读:36 留言:0更新日期:2019-01-05 18:23
本发明专利技术公开了一种基于矢量瓦片的注记选位与动态避让方法,包括:设计并定义矢量瓦片服务和数据组织结构,结合用户设置的注记字体大小、文本间距等相关参数,计算要素注记的多个候选位置,并通过权重阈值,对点注记、线注记在web前端模拟多线性进行全局动态避让处理,从而解决注记选位与布局过程中出现的冲突与压盖问题。

A Method of Note Location and Dynamic Avoidance Based on Vector tile

The invention discloses a method of annotation location and dynamic avoidance based on vector tiles, which includes: designing and defining vector tiles service and data organization structure, calculating multiple candidate positions of element annotation combined with relevant parameters such as font size and text spacing set by users, and simulating multi-linearity of point annotation and line annotation in the front end of web through weight threshold. Dynamic avoidance processing can solve the conflict and capping problem in the process of annotation location and layout.

【技术实现步骤摘要】
一种基于矢量瓦片的注记选位与动态避让方法
本专利技术涉及地理信息处理领域的电子地图制图综合方法,具体来说,涉及一种基于矢量瓦片的注记选位与动态避让方法。
技术介绍
相较于传统的栅格瓦片地图生产工艺和服务模式,矢量瓦片技术具有数据更新周期短、网络传输数据量小、地图样式可定制、支持要素拾取、可交互式查询等优势,也逐渐成为网络地图服务的热点和主流加工方式。但网络地图服务除了显示地图外,其核心功能是将地图承载的地理要素进行合理化表达,帮助用户更好地认知和识别地物,而矢量瓦片地图对注记的自动化配置程度、图形表达效果和前端渲染效率,是保证地物可认知程度和在线地图服务质量的关键。矢量瓦片地图注记自动化配置需要满足特定的限制条件,包括瓦片内冲突检测、密度控制、范围选择、避免压盖和优先级显示等,同时按照金字塔模型被“瓦片”分割后的地理要素在拼接处不能产生断裂或冲突等视觉不连贯的现象。现有技术中,在注记候选位置的确定方面,主要成果有固定位置模型、滑动模型以及基于格网等近似连续的注记模型等。但位置候选区并非在注记所有可配置的候选区中寻求最佳位置,其他算法复杂程度高,用户配置新的注记字体样式和间隔后,算法参数重新配置与服务更新比较繁琐,并且,点要素、线要素交叉与集中区域,注记配置的位置和视觉效果往往不佳。针对相关技术中的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中的上述技术问题,本专利技术提出一种基于矢量瓦片的注记选位与动态避让方法,能够根据用户配置的注记样式自动配置注记摆放位置,并根据要素权重值在前端进行全局动态避让处理,解决注记选位与布局过程中出现的冲突与压盖问题。为实现上述技术目的,本专利技术的技术方案是这样实现的:一种基于矢量瓦片的注记选位与动态避让方法,具体包括以下步骤:步骤1,根据当前屏幕坐标范围计算、下载并解析对应层级的矢量瓦片数据,设计并定义矢量瓦片服务元数据与实体数据组织结构。其中,服务元数据对服务及服务包含的图层信息、属性信息进行描述,结合Tiles瓦片数据表、结合服务元数据中的图层信息,实现要素几何类型、属性信息、空间信息及偏移信息的完整表达。步骤2,下载并解析当前层级服务样式的组织结构与注记配置参数。步骤3,将线注记切割为文本注记和编号注记,随着用户设置的样式参数,实时寻求注记显示的定位点和最佳候选区域,根据注记文本间距计算文本显示位置,具体包括:步骤3.1,线要素属性数据中,注记文本与编号在一条属性项中,根据前端显示需要切割成对应的线文字注记与线编号注记;步骤3.2,以八方位计算线要素方向线,确认线注记与线编码排列摆放起始方向;步骤3.3,根据注记文本间距计算每个注记文本摆放位置,线注记文本与线编号文本之间间隔本专利技术方法根据需要默认提供20-30像素;步骤4,计算点注记、线注记的box值及线注记的旋转方向,包括:步骤4.1,以点要素坐标为圆心,根据用户设置的点注记文本字体的大小、注记与标注符号间距离、背景图片的高度和宽度,依次计算出右、左、下、上四个环绕方向的点注记文本box值;步骤4.2,根据用户设置的线注记、线编号文本字体的大小、文字到背景边框的距离、背景变宽的高度和宽度,计算出线注记、线编号每个文本字体的box值,其中,考虑到线注记文本有角度偏转,每个box值扩大1.5倍。步骤5,根据要素权重值对注记数据进行排序与避让处理,扩展要素显示权重参数,将点注记、线注记按照权重高级进行全局避让计算,使得注记数据疏密程度参差不齐时,点注记与线注记不在出现压盖,且均衡的分布在线要素两侧,使得地图表达内容更丰富,具体包括:步骤5.1,根据要素的权重值,由大到小进行排序;步骤5.2,将点注记数据添加到计算单元格中,点注记如果配置有图标符号,开启四宫格避让;步骤5.3,点注记按照权重大小顺序进行四宫格递归检测,优先把权重值最高的要素开始放置在单元格中,后续其他注记进行四宫格递归避让监测过程中,显示优先级依次为右、左、下、上,计算是否与其他注记相交,返回避让过滤计算后的避让box和绘制坐标,其中,如果点注记外部标记为重要,则不参与避让计算,即使与其他注记进行了压盖,也显示,且排在最上面。步骤5.4,将线注记数据添加到计算单元格中;步骤5.5,计算线注记是否与其他注记相交,返回过滤计算后的避让box和绘制坐标。步骤6,由于HTML5的多线程在IE浏览器不支持内存共享,子线程之间也无法通讯,为了提高响应速度和UI流畅度,本方法设计在主线程中模拟多线程的任务处理机制来提升绘制性能,由webgl模拟多线程获取并绘制避让后的注记数据,具体包括:步骤6.1,监听帧响应时间,在每一帧的响应函数中,获取当前应该显示的瓦片;步骤6.2,获取应该显示的瓦片中避让处理后的注记数据;步骤6.3,根据当前的地图矩阵,重新计算点注记位置,并绘制;步骤6.4,根据当前的地图矩阵,重新计算线注记每个点的位置,并根据计算避让后得出的旋转角度绘制线注记。本专利技术的有益效果:有效的解决了矢量瓦片地图服务在注记选位与布局过程中出现的冲突和压盖问题,点注记均衡的分布与线要素两侧,地图表达内容更丰富,也清晰整洁。前端绘制过程中特殊的任务调度模式,降低了CPU资源占用率的同时,提高了UI响应的流畅度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的总体流程图;图2是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的矢量瓦片服务样式文件组织结构示意图;图3是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的线注记排列方向示例图;图4是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的线注记切割与选位示意图;图5是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的线注记与线编号切割显示实例效果图;图6是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的点注记、线注记全局避让实例效果图图7a和7b是根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法的注记避让前后对比效果图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,根据本专利技术实施例所述的一种基于矢量瓦片的注记选位与动态避让方法,包括以下步骤:S1根据当前屏幕坐标范围计算、下载并解析对应层级的矢量瓦片数据;S2下载并解析当前层级服务样式的组织结构与注记配置参数;S3将线注记切割为文本注记和编号注记,随着用户设置的样式参数,所述样式参数包括注记文本间距,实时寻求注记显示的定位点和最佳候选区域;S4计算点注记、线注记的box值及线注记的旋转方向,具体包括:S41以点要素坐标为圆心,根据用户设置的点注记文本字体的大小、注记与标注符号间距离、背景图片本文档来自技高网...

【技术保护点】
1.一种基于矢量瓦片的注记选位与动态避让方法,其特征在于,包括以下步骤:S1 根据当前屏幕坐标范围计算、下载并解析对应层级的矢量瓦片数据;S2 下载并解析当前层级服务样式的组织结构与注记配置参数;S3 将线注记切割为文本注记和编号注记,随着用户设置的样式参数,所述样式参数包括注记文本间距,实时寻求注记显示的定位点和最佳候选区域;S4计算点注记、线注记的box值及线注记的旋转方向,具体包括:S41 以点要素坐标为圆心,根据用户设置的点注记文本字体的大小、注记与标注符号间距离、背景图片的高度和宽度,依次计算右、左、下、上四个环绕方向的点注记文本box值;S42 根据用户设置的线注记、线编号文本字体的大小、文字到背景边框的距离、背景变宽的高度和宽度,计算线注记、线编号每个文本字体的box值;S5根据要素权重值分别对点注记数据和线注记数据进行排序与避让处理,返回避让过滤计算后的避让box和绘制坐标;S6 模拟多线程,获取并绘制避让后的注记数据。

【技术特征摘要】
1.一种基于矢量瓦片的注记选位与动态避让方法,其特征在于,包括以下步骤:S1根据当前屏幕坐标范围计算、下载并解析对应层级的矢量瓦片数据;S2下载并解析当前层级服务样式的组织结构与注记配置参数;S3将线注记切割为文本注记和编号注记,随着用户设置的样式参数,所述样式参数包括注记文本间距,实时寻求注记显示的定位点和最佳候选区域;S4计算点注记、线注记的box值及线注记的旋转方向,具体包括:S41以点要素坐标为圆心,根据用户设置的点注记文本字体的大小、注记与标注符号间距离、背景图片的高度和宽度,依次计算右、左、下、上四个环绕方向的点注记文本box值;S42根据用户设置的线注记、线编号文本字体的大小、文字到背景边框的距离、背景变宽的高度和宽度,计算线注记、线编号每个文本字体的box值;S5根据要素权重值分别对点注记数据和线注记数据进行排序与避让处理,返回避让过滤计算后的避让box和绘制坐标;S6模拟多线程,获取并绘制避让后的注记数据。2.根据权利要求1所述的基于矢量瓦片的注记选位与动态避让方法,其特征在于,S1进一步包括:设计并定义矢量瓦片服务元数据与实体数据组织结构,其中,服务元数据对服务及服务包含的图层信息、属性信息进行描述,结合Tiles瓦片数据表、结合服务元数据中的图层信息,实现要素几何类型、属性信息、空间信息及偏移信息的完整表达。3.根据权利要求1所述的基于矢量瓦片的注记选位与动态避让方法,其特征在于,S3具体包括:S31根据前端显示需要将线注记切割成对应的线文字注记...

【专利技术属性】
技术研发人员:李爱勤张兆阳陈张建周海鹏叶哲璐胡冯伟刘欣周慧
申请(专利权)人:浙江省测绘科学技术研究院北京吉威时代软件股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1