一种基于Openlayers的地图光晕生成方法技术

技术编号:23240116 阅读:70 留言:0更新日期:2020-02-04 19:05
本发明专利技术提供了一种基于Openlayers的地图光晕生成方法,包括以下步骤:将准备的需要生成光晕地图的矢量面数据输入到内存中,确定光晕轮廓,对地图边界做多个缓冲区,借助turf空间分析工具对矢量面进行多次缓冲区分析,对光晕宽度进行调节,借助turf空间分析工具中的擦除功能,对产生的光晕进行多余的擦除,然后将擦除后的矢量面数据按照一定顺序添加到地图中,形成光晕效果,通过Openlayers显示出来。本发明专利技术所述的地图光晕通过多缓冲区的方式来制作光晕效果,完美匹配地图,无需事先制作,且可以随地图动态缩放,思路新颖,效果出色。

A method of map halo generation based on openlayers

【技术实现步骤摘要】
一种基于Openlayers的地图光晕生成方法
本专利技术属于电子
,尤其是涉及一种基于Openlayers的地图光晕生成方法。
技术介绍
地图目前已经成为很多大屏展示系统的重要一环,在大屏展示系统中,地图往往能够使表现形式更加丰富多彩,目前地图主流展示方式都是通过WebGIS来实现,而Openlayers正是开源WebGIS中使用最为广泛的引擎之一。由于本生的局限性,一些比较酷炫的地图展示效果,无法提供,例如地图的光晕效果,可以大大提升大屏展示效果,而Openlayers无法直接实现,为了满足地图光晕效果,一种基于Openlayers的地图光晕生成方法显得十分必要。
技术实现思路
有鉴于此,本专利技术旨在提出一种基于Openlayers的地图光晕生成方法,使地图在Openlayers中表现形式更加丰富多彩。为达到上述目的,本专利技术的技术方案是这样实现的:一种基于Openlayers的地图光晕生成方法,包括以下步骤:(1)将准备的需要生成光晕地图的矢量面数据输入到内存中,确定光晕轮廓;(2)对地图边界做多个缓冲区,借助turf空间分析工具对矢量面进行多次缓冲区分析,对光晕宽度进行调节;(3)借助turf空间分析工具中的擦除功能,对产生的光晕进行多余的擦除,将擦除后的矢量面数据按照擦出后的顺序添加到地图中,形成图层;(4)对地图中的图层进行符号化,形成光晕效果,通过Openlayers显示出来。进一步的,所述骤(1)中成光晕轮廓的方法为:将所述矢量面数据,添加到Openlayers的地图中,设置该矢量面数据填充颜色以及边框颜色设置为完全透明,为不影响后续地图光晕展示效果。进一步的,所述步骤(2)中多个缓冲区是用于生成光晕的方法,所述缓冲区个数越多,生成的光晕越平滑。进一步的,所述步骤(2)中对光晕宽度进行调节的具体方法为:首先缓冲区分析8次以上,每次进行缓冲区分析的缓冲半径按照等差数列递增,具体数值根据所需光晕宽度进行调节。进一步的,所述缓冲半径的具体数值为当前地图级别下的分辨率resOlutiOn的n倍,n的值决定了光晕的宽度。进一步的,所述步骤(4)中图层进行符号化的具体方法为:设置最里层的缓冲区填充颜色为不透明,越往外侧设置颜色越透明,形成梯度。相对于现有技术,本专利技术所述的一种基于Openlayers的地图光晕生成方法,具有以下优势:本专利技术所述的光晕效果可以大大提升屏幕的展示效果,使地图能过表现的更加丰富多彩。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例所述的一种基于Openlayers的地图光晕生成方法示意图;具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本专利技术中的具体含义。下面将参考附图并结合实施例来详细说明本专利技术。如图1一种基于Openlayers的地图光晕生成方法,包括以下步骤:1、将准备需要生成光晕地图的矢量面数据,存入到内存中,用于确定光晕的轮廓以及后续裁切缓冲区,将矢量面数据,添加到Openlayers的地图中,设置该面数据填充颜色以及边框颜色设置为完全透明,为不影响后续地图光晕展示效果。2、对地图边界数据做多个缓冲区,缓冲区个数越多生成的光晕越平滑。借助turf空间分析工具,对步骤1中加入地图的矢量面进行多次缓冲区分析8次以上,每次进行缓冲区分析的缓冲半径按照等差数列递增,缓冲半径的具体数值为当前地图级别下的分辨率resolution(每个像素代表的实地距离mapunitsperpixels)的n倍,n的值决定了光晕的宽度。3、对步骤2中生成的多个缓冲区与步骤1中的矢量面数据,借助turf空间分析工具中的擦除功能进行擦除操作,获取缓冲区图层矢量面以外部分,将多个擦除矢量面的缓冲区图层按照擦除矢量面数据顺序添加到地图中,越外侧的缓冲区,越先添加。4、对步骤3中生成的图层进行符号化,将最里面的缓冲区填充颜色为不透明,越往外侧设置颜色越透明,形成梯度,即可生成光晕效果。5、随着地图缩放,动态获取地图的分辨率,根据当前缩放级别下的分辨率,重复步骤2-4,生成新的分辨率下的缓冲区,替换原有缓冲区,不管在什么级别下,光晕效果始终达到最优效果。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于Openlayers的地图光晕生成方法,其特征在于:包括以下步骤:/n(1)将准备的需要生成光晕地图的矢量面数据输入到内存中,确定光晕轮廓;/n(2)对地图边界做多个缓冲区,借助turf空间分析工具对矢量面进行多次缓冲区分析,对光晕宽度进行调节;/n(3)借助turf空间分析工具中的擦除功能,对产生的光晕进行多余的擦除,将擦除后的矢量面数据按照擦出后的顺序添加到地图中,形成图层;/n(4)对地图中的图层进行符号化,形成光晕效果,通过Openlayers显示出来。/n

【技术特征摘要】
1.一种基于Openlayers的地图光晕生成方法,其特征在于:包括以下步骤:
(1)将准备的需要生成光晕地图的矢量面数据输入到内存中,确定光晕轮廓;
(2)对地图边界做多个缓冲区,借助turf空间分析工具对矢量面进行多次缓冲区分析,对光晕宽度进行调节;
(3)借助turf空间分析工具中的擦除功能,对产生的光晕进行多余的擦除,将擦除后的矢量面数据按照擦出后的顺序添加到地图中,形成图层;
(4)对地图中的图层进行符号化,形成光晕效果,通过Openlayers显示出来。


2.根据权利要求1所述的一种基于Openlayers的地图光晕生成方法,其特征在于:所述骤(1)中成光晕轮廓的方法为:将所述矢量面数据,添加到Openlayers的地图中,设置该矢量面数据填充颜色以及边框颜色设置为完全透明,为不影响后续地图光晕展示效果。


3.根据权利要求1所述的一种基...

【专利技术属性】
技术研发人员:王瑜慧史鑫明王旭柳孟成
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:天津;12

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

1