本发明涉及图元渲染,具体涉及一种基于矢量图标的电网gis图元渲染方法及装置。
背景技术:
1、传统的电网地理信息服务平台(gis)图元展示存在图元展示不清晰、缩放失真、大小不一、图元制作周期长、图层配置工作量大等问题。这主要是由于传统的电网gis使用的是精灵图片(png)的方式,图元数量和着色要求多时,需要针对每个图元,每个颜色绘制图元,制作成大的精灵图片,所以存在上述问题。
技术实现思路
1、基于上述现状,本发明的主要目的在于提供一种支持清晰矢量渲染、降低图符的网络传输量和图层配置工作复杂度、提升渲染性能的电网gis图元渲染方法及装置。
2、为实现上述目的,本发明采用的技术方案如下:
3、一种基于矢量图标的电网gis图元渲染方法,包括:
4、s100:使用矢量图标格式绘制字体图标,所述字体图标作为电网设备图元的设备图符;
5、s200:根据预定义的配置,按照比例尺级别将所述设备图符转化为至少一个png格式图标,并根据预设的图标命名规则生成所述png格式图标标识;
6、s300:将所述png格式图标转化成sdf格式数据,所述png格式图标标识也是所示所述sdf格式数据标识;
7、s400:根据当前浏览区域和所述比例尺级别获取需要显示的设备类型,根据所述预设的图标命名规则设置设备图层绑定的icon-image值为当前设备对应的sdf格式数据标识,将具有所述sdf格式数据标识的图符数据设置到对应图层的icon-image属性中,以进行图元渲染。
8、优选地,所述s100中,当所述设备图符的形状相同且像素值不同,或,形状相同且颜色不同时,只绘制一个字体图标作为所述设备图符。
9、优选地,所述s200包括:
10、创建一个画布类;
11、根据当前显示场景和渲染需求,设置所述画布类的尺寸和图符渲染颜色;
12、在所述画布类中加载所述设备图符,获取所述设备图符数据,将所述设备图符转化为至少一个png格式图标。
13、优选地,所述s300包括,
14、读取所述png格式图标数据,记录所述图标长宽值和中心坐标;
15、轮询所述图标的扫描数据,计算出图标内每个alpha有值的点到最近边界的距离值;
16、将所有所述距离值保存为二进制图符数据,所述二进制图符数据为所述sdf格式数据。
17、优选地,所述s300中还包括,
18、将所述sdf格式数据存储在内存中,以使得所述sdf格式数据可重复使用。
19、本发明还提供一种基于矢量图标的电网gis图元渲染装置,包括矢量图标格式设备图符生成模块、png格式图标生成模块、sdf格式数据生成模块和图元渲染模块,
20、所述矢量图标格式设备图符生成模块用于使用矢量图标格式绘制字体图标,所述字体图标作为电网设备图元的设备图符;
21、所述png格式图标生成模块用于根据比例尺级别将所述设备图符转化为至少一个png格式图标,并根据预设的图标名称规则生成所述png格式图标标识;
22、所述sdf格式数据生成模块用于将所述png格式图标转化成sdf格式数据,所述png格式图标标识也是所示sdf格式数据标识;
23、所述图元渲染模块用于根据当前浏览区域和所述比例尺级别获取需要显示的设备类型,根据所述预设的图标命名规则设置设备图层绑定的icon-image值为当前设备对应的sdf格式数据标识,将具有所述sdf格式数据标识的图符数据设置到对应图层的icon-image属性中,以进行图元渲染。
24、优选地,所述png格式图标生成模块包括画布创建单元和png格式图标生成单元,
25、所述画布创建单元用于创建一个画布类,并根据当前显示场景和渲染需求,设置所述画布类的尺寸和图符渲染颜色;
26、所述png格式图标生成单元用于在所述画布类中加载所述设备图符,获取所述设备图符数据,将所述设备图符转化为至少一个png格式图标。
27、优选地,所述sdf格式数据生成模块包括数据读取单元、距离值计算单元和sdf格式数据提取单元,
28、所述数据读取单元用于读取所述png格式图标数据,记录所述图标长宽值和中心坐标;
29、所述距离值计算单元用于轮询所述图标的扫描数据,计算出图标内每个alpha有值的点到最近边界的距离值;
30、所述sdf格式数据提取单元用于将所有所述距离值保存为二进制图符数据,所述二进制图符数据为所述sdf格式数据。
31、优选地,还包括存储模块,用于存储所述sdf格式数据,以使得所述sdf格式数据可重复使用。
32、本发明还提供一种存储介质,所述存储介质存储有程序,其中,所述程序用于被执行实现本发明所述的基于矢量图标的电网gis图元渲染方法。
33、本发明创造性的使用字体文件矢量图标iconfont格式定义设备图符,根据当前浏览的比例尺、设备图符显示大小、设备图符显示颜色需要,生成设备图符对应的png图符文件,在图层渲染前,将图符文件以sdf格式设置给前端进行展示。本发明创造性地将iconfont矢量字形图标技术与sdf图符定义方式相结合,实现电网图元动态渲染,用于电网设备图符的展示,解决了面向电网gis图元的渲染性能、兼容性、跨平台支撑、更优的展示效果等问题。可以降低制作图标的压力和图层配置难度,减少精灵图片体积大而导致的网络耗时和加载时间,解决了浏览器兼容性不足、渲染速度较慢、对跨平台的支撑不友好等问题。相对传统的纯png精灵图片技术,iconfont技术的引入,在支持清晰矢量渲染的同时,减少了图标的网络传输量和图层配置工作,大大提升了渲染性能。
34、本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
1.一种基于矢量图标的电网gis图元渲染方法,其特征在于,包括:
2.根据权利要求1所述的基于矢量图标的电网gis图元渲染方法,其特征在于,
3.根据权利要求1所述的基于矢量图标的电网gis图元渲染方法,其特征在于,所述s200包括:
4.根据权利要求1所述的基于矢量图标的电网gis图元渲染方法,其特征在于,所述s300包括,
5.根据权利要求1所述的基于矢量图标的电网gis图元渲染方法,其特征在于,所述s300中还包括,
6.一种基于矢量图标的电网gis图元渲染装置,其特征在于,包括矢量图标格式设备图符生成模块、png格式图标生成模块、sdf格式数据生成模块和图元渲染模块,
7.根据权利要求6所述的基于矢量图标的电网gis图元渲染装置,其特征在于,所述png格式图标生成模块包括画布创建单元和png格式图标生成单元,
8.根据权利要求6所述的基于矢量图标的电网gis图元渲染装置,其特征在于,所述sdf格式数据生成模块包括数据读取单元、距离值计算单元和sdf格式数据提取单元,
9.根据权利要求6-8任一项所述的基于矢量图标的电网gis图元渲染装置,其特征在于,还包括存储模块,用于存储所述sdf格式数据,以使得所述sdf格式数据可重复使用。
10.一种存储介质,其特征在于,所述存储介质存储有程序,其中,所述程序用于被执行实现如权利要求1-5任一项所述的方法。