CN102880681A - 基于网格的大数据量矢量数据的显示和管理方法 - Google Patents
基于网格的大数据量矢量数据的显示和管理方法 Download PDFInfo
- Publication number
- CN102880681A CN102880681A CN2012103368459A CN201210336845A CN102880681A CN 102880681 A CN102880681 A CN 102880681A CN 2012103368459 A CN2012103368459 A CN 2012103368459A CN 201210336845 A CN201210336845 A CN 201210336845A CN 102880681 A CN102880681 A CN 102880681A
- Authority
- CN
- China
- Prior art keywords
- grid
- data
- dictionary
- vector data
- coordinate
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于网格的大数据量矢量数据的显示和管理方法,涉及矢量图形图像的管理,该方法包括以下步骤:解析矢量数据,对应到数据模型,生成字典容器,将字典容器内具有规定长度和宽度的矩形分割区域定义为网格,每个网格有唯一的编号;通过切割算法计算矢量数据所属网格的编号;将切割后的矢量数据存入字典容器中其所属的网格。本发明通过直接查找网格数据,获得网格数据后显示,采用分治的思想,将大规模数据问题转换为小规模数据问题,通过网格过滤减少显示的数据量,提高效率,减少大数据量设备拓扑图显示和编辑等管理功能的响应时间;通过网格划分有效提高选中对象的效率,解决了网格字典文件和实际数据间的一致性问题。
Description
技术领域
本发明涉及矢量图形图像的管理,特别是涉及一种基于网格的大数据量矢量数据的显示和管理方法。
背景技术
随着网络IP(Internet Protocol,网络之间互连的协议)化以及FMC(Fixed-Mobile Convergence,固定网络与移动网络融合)的发展,运营商运维模式将发生深刻改变,从网络类型和网元类型分层管理逐步走向融合管理,同时对运维成本和用户体验有更高的要求,因此为了适应未来网络的发展,通信网络管理***必须实现各种类型网元的统一管理,充分满足融合网络运维管理的需要。
统一管理面临的一个主要问题是管理容量,而现有的设备拓扑图管理***都没有考虑这种大容量要求,当出现管理容量达到万级别时,拓扑图界面的移动、编辑、定位等操作都非常的迟缓,导致整个软件的界面响应时间增加。在统一管理的背景下,如何减少大数据量设备拓扑图显示和编辑等管理功能的响应时间成了亟待解决的重要问题。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于网格的大数据量矢量数据的显示和管理方法,通过直接查找网格数据,获得网格数据后显示,采用分治的思想,将大规模数据问题转换为小规模数据问题,以此来提高效率,减少大数据量设备拓扑图显示和编辑等管理功能的响应时间;通过网格数据更新对象,解决了网格字典文件和实际数据间的一致性问题。
本发明提供的基于网格的大数据量矢量数据的显示和管理方法,包括以下步骤:S1、解析读取的矢量数据,将解析后的矢量数据对应到数据模型,生成一个字典容器,将字典容器内具有规定长度和宽度的矩形分割区域定义为网格,每个网格都有唯一的编号;对读取的矢量数据进行切割,通过切割算法计算出矢量数据所属网格的编号;将切割后的矢量数据存入字典容器中其所属的网格,以网格编号为键值,矢量数据本身为值,保存为一个字典结构;S2、数据移动或刷新后,根据已记录的视口左上角的实际显示坐标位置,结合当前显示***的比例尺和宽、高,获得视口右下角的实际显示坐标位置,从而获得视口矩形的显示坐标值;对视口矩形进行切割,通过切割算法计算出视口矩形所属网格的所有网格编号;从字典容器中快速获取所有网格编号对应网格内的数据并合并、保存,显示经网格过滤获取到的所有数据。
在上述技术方案中,步骤S2之后还包括以下步骤:编辑数据时,将该数据对应的所有网格内的对象全部选中并更新对象。
在上述技术方案中,选中对象的过程为:将鼠标点击后的坐标值转换为实际数据所在坐标系的坐标值;通过切割算法,计算出实际数据所在坐标系的坐标值所属网格的编号;在计算出的编号对应的网格内,对所有数据进行遍历查找。
在上述技术方案中,所述将鼠标点击后的坐标值转换为实际数据所在坐标系的坐标值的步骤,通过***设定的实际坐标和视口坐标转换***完成。
在上述技术方案中,所述更新对象的过程为:收到一个待更新对象的更改要求时,获取所有可能会受到影响的待更新对象的关联对象;切割待更新对象及其关联对象,通过切割算法计算出待更新对象及其关联对象所属网格的编号并保存,获取对应的字典数据;根据要求更改该待更新对象,保存待更新对象及其关联对象的所属网格的编号,按照上一步的方法重新获得新的字典数据;对比两次保存的对象,将前一次保存的对象中存在、后一次保存的对象中不存在的对象从字典容器的所属网格中删除;将前一次保存的对象中不存在、后一次保存的对象中存在的对象添加到字典容器的所属网格中。
在上述技术方案中,步骤S2中还包括以下步骤:从字典容器中快速获取所有网格编号对应网格内的数据并合并后,存入一个可以实时去重复的容器,该容器中的数据为需要显示的数据。
与现有技术相比,本发明的优点如下:
本发明利用网格解决大数据量矢量数据的显示和管理,并不限于矢量数据的持久化存储格式,只要是按照矢量方式记录的对象,都可以通过本发明的方法进行显示和管理,通过直接查找网格数据,获得网格数据后显示,采用分治的思想,将大规模数据问题转换为小规模数据问题,通过网格的过滤,需要显示的数据量已经很少,以此来提高效率;通过网格划分的方法可以有效提高选中对象的效率;通过网格数据更新对象,解决了网格字典文件和实际数据间的一致性问题。
附图说明
图1是本发明实施例中数据读取初始化的流程图。
图2是本发明实施例中数据移动或刷新后的显示流程图。
图3是本发明实施例中选中对象的流程图。
图4是本发明实施例中更新对象的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明实施例提供一种基于网格的大数据量矢量数据的显示和管理方法,包括以下步骤:
步骤S1、数据读取初始化:读取磁盘中的矢量数据,对矢量数据的模型对象进行初始化;
步骤S2、数据移动或刷新后,对网格划分后的数据进行查询定位,快速获取当前界面需要显示的网格数据;
步骤S3、编辑数据时,将该数据对应的所有网格内的对象全部选中并更新对象。
参见图1所示,步骤S1中的数据读取初始化具体包括以下步骤:
步骤101、读取磁盘中保存的矢量数据,对读取的矢量数据进行解析,将解析后的矢量数据对应到数据模型,生成一个字典容器,将字典容器内具有规定长度和宽度的矩形分割区域定义为网格,每个网格都有唯一的编号;
步骤102、对读取的矢量数据进行切割,通过切割算法计算出矢量数据所属网格的编号,矢量数据落在哪个网格内,哪个网格就是该矢量数据所属的网格,以线数据为例,一条直线或者曲线经过哪些网格,就属于哪些网格,通过线的切割算法完成网格编号的计算;
步骤103、将切割后的矢量数据存入字典容器中其所属的网格,以网格编号为键值,矢量数据本身为值,保存为一个字典结构,这样所有网格编号下都会存在一批矢量数据。
参见图2所示,步骤S2中的数据移动或刷新后的显示流程如下:
步骤201、根据已记录的视口左上角的实际显示坐标位置,结合当前显示***的比例尺和宽、高,获得视口右下角的实际显示坐标位置,从而获得视口矩形的显示坐标值;
步骤202、对视口矩形进行切割,通过切割算法计算出视口矩形所属网格的所有网格编号;
步骤203、从字典容器中快速获取所有网格编号对应网格内的数据,合并数据,并存入一个可以实时去重复的容器,该容器中的数据即为需要显示的数据;
步骤204、显示获取到的所有数据,此时由于通过网格的过滤,需要显示的数据量已经很少,通过一般的方法显示也不会存在效率问题。
选中数据是图形操作中更改或者查看数据属性的一个前提,如何从大数据量中快速选取到需要的数据,通过网格划分的方法可以有效提高选中的效率。
参见图3所示,步骤S3中选中对象的流程如下:
步骤301、将鼠标点击后的坐标值转换为实际数据所在坐标系的坐标值,通过***设定的实际坐标和视口坐标转换***即可完成;
步骤302、通过切割算法,计算出实际数据所在坐标系的坐标值所属网格的编号;
步骤303、在计算出的编号对应的网格内,对所有数据进行遍历查找,显著缩小了查找的范围。
参见图4所示,步骤S3中更新对象的流程如下:
步骤401、收到一个待更新对象的更改要求时,获取所有可能会受到影响的待更新对象的关联对象;
步骤402、切割待更新对象及其关联对象,通过切割算法计算出待更新对象及其关联对象所属网格的编号并保存,获取对应的字典数据;
步骤403、根据要求更改该待更新对象;
步骤404、保存待更新对象及其关联对象的所属网格的编号,按照步骤402的方法重新获得新的字典数据;
步骤405、对比两次保存的对象,将前一次保存的对象中存在、后一次保存的对象中不存在的对象从字典容器的所属网格中删除,若步骤401获取的数据不在步骤402获取的数据中,表明该网格编号内的数据在数据更新后需要被删除;
步骤406、对比两次保存的对象,将前一次保存的对象中不存在、后一次保存的对象中存在的对象添加到字典容器的所属网格中,类似步骤405,将新增加的数据添加到字典容器的所属网格中。
采用本发明实施例的方法进行矢量数据的显示和管理时,必须采用上述过程进行对象属性的变更,以此来保证字典容器网格的一致性和正确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明包含这些改动和变型在内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (6)
1.一种基于网格的大数据量矢量数据的显示和管理方法,其特征在于,包括以下步骤:
S1、解析读取的矢量数据,将解析后的矢量数据对应到数据模型,生成一个字典容器,将字典容器内具有规定长度和宽度的矩形分割区域定义为网格,每个网格都有唯一的编号;对读取的矢量数据进行切割,通过切割算法计算出矢量数据所属网格的编号;将切割后的矢量数据存入字典容器中其所属的网格,以网格编号为键值,矢量数据本身为值,保存为一个字典结构;
S2、数据移动或刷新后,根据已记录的视口左上角的实际显示坐标位置,结合当前显示***的比例尺和宽、高,获得视口右下角的实际显示坐标位置,从而获得视口矩形的显示坐标值;对视口矩形进行切割,通过切割算法计算出视口矩形所属网格的所有网格编号;从字典容器中快速获取所有网格编号对应网格内的数据并合并、保存,显示经网格过滤获取到的所有数据。
2.如权利要求1所述的基于网格的大数据量矢量数据的显示和管理方法,其特征在于:步骤S2之后还包括以下步骤:编辑数据时,将该数据对应的所有网格内的对象全部选中并更新对象。
3.如权利要求2所述的基于网格的大数据量矢量数据的显示和管理方法,其特征在于:选中对象的过程为:将鼠标点击后的坐标值转换为实际数据所在坐标系的坐标值;通过切割算法,计算出实际数据所在坐标系的坐标值所属网格的编号;在计算出的编号对应的网格内,对所有数据进行遍历查找。
4.如权利要求3所述的基于网格的大数据量矢量数据的显示和管理方法,其特征在于:所述将鼠标点击后的坐标值转换为实际数据所在坐标系的坐标值的步骤,通过***设定的实际坐标和视口坐标转换***完成。
5.如权利要求2所述的基于网格的大数据量矢量数据的显示和管理方法,其特征在于:所述更新对象的过程为:
收到一个待更新对象的更改要求时,获取所有可能会受到影响的待更新对象的关联对象;
切割待更新对象及其关联对象,通过切割算法计算出待更新对象及其关联对象所属网格的编号并保存,获取对应的字典数据;
根据要求更改该待更新对象,保存待更新对象及其关联对象的所属网格的编号,按照上一步的方法重新获得新的字典数据;
对比两次保存的对象,将前一次保存的对象中存在、后一次保存的对象中不存在的对象从字典容器的所属网格中删除;将前一次保存的对象中不存在、后一次保存的对象中存在的对象添加到字典容器的所属网格中。
6.如权利要求1至5中任一项所述的基于网格的大数据量矢量数据的显示和管理方法,其特征在于:步骤S2中还包括以下步骤:从字典容器中快速获取所有网格编号对应网格内的数据并合并后,存入一个可以实时去重复的容器,该容器中的数据为需要显示的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210336845.9A CN102880681B (zh) | 2012-09-13 | 2012-09-13 | 基于网格的大数据量矢量数据的显示和管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210336845.9A CN102880681B (zh) | 2012-09-13 | 2012-09-13 | 基于网格的大数据量矢量数据的显示和管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102880681A true CN102880681A (zh) | 2013-01-16 |
CN102880681B CN102880681B (zh) | 2016-01-13 |
Family
ID=47482007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210336845.9A Active CN102880681B (zh) | 2012-09-13 | 2012-09-13 | 基于网格的大数据量矢量数据的显示和管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102880681B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106276A (zh) * | 2013-02-17 | 2013-05-15 | 南京师范大学 | 一种基于小角编码的矢量数据网格索引方法 |
CN105760529A (zh) * | 2016-03-03 | 2016-07-13 | 福州大学 | 一种移动端矢量数据的空间索引和缓存构建方法 |
CN106780693A (zh) * | 2016-11-15 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种通过绘制方式选择三维场景中物体的方法及*** |
CN110427531A (zh) * | 2019-07-19 | 2019-11-08 | 清华大学 | 对多个样本进行网格布局可视化的方法和*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162152A (zh) * | 2006-12-06 | 2008-04-16 | 厦门雅迅网络股份有限公司 | 一种联网车载导航终端中实现地图显示的处理方法 |
CN101469988A (zh) * | 2007-12-24 | 2009-07-01 | 厦门雅迅网络股份有限公司 | 一种手机网络导航中地图矢量数据的切割方法 |
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
-
2012
- 2012-09-13 CN CN201210336845.9A patent/CN102880681B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162152A (zh) * | 2006-12-06 | 2008-04-16 | 厦门雅迅网络股份有限公司 | 一种联网车载导航终端中实现地图显示的处理方法 |
CN101469988A (zh) * | 2007-12-24 | 2009-07-01 | 厦门雅迅网络股份有限公司 | 一种手机网络导航中地图矢量数据的切割方法 |
CN101770515A (zh) * | 2010-01-18 | 2010-07-07 | 杭州顺网科技股份有限公司 | 一种基于数据块比较的数据更新方法 |
Non-Patent Citations (1)
Title |
---|
AT9009: "容器类对象:枚举 NSEnumerator、字典", 《BLOG.CSDN.NET/AT9009/ARTICLE/DETAILS/7863036》, 14 August 2012 (2012-08-14), pages 1 - 2 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106276A (zh) * | 2013-02-17 | 2013-05-15 | 南京师范大学 | 一种基于小角编码的矢量数据网格索引方法 |
CN103106276B (zh) * | 2013-02-17 | 2016-03-30 | 南京师范大学 | 一种基于小角编码的矢量数据网格索引方法 |
CN105760529A (zh) * | 2016-03-03 | 2016-07-13 | 福州大学 | 一种移动端矢量数据的空间索引和缓存构建方法 |
CN105760529B (zh) * | 2016-03-03 | 2018-12-25 | 福州大学 | 一种移动端矢量数据的空间索引和缓存构建方法 |
CN106780693A (zh) * | 2016-11-15 | 2017-05-31 | 广州视源电子科技股份有限公司 | 一种通过绘制方式选择三维场景中物体的方法及*** |
CN106780693B (zh) * | 2016-11-15 | 2020-03-10 | 广州视源电子科技股份有限公司 | 一种通过绘制方式选择三维场景中物体的方法及*** |
CN110427531A (zh) * | 2019-07-19 | 2019-11-08 | 清华大学 | 对多个样本进行网格布局可视化的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN102880681B (zh) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902593B (zh) | 一种数据迁移的方法和装置 | |
CN110675728B (zh) | 热力图的生成方法、装置、设备及计算机可读存储介质 | |
CN102944243B (zh) | 一种地图数据可以增量更新的方法 | |
WO2017206484A1 (zh) | 地理数据呈现方法及装置 | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN103500516A (zh) | 基于电子地图高效率轨迹回放的方法及*** | |
CN105426375B (zh) | 一种关系网络的计算方法及装置 | |
CN104834648B (zh) | 日志查询方法和装置 | |
CN104751505A (zh) | 基于lod模型和四叉树层次结构的三维场景渲染算法 | |
CN102880681A (zh) | 基于网格的大数据量矢量数据的显示和管理方法 | |
CN108090165A (zh) | 一种基于嵌入式图数据库的图谱变化差异的获取方法 | |
CN102509510A (zh) | 一种电子地图图例内容的交互式自动更新方法 | |
CN105808244A (zh) | 一种基于工作流的动态数据可视化分析工具 | |
CN104375211A (zh) | 一种气象预报等值线图更新方法及*** | |
CN113570275A (zh) | 基于bim和数字高程模型的水资源实时监测*** | |
CN104102677A (zh) | 电子地图数据更新方法、装置及服务器 | |
CN104599324A (zh) | 一种基于gis平台的地图数据加载方法及装置 | |
CN103714124B (zh) | 超大规模低压数据处理方法 | |
CN103712628A (zh) | 导航路径描绘方法和终端 | |
CN105787090A (zh) | 一种电力数据的olap***的索引建立方法和*** | |
CN102004771A (zh) | 基于动态裁剪的移动对象反向近邻查询方法 | |
CN113470172B (zh) | 一种OBJ三维模型转换3DTiles方法 | |
CN117931810A (zh) | 一种空间影像数据的结构化管理方法及*** | |
CN109271364A (zh) | 存储方法及装置 | |
CN105978712A (zh) | 一种云计算管理***的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |