CN106095364B - 一种配电网超大规模图形文件的加载方法 - Google Patents
一种配电网超大规模图形文件的加载方法 Download PDFInfo
- Publication number
- CN106095364B CN106095364B CN201610395265.5A CN201610395265A CN106095364B CN 106095364 B CN106095364 B CN 106095364B CN 201610395265 A CN201610395265 A CN 201610395265A CN 106095364 B CN106095364 B CN 106095364B
- Authority
- CN
- China
- Prior art keywords
- sub
- screen
- pel
- graphic file
- base region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种配电网超大规模图形文件的加载方法,首先将图形文件分为索引区、基本区、子屏幕区,子屏幕区包含有多个子屏幕,占据子屏幕数为1的图元保存入子屏幕,跨子屏幕的图元保存入基本区;然后依次加载基本区的图元和子屏幕中的图元并进行图形缩放显示。本发明解决了配电网超大规模图形打开、漫游效率低的问题,与现有技术相比,只根据当前视口来决定加载哪些图元,能有效提高图形打开、漫游的速度。
Description
技术领域
本发明涉及配电调度自动化领域,尤其涉及一种配电网超大规模图形文件的加载方法。
背景技术
配电网图形中的图元数量及图形尺寸一般较大,遇到超大图形时,需多个子屏幕配合显示。采用传统的图形加载方法将整幅图形完全加载,导致图形打开时间较长。而使用一般的屏幕切片方法时,为了显示一条母线或馈线段,则需要同时加载多个子屏幕,造成很大的资源浪费,且延长了图形加载时间。
发明内容
针对现有技术中存在的上述问题,本发明公开了一种提高超大规模图形文件打开、漫游的响应速度的配电网超大规模图形文件的加载方法。
为解决上述问题,本发明采取的技术方案为:一种配电网超大规
模图形文件的加载方法,包括如下步骤:
步骤一、将图形文件分为索引区、基本区、子屏幕区,子屏幕区包含有多个子屏幕,占据子屏幕数为1的图元保存入子屏幕,跨子屏幕的图元保存入基本区,索引区包含基本区在图形文件中的起始位置偏移量以及用id表示的各子屏幕在图形文件中的起始位置偏移量;
S1、向图形文件中保存图元开始;
S2、根据图形画布的尺寸,子屏幕的宽、高计算需要划分的行数r、列数c以及子屏幕总个数N,N=r*c;
S3、创建子屏幕管理数组,子屏幕管理数组容量为N;
S3-1、遍历图元并判断是否遍历结束,未结束则执行S4,遍历结束则执行S8;
S4、根据当前正在遍历的图元的坐标、尺寸以及子屏幕宽、高计算该图元占据的子屏幕数;
S5、判断图元占据的子屏幕数是否为1,是则执行S6,否则执行S7,判断完所有图元后执行S8;
S6、把图元占据的子屏幕id作为下标,找到子屏幕管理数组中的子屏幕,将图元添加到对应子屏幕,返回S3-1;
S7、将图元添加到基本区,返回S3-1;
S8、保存基本区,包括基本区的图元个数、基本区在图形文件中的起始位置偏移量及在图形文件中占用的长度:先记录长度数值的存储位置L1,并设置为0,然后遍历并保存基本区的全部图元,计算基本区在文件中占用的长度,并保存到文件的L1位置;
S9、保存全部子屏幕,包括记录子屏幕区的起始位置偏移量Offset,遍历全部子屏幕,并保存每个子屏幕的起始位置偏移量和长度数据:记录子屏幕n的起始位置在文件中的偏移量OffSetn,保存子屏幕n中的图元个数,遍历并保存子屏幕n的全部图元,计算子屏幕n在文件中占用的长度并记录,遍历完成后,跳转到子屏幕区在文件中的起始位置Offset;
S10、向图形文件中保存图元结束;
基本区只存储尺寸大于或等于两个子屏幕的图元;子屏幕区包含
多个子屏幕,子屏幕的尺寸为固定值,各图元根据其坐标以及宽、
高计算所属子屏幕。
步骤二、打开图形时,只加载图形文件中基本区的图元并添加至画布,暂时不加载子屏幕区;
S1、打开图形文件开始;
S2、根据图形画布的尺寸,子屏幕的宽、高计算需要划分的行数r1、列数c1以及子屏幕总个数N1,N1=r1*c1;
S3、创建子屏幕管理数组,子屏幕管理数组容量N1,设置各个子屏幕的加载标志=false;
S4、读取基本区图元个数和基本区图元,并将图元添加到画布;
S5、遍历并读取全部子屏幕的起始位置偏移量和长度数据并记录到子屏幕管理数组;
S6、跳过各子屏幕,不读取子屏幕图元内容;
S6-1、设置“允许继续加载子屏幕标志”=true;
S7、打开图形文件结束;
步骤三、打开图形后或拖动画布进行漫游后,根据当前可见视口的位置进行计算得到需要显示的子屏幕列表,然后依次加载这些子屏幕中的图元;
S1、图形漫游开始;
S2、判断“允许继续加载子屏幕标志”是否为true,是则执行S3,否则执行S10;
S3、根据当前可见视口的坐标以及宽、高计算需要加载的子屏幕列表;通过可见视口的坐标、宽、高以及子屏幕的宽、高进行计算,得到可见视口所覆盖的子屏幕id列表,计算时要按照向外扩展的原则进行,以便能够加载更多的子屏幕,防止出现子屏幕加载不全导致显示不完全的情况,并且这样做也有助于图形预加载。加载这些子屏幕时,需要先到索引区找到子屏幕在文件中的偏移量(通过子屏幕id查找其偏移量),然后用偏移量定位到文件中的对应位置进行加载。
S4、遍历子屏幕列表;
S5、判断是否遍历结束,是则执行S8,否则执行S6;
S6、判断某个子屏幕n是否已加载,是则执行S5,否则执行S7;
S7、根据每个子屏幕id,查找子屏幕在图形文件中的起始位置偏移量和长度数据,打开图形文件定位到相应位置并加载对应子屏幕,将对应子屏幕的加载标志设置为true,然后返回S5;
S8、将子屏幕图元添加到画布;
S9、遍历已加载的子屏幕列表,将已经离开可见视口区域的子屏幕图元从画布删除,并将对应的子屏幕加载标志设置为false;
S10、图形漫游结束。
拖动图形画布进行漫游后,根据当前可见视口的位置重新进行计算得到需要显示的子屏幕列表,然后依次加载这些子屏幕,具体方法同步骤三。
步骤四、打开图形后可进行图形缩放显示,缩放后可以根据缩放系数判断是否继续加载子屏幕:当缩放系数小于指定限值时不再继续加载新的子屏幕,以防止加载的图元过多。
具体操作步骤如下:
S1、缩放操作开始;
S2、判断缩放系数是否小于指定限值,是则执行S4,否则执行S3;
S3、将允许继续加载子屏幕标志设置为true,转S5;
S4、将允许继续加载子屏幕标志设置为false;
S5、缩放操作结束。
基本区的文件存储格式为基本区的内容长度、包含的图元个数、
图元内容;子屏幕区的文件存储格式为子屏幕区的内容长度、各
子屏幕的内容;子屏幕的文件存储格式为该子屏幕的内容长度、
包含的图元个数、图元内容。
本方案采用矢量图形格式,把跨两个以上子屏幕的图元都存到基本区,以便能够事先加载,简化了加载过程。
本发明解决了配电网超大规模图形打开、漫游效率低的问题,与现有技术相比,只根据当前视口来决定加载哪些图元,能有效提高图形打开、漫游的速度。
附图说明
图1为本发明流程图;
图2是本发明实施方式中步骤一的流程图;
图3是本发明实施方式中步骤二的流程图;
图4是本发明实施方式中步骤三的流程图;
图5是本发明实施方式中图形缩放操作的流程图。
具体实施方式
下面结合附图对本发明的具体实施步骤进行详细描述:
一种配电网超大规模图形文件的加载方法,包括如下步骤:
步骤一、将图形文件分为索引区、基本区、子屏幕区,子屏幕区包含有多个子屏幕,占据子屏幕数为1的图元保存入子屏幕,跨子屏幕的图元保存入基本区,索引区包含基本区在图形文件中的起始位置偏移量以及用id表示的各子屏幕在图形文件中的起始位置偏移量;
如图2所示:
S1、向图形文件中保存图元开始;
S2、根据图形画布的尺寸,子屏幕的宽、高计算需要划分的行数r、列数c以及子屏幕总个数N,N=r*c;
S3、创建子屏幕管理数组,子屏幕管理数组容量为N;
S3-1、遍历图元并判断是否遍历结束,未结束则执行S4,遍历结束则执行S8;
S4、根据当前正在遍历的图元的坐标、尺寸以及子屏幕宽、高计算该图元占据的子屏幕数;
S5、判断图元占据的子屏幕数是否为1,是则执行S6,否则执行S7,判断完所有图元后执行S8;
S6、把图元占据的子屏幕id作为下标,找到子屏幕管理数组中的子屏幕,将图元添加到对应子屏幕,返回S3-1;
S7、将图元添加到基本区,返回S3-1;
S8、保存基本区,包括基本区的图元个数、基本区在图形文件中的起始位置偏移量及在图形文件中占用的长度:先记录长度数值的存储位置L1,并设置为0,然后遍历并保存基本区的全部图元,计算基本区在文件中占用的长度,并保存到文件的L1位置;
S9、保存全部子屏幕,包括记录子屏幕区的起始位置偏移量Offset,遍历全部子屏幕,并保存每个子屏幕的起始位置偏移量和长度数据:记录子屏幕n的起始位置在文件中的偏移量OffSetn,保存子屏幕n中的图元个数,遍历并保存子屏幕n的全部图元,计算子屏幕n在文件中占用的长度并记录,遍历完成后,跳转到子屏幕区在文件中的起始位置Offset;
S10、向图形文件中保存图元结束;基本区的文件存储格式为基本区的内容长度、包含的图元个数、图元内容;子屏幕区的文件存储格式为子屏幕区的内容长度、各子屏幕的内容;子屏幕的文件存储格式为该子屏幕的内容长度、包含的图元个数、图元内容。
步骤二、打开图形时,只加载图形文件中基本区的图元并添加至
画布,暂时不加载子屏幕区;如图3所示:
S1、打开图形文件开始;
S2、根据图形画布的尺寸,子屏幕的宽、高计算需要划分的行数r1、列数c1以及子屏幕总个数N1,N1=r1*c1;
S3、创建子屏幕管理数组,子屏幕管理数组容量为N1,设置各个子屏幕的加载标志=false;
S4、读取基本区图元个数和基本区图元,并将图元添加到画布;
S5、遍历并读取全部子屏幕的起始位置偏移量和长度数据并记录到子屏幕管理数组;
S6、跳过各子屏幕,不读取子屏幕图元内容;
S6-1、设置“允许继续加载子屏幕标志”=true;
S7、打开图形文件结束;
步骤三、打开图形后或拖动画布进行漫游后,根据当前可见视口
的位置进行计算得到需要显示的子屏幕列表,然后依次加载这些
子屏幕中的图元;如图4所示:
S1、图形漫游开始;
S2、判断允许继续加载子屏幕标志是否为true,是则执行S3,否则执行S10;
S3、根据当前可见视口的坐标以及宽、高计算需要加载的子屏幕列表;
S4、遍历子屏幕列表;
S5、判断是否遍历结束,是则执行S8,否则执行S6;
S6、判断某个子屏幕n是否已加载,是则执行S5,否则执行S7;
S7、根据每个子屏幕id,查找子屏幕在图形文件中的起始位置偏移量和长度数据,打开图形文件定位到相应位置并加载对应子屏幕,将对应的子屏幕加载标志设置为true,然后返回S5;
S8、将子屏幕图元添加到画布;
S9、遍历已加载的子屏幕列表,将已经离开可见视口区域的子屏幕图元从画布删除,并将对应的子屏幕加载标志设置为false;
S10、图形漫游结束。
步骤四、打开图形后可进行图形缩放显示,缩放后可以根据缩放系数判断是否继续加载子屏幕:当缩放系数小于指定限值时不再继续加载新的子屏幕。
S1、缩放操作开始;
S2、判断缩放系数是否小于指定限值,是则执行S4,否则执行S3;
S3、将允许继续加载子屏幕标志设置为true,转至S5;
S4、将允许继续加载子屏幕标志设置为false;
S5、缩放操作结束。
Claims (6)
1.一种配电网超大规模图形文件的加载方法,其特征在于包括如下步骤:
步骤一、将图形文件分为索引区、基本区、子屏幕区,子屏幕区包含有多个子屏幕,占据子屏幕数为1的图元保存入子屏幕,跨子屏幕的图元保存入基本区,索引区包含基本区在图形文件中的起始位置偏移量以及用id表示的各子屏幕在图形文件中的起始位置偏移量;
步骤二、打开图形时,只加载图形文件中基本区的图元添加到画布,暂时不加载子屏幕区;
步骤三、打开图形后或拖动画布进行漫游后,根据当前可见视口的位置进行计算得到需要显示的子屏幕列表,然后依次加载这些子屏幕中的图元;
步骤四、打开图形后进行图形缩放显示,缩放后根据缩放系数判断是否继续加载子屏幕:当缩放系数小于指定限值时不再继续加载新的子屏幕。
2.根据权利要求1所述的配电网超大规模图形文件的加载方法,其特征在于:步骤一向图形文件中保存图元的具体操作步骤如下:
S1、向图形文件中保存图元开始;
S2、根据图形画布的尺寸,子屏幕的宽、高计算需要划分的行数r、列数c以及子屏幕总个数N,N=r*c;
S3、创建子屏幕管理数组,子屏幕管理数组容量为N;
S3-1、遍历图元并判断是否遍历结束,未结束则执行S4,遍历结束则执行S8;
S4、根据当前正在遍历的图元的坐标、尺寸以及子屏幕宽、高计算该图元占据的子屏幕数;
S5、判断图元占据的子屏幕数是否为1,是则执行S6,否则执行S7;
S6、把图元占据的子屏幕id作为下标,找到子屏幕管理数组中的子屏幕,将图元添加到对应子屏幕,返回S3-1;
S7、将图元添加到基本区,返回S3-1;
S8、保存基本区,包括基本区的图元个数、基本区在图形文件中的起始位置偏移量及在图形文件中占用的长度:先记录长度数值的存储位置L1,并设置为0,然后遍历并保存基本区的全部图元,计算基本区在文件中占用的长度,并保存到文件的L1位置;
S9、保存全部子屏幕,包括记录子屏幕区的起始位置偏移量Offset,遍历全部子屏幕,并保存每个子屏幕的起始位置偏移量和长度数据:记录子屏幕n的起始位置在文件中的偏移量OffSetn,保存子屏幕n中的图元个数,遍历并保存子屏幕n的全部图元,计算子屏幕n在文件中占用的长度并记录,遍历完成后,跳转到子屏幕区在文件中的起始位置Offset;
S10、向图形文件中保存图元结束。
3.根据权利要求1所述的配电网超大规模图形文件的加载方法,其特征在于:步骤二加载基本区图元的具体操作步骤如下:
S1、打开图形文件开始;
S2、根据图形画布的尺寸,子屏幕的宽、高计算需要划分的行数r1、列数c1以及子屏幕总个数N1,N1=r1*c1;
S3、创建子屏幕管理数组,子屏幕管理数组容量为N1,设置各个子屏幕的加载标志=false;
S4、读取基本区图元个数和基本区图元,并将图元添加到画布;
S5、遍历并读取全部子屏幕的起始位置偏移量和长度数据并记录到子屏幕管理数组;
S6、跳过各子屏幕,不读取子屏幕图元内容;S6-1、设置“允许继续加载子屏幕标志”=true;
S7、打开图形文件结束。
4.根据权利要求1所述的配电网超大规模图形文件的加载方法,其特征在于:步骤二加载子屏幕区图元的具体操作步骤如下:
S1、图形漫游开始;
S2、判断“允许继续加载子屏幕标志”是否为true,是则执行S3,否则执行S10;
S3、根据当前可见视口的坐标以及宽、高计算需要加载的子屏幕列表;
S4、遍历子屏幕列表;
S5、判断是否遍历结束,是则执行S8,否则执行S6;
S6、判断某个子屏幕n是否已加载,是则执行S5,否则执行S7;
S7、根据每个子屏幕id,查找子屏幕在图形文件中的起始位置偏移量和长度数据,打开图形文件定位到相应位置并加载对应子屏幕,将对应子屏幕的加载标志设置为true,然后返回S5;
S8、将子屏幕图元添加到画布;
S9、遍历已加载的子屏幕列表,将已经离开可见视口区域的子屏幕图元从画布删除,并将对应的子屏幕加载标志设置为false;
S10、图形漫游结束。
5.根据权利要求1所述的配电网超大规模图形文件的加载方法,其特征在于:步骤四图形文件进行缩放显示,具体操作步骤如下:
S1、缩放操作开始;
S2、判断缩放系数是否小于指定限值,是则执行S4,否则执行S3;
S3、将允许继续加载子屏幕标志设置为true,转至S5;
S4、将允许继续加载子屏幕标志设置为false;
S5、缩放操作结束。
6.根据权利要求1至5任一权利要求所述的一种配电网超大规模图形文件的加载方法,其特征在于:基本区的文件存储格式为基本区的内容长度、包含的图元个数、图元内容;子屏幕区的文件存储格式为子屏幕区的内容长度、各子屏幕的内容;子屏幕的文件存储格式为该子屏幕的内容长度、包含的图元个数、图元内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610395265.5A CN106095364B (zh) | 2016-06-03 | 2016-06-03 | 一种配电网超大规模图形文件的加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610395265.5A CN106095364B (zh) | 2016-06-03 | 2016-06-03 | 一种配电网超大规模图形文件的加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095364A CN106095364A (zh) | 2016-11-09 |
CN106095364B true CN106095364B (zh) | 2018-10-23 |
Family
ID=57447893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610395265.5A Active CN106095364B (zh) | 2016-06-03 | 2016-06-03 | 一种配电网超大规模图形文件的加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095364B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109131A1 (en) * | 2004-05-04 | 2005-11-17 | Fisher-Rosemount Systems, Inc. | Associated graphic displays in a process environment |
CN102760186A (zh) * | 2012-06-12 | 2012-10-31 | 中国电力科学研究院 | 一种智能变电站的矢量图形自动生成方法 |
CN103139439A (zh) * | 2013-01-24 | 2013-06-05 | 厦门美图网科技有限公司 | 一种基于图块模板且可添加修饰素材的图片合成方法 |
CN103345534A (zh) * | 2013-07-26 | 2013-10-09 | 浙江中控技术股份有限公司 | 一种动态图处理方法及装置 |
-
2016
- 2016-06-03 CN CN201610395265.5A patent/CN106095364B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109131A1 (en) * | 2004-05-04 | 2005-11-17 | Fisher-Rosemount Systems, Inc. | Associated graphic displays in a process environment |
CN102760186A (zh) * | 2012-06-12 | 2012-10-31 | 中国电力科学研究院 | 一种智能变电站的矢量图形自动生成方法 |
CN103139439A (zh) * | 2013-01-24 | 2013-06-05 | 厦门美图网科技有限公司 | 一种基于图块模板且可添加修饰素材的图片合成方法 |
CN103345534A (zh) * | 2013-07-26 | 2013-10-09 | 浙江中控技术股份有限公司 | 一种动态图处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106095364A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8803905B2 (en) | Display control device and display layer combination program | |
CN104965686B (zh) | 一种优先级队列设计方法及优先级队列设计装置 | |
CN112985405B (zh) | 一种机器人全覆盖路径规划方法、装置、设备及介质 | |
CN110683263B (zh) | 一种基于行走置物装置的仓储方法 | |
CN106251322B (zh) | 图像处理设备、图像处理方法和图像处理系统 | |
CN106339831A (zh) | 用于为业务获取有效路径的方法及装置 | |
CN103929611A (zh) | 一种多画面分页播放方法 | |
KR101953133B1 (ko) | 렌더링 장치 및 그 방법 | |
CN109410737A (zh) | 一种基于局部刷新的地图上点动态轨迹绘制方法和系统 | |
CN106095364B (zh) | 一种配电网超大规模图形文件的加载方法 | |
CN110992246A (zh) | 影像的金字塔分层切片方法 | |
CN109425345B (zh) | 一种地图路线显示方法、显示系统及计算机装置 | |
CN105957012A (zh) | 一种图片拼接方法及移动终端 | |
CN105631118A (zh) | 可编程逻辑器件图形绘制方法及装置 | |
CN108510441B (zh) | 一种基于交错网格的影像多分辨率显示方法 | |
CN105094858A (zh) | 一种列表控件的加载方法及装置 | |
CN103324606B (zh) | 排版方法和排版装置 | |
CN104866583B (zh) | 一种电子海图中船舶电子标牌的自动排列方法 | |
CN107589924A (zh) | 一种五层十五级组织结构的遥感数据移动端快速展示方法 | |
CN103366635B (zh) | 一种电子地图上移动对象的动态标注方法 | |
CN102082869B (zh) | 实现2d横屏手机游戏的方法 | |
CN108228552B (zh) | 盒子排版方法及装置 | |
US20110206294A1 (en) | Image Processing Apparatus, Image Processing Method, and Program | |
CN112767419A (zh) | 一种图集九宫格切割的方法及系统 | |
JP2577397B2 (ja) | 図形表示装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |