CN106570049B - 一种地质勘探中大数据量的曲线快速绘图方法及其系统 - Google Patents

一种地质勘探中大数据量的曲线快速绘图方法及其系统 Download PDF

Info

Publication number
CN106570049B
CN106570049B CN201610694158.2A CN201610694158A CN106570049B CN 106570049 B CN106570049 B CN 106570049B CN 201610694158 A CN201610694158 A CN 201610694158A CN 106570049 B CN106570049 B CN 106570049B
Authority
CN
China
Prior art keywords
data
read
point
module
information
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
Application number
CN201610694158.2A
Other languages
English (en)
Other versions
CN106570049A (zh
Inventor
唐学峰
胡鑫
陈静
杨阳
俞小露
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HEFEI GUOWEI ELECTRONICS CO Ltd
Original Assignee
HEFEI GUOWEI ELECTRONICS CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HEFEI GUOWEI ELECTRONICS CO Ltd filed Critical HEFEI GUOWEI ELECTRONICS CO Ltd
Priority to CN201610694158.2A priority Critical patent/CN106570049B/zh
Publication of CN106570049A publication Critical patent/CN106570049A/zh
Application granted granted Critical
Publication of CN106570049B publication Critical patent/CN106570049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9038Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Abstract

本发明公开了一种地质勘探中大数据量的曲线快速绘图方法及其系统,首先客户端对绘图界面的操作转换为读数据请求,利用定时器功能过滤掉过间隔时间较短的读数据请求,对过滤后的读数据请求进行解析处理,提取需要从数据文件中读取数据的信息,再从自定义的预读数据缓存和数据文件中读取数据,并对大数量数据点进行特征点提取,最后根据接收到的数据信息进行绘图。本发明有效地解决了常规的对大数据量绘图效率低问题,大大改善用户界面的友好性,同时也提高了工作效率。

Description

一种地质勘探中大数据量的曲线快速绘图方法及其系统
技术领域
本发明涉及地质勘探数据绘图技术领域,具体是一种地质勘探中大数据量的曲线快速绘图方法及其系统。
背景技术
随着地质勘探开发精度的不断提高,高密度地震数据采集已成为当前主流地地震采集技术,使得地质勘探的数据量巨大。对大数据进行快速有效的处理分析是首要任务,只有通过分析才能获取很多深入的、有价值的信息,大数据处理分析离不开有效的快速绘图技术,将数据转化为直观的数据曲线或图像是分析结果真实性和有价值的保证。
在Windows操作系统下,常规绘图方式是首先将待显示的对象暂放在一个显示缓存,即单缓冲区,在该缓冲中任何绘图过程都会立即被显示在屏幕中。如果以这种绘图方式直接在应用程序的窗口上绘制大数据量曲线全图,开始绘制曲线像素所需的大量图元计算时间和结束像素绘制之间有一个延迟,这会导致出现图像的刷新速度慢,而且有时还会出现闪烁等现象。为了解决这些问题,在实际软件开发中常采用双缓冲技术,即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这能大大加快绘图的速度。
图1是利用双缓冲技术在台式PC机上进行的绘图效率测试关系图,其中,台式机硬件基本配置主要有intel i3-4590 CPU,4G内存,独立显卡。在图1 中可以看出,当绘制的数据点150万时,其绘图时间超过1s。以实际数据显示为例,若某类电磁仪有ChannleNum=5个采集通道,仪器的采样率为 SampleRate=1kHz,那么绘制150万数据点的时间序列长度是150s,这么短的绘图区间及长时间的绘图时间是难以满足用户需求的。同时,显示的数据量越大,CPU占用率会越高,绘图的效率低,甚至会导致程序的崩溃等问题。
另一方面,勘探仪器通常将数据保存为原始数据帧格式并以二进制形式写入到文件中,其数据帧格式常定义为如图2所示,它是由5个部分组成,其中帧头和帧尾表示一帧的开始与结束,帧信息记录了数据的GPS时间和位置等信息,帧计数是数据帧的编号,数据块是有效数据部分,该帧结构中包括n个通道数据,每个通道的数据量可设置,一个数据帧的大小主要由数据块决定,一般在KB数量级。按照接收的先后顺序依次写入文件中,从数据格式中可以看出,数据块是不连续的,当该数据文件存储在硬盘上,由于数据文件中数据块是不连续存储的,数据文件的读取速度取决于硬盘的读数据上限,硬盘在读取数据块过程中,由于各个数据块在文件中的位置不连续,当硬盘读取完当前数据块后,磁头需要机械移动到下一个数据块的位置,再读取该数据块,可见从硬盘中获取数据的过程是随机访问过程。在随机读取过程时,硬盘的响应时间由磁头的寻道时间、旋转延时时间和传送时间三部分组成。常用的硬盘寻道时间的典型值是4.6ms,旋转延迟则取决于磁盘的转速:普通7200RPM硬盘的转动延迟是4.2ms,而高端10000RPM的旋转延时是 3ms。而硬盘的对于小数据的传送时间在纳秒量级,因此,从硬盘中读取数据中过程中,寻道时间和旋转延时远大于传送时间。假设硬盘的寻道时间和旋转延时为tseek和tdelay,不考虑磁盘预读,读取N个数据块的时间为
ReadDataTime=N(tseek+tdelay) (3),
从式(3)中可以看出,当读取的数据块越多,读取时间也会越长,甚至读取数据的时间达到秒量级。
在某些情况下,会将原始数据帧转换为如图3和图4所示的特殊数据文件格式,虽然对于读取某些特定通道数据是顺序读取,减少了硬盘的寻道时间和旋转延时,但在进行数据处理时,需要抽取不同通道的数据,每次读取通道数据时,都需要进行定位,这样仍不可避免地存在随机读取数据情形。
综上分析,常规的绘图流程可归纳为如图5所示,当用户对图形进行平移、缩放或滚动时,客户端会发出读数据请求,根据读取文件的信息从硬盘中读取二进制数据,再对数据进行解析转换为需要的数据类型,最后根据数据利用双缓冲技术进行曲线绘图。从常规的绘图流程可以看出,绘图流程均是在一个线程中运行的,当界面在发送一条读数据绘图请求后,就会挂起主界面,只有当完成绘图工作后,主界面才能执行下一步的操作,而大数据量绘图是非常耗时的过程,从而导致主界面出现僵死现象。
另一方面,由于数据量巨大,一般情况下不会一次性将数据全部绘制出来,通常会显示局部数据段图形,再采用如滚动、缩放功能进一步查看感兴趣的数据区间。但常规的绘图方法在每次进行图形缩放、滚动等操作时,都会重新读数据,并重新绘制整幅图形。这对于大数据量绘图来说,每次重绘整幅图形会大大降低绘图效率。可见,由于常规的大数据量绘图效率低,图形操作动作极不流畅等问题,会给用户在实际应用中产生“顿卡”现象,导致非常不友好的界面感受,严重影响工作效率。
发明内容
本发明要解决的技术问题是提供一种地质勘探中大数据量的曲线快速绘图方法及其系统,解决现有的大数据绘图方法效率低和界面不友好等问题。
为了解决上述问题,本发明所采取的技术方案是:
一种地质勘探中大数据量的曲线快速绘图方法,具体包括有以下步骤:
(1)、当客户端进行图形的操作动作时,每移动一小段,屏幕上需要显示的绘图区域范围即会发生变化,即产生一次范围变化事件,一次范围变化事件中封装了事件发生时的屏幕显示范围,所有范围变化事件被发送给事件过滤模块;所述的范围变化事件即读数据请求,包含有读取数据的通道ID、读取点的起始ID和数据点数目信息;
(2)、事件过滤模块根据接收到的读数据请求,利用定时器功能过滤掉间隔时间短的读数据请求,记录停顿时间长的读数据请求;
(3)、事件过滤模块对过滤后记录的读数据请求进行处理,将读数据请求中显示的数据范围与绘图缓存中的数据范围进行对比,提取读数据请求中需要显示但绘图缓存中不包含的数据信息部分,再封装成新的读数据请求后发送给数据读取模块,同时移除绘图缓存中不再需要显示的数据,释放缓存空间;
(4)、数据读取模块对接收到的读数据请求,判断读数据请求中是否有数据点在自定义的预读数据缓存中,若有,将满足要求的数据点从预读缓冲中提取出来并发送给数据处理模块,然后从硬盘的数据文件中读取剩余的数据点并发送给数据处理模块;
(5)、数据处理模块将接收到数据点转换为满足绘图要求的数据类型,并利用Douglas-Peucker算法对大数据量点进行特征点提取,最后将提取的数据点发送给数据绘图模块;
(6)、数据绘图模块在主界面根据接收到的数据点进行曲线绘图。
所述的步骤(2)中,利用定时器功能过滤掉间隔时间短的读数据请求的具体方法是:首先,进行如下初始化工作:根据绘图时间与绘图点数关系图存在显著的线性关系,利用最小二乘法线性拟合可得到关系式(1)中的a,b;初始化一个定时器时,当达到定时时间后,会发送一个信号,来触发处理函数并且只触发一次;
DrawingTime=a·SampleNum+b (1),
其中,DrawingTime为绘图时间,SampleNum为绘图点数;
即根据读数据请求获取读取的数据点数,当读取的数据点数大于设置的阈值ε0,利用式(1)可估算出绘图时间DrawingTime,重置定时器时间间隔,并设置定时器的时间间隔为DrawingTime,当绘图时间DrawingTime满足定时器时间间隔时,会触发处理函数且处理函数仅执行一次,若在绘图时间DrawingTime内有读数据请求,定时器将会被重置,从而过滤前一个过快的读数据请求;当读数据请求中读取的样本点数小于阈值ε0时,考虑到绘图时间非常快,故将定时器的时间间隔设置为0,相当于直接执行处理函数。
所述的步骤(3)中对过滤后记录的读数据请求进行处理的具体方法是:处理函数得到过滤后的当前数据信息后,与前一个绘图动作的绘图数据信息进行对比,将绘图区域划分为重合绘图区域和读数据绘图区域两个部分,重合绘图区域是当前绘图数据信息与前一绘图数据信息重合的图线绘制区域,读数据区域是必须从当前绘图数据信息中读取数据后再进行曲线绘制的区域,查看前后两次绘图数据信息中是否有重合绘图区域部分,当有重合绘图区域时,将重合绘图区域进行局部重绘到指定位置即可,无需要读取当前绘图数据信息中的重合绘图区域数据,然后再在当前绘图数据信息中分割出不含重合绘图区域的绘图数据信息,最后将分割出的绘图数据信息发送给数据读取模块。
所述的步骤(4)中当数据读取模块长时间没有读数据请求时,根据前一次从读文件的位置,向文件后预读部分数据点。
所述的步骤(5)中的利用Douglas-Peucker算法对大数据量点进行特征点提取的具体方法是:当数据点量大于设置的阈值ε1,采用Douglas-Peucker算法对数据曲线进行特征点抽取,当数据点量小于阈值ε1,则不进行特征点抽取。
所述的步骤(6)的具体操作是:创建用于绘图线程,监控是否接收到信息和数据,当接收到信息和数据,根据信息和数据进行绘图;若接收到局部重绘信息时,利用双缓冲技术进行曲线绘图,即在重绘信息中指出窗口中未发生变化部分和改变这部分内容到窗口中的新位置,然后将这部分曲线拷贝到指定位置即可;在执行过快的绘图操作时,虽然会有部分绘图操作请求被忽略,不会立即绘制曲线,但是除了实际数据,窗口中坐标系统、刻度绘图元素需要立即绘制,便于给用户提示绘图区域。
一种地质勘探中大数据量的曲线快速绘图系统,包括事件过滤模块,数据读取模块,数据处理模块和数据绘图模块;
事件过滤模块,用于过滤掉过快的绘图操作动作,根据客户端窗口发送的需要绘图的点数,利用关系式(1)设置定时器定时时间间隔并采用单次触发模式触发处理函数,
DrawingTime=a·SampleNum+b (1),
其中,DrawingTime为绘图时间,SampleNum为绘图点数;
当在设置的时间间隔内没有下一个绘图动作来重置定时器,会触发处理函数,处理函数进一步将当前绘图数据信息与前一绘图动作的绘图数据信息对比,将绘图区域划分为重合绘图区域和读数据区域,重合绘图区域为局部重绘区域,无需从硬盘中读取数据;对于读数据区域,则将不含重合绘图区域的绘图数据信息发送给数据读取模块;
数据读取模块,用于判断读数据请求中是否有数据点在自定义的预读数据缓存中,若有,将满足要求的数据点从预读缓冲中提取出来并发送给数据处理模块,使得绘图模块尽快地有数据可以绘图,然后从硬盘的数据文件中读取剩余的数据点并发送给数据处理模块;
数据处理模块,包括对二进制数据进行解析为绘图需要的数据类型和对大数据点量进行特征点提取功能,根据接收到数据信息和数据,当绘图数据点量大于设置的阈值ε1时,采用Douglas-Peucker算法提取特征点,最后将提取的数据点发送给绘图模块进行绘图;
数据绘图模块,根据接收到的数据点包进行绘图和局部重绘。
本发明的优点:
本发明采用事件过滤模块过滤掉过快的大数据量绘图操作,使得客户端界面不会出现“顿卡、僵死”等现象;采用预读数据点功能,不但可以保证尽快有数据可用来绘图,而且减少了从硬盘中读数据的时间;对数据曲线进行特征点提取,可去除曲线中的冗余点,保留了曲线的特征点,不仅减少了绘图数据量和节省了大量的数据存储空间,同时也提高了绘图效率。本发明方案有效地解决了常规的对大数据量绘图效率低问题,大大改善用户界面的友好性,同时也提高了工作效率。
附图说明
图1是利用双缓冲绘图技术得到的绘图时间与显示点数的关系示意图,其中线宽为1个像素。
图2是典型的数据帧结构示意图。
图3是地震勘探数据文件记录中常用的数据格式示意图一。
图4是地震勘探数据文件记录中常用的数据格式示意图二。
图5是常规的Windows环境下应用程序绘图流程示意图。
图6是本发明曲线快速绘图方法的流程图。
图7是本发明客户端进行图形的操作动作前的屏幕绘图示意图
图8是本发明客户端进行图形的操作动作时的屏幕绘图示意图。
图9是本发明客户端进行图形的操作动作完成后的屏幕绘图示意图。
图10发明事件过滤模块的工作流程图。
图11发明事件过滤模块对过滤后记录的读数据请求进行处理的工作流程图。
图12本发明数据处理模块的工作流程图。
图13本发明提供的基于Douglas-Peucker算法提取固定特征点数目的方法示意图;图中,(a)找到距离线段AB最大位置的点C,(b)C点满足条件并作为特征点,然后递归判断线段AC,点D满足条件并作为特征点并结束递归寻找,(c)最终原线段简化为ADCB组成的线段。
图14 是本发明曲线快速绘图系统的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图6为本发明实施例中提供的一种地质勘探中大数据量快速绘图方法的流程图,该方法主要包括如下步骤:
(1)、当客户端进行图形的操作动作时,每移动一小段,屏幕上需要显示的绘图区域范围即会发生变化,即产生一次范围变化事件,一次范围变化事件中封装了事件发生时的屏幕显示范围,所有范围变化事件被发送给事件过滤模块;范围变化事件即读数据请求,包含有读取数据的通道ID、读取点的起始ID和数据点数目信息;
(2)、事件过滤模块根据接收到的读数据请求,利用定时器功能过滤掉间隔时间短的读数据请求,记录停顿时间长的读数据请求;
(3)、事件过滤模块对过滤后记录的读数据请求进行处理,将读数据请求中显示的数据范围与绘图缓存中的数据范围进行对比,提取读数据请求中需要显示但绘图缓存中不包含的数据信息部分,再封装成新的读数据请求后发送给数据读取模块,同时移除绘图缓存中不再需要显示的数据,释放缓存空间;
(4)、数据读取模块对接收到的读数据请求,判断读数据请求中是否有数据点在自定义的预读数据缓存中,若有,将满足要求的数据点从预读缓冲中提取出来并发送给数据处理模块,然后从硬盘的数据文件中读取剩余的数据点并发送给数据处理模块;
(5)、数据处理模块将接收到数据点转换为满足绘图要求的数据类型,并利用Douglas-Peucker算法对大数据量点进行特征点提取,最后将提取的数据点发送给数据绘图模块;
(6)、数据绘图模块在主界面根据接收到的数据点进行曲线绘图。
本发明实施案例中上述步骤都有对应的线程进行实施;且使用互斥锁和条件变量来进行线程同步。
为了更加直观的描述本发明的具体实施方案,仅选取含有2个通道的数据文件,其数据文件格式如图2所示,再附图7-13对上述步骤做详细的说明。
图7是利用本发明提供的大数据绘图方法及系统得到的数据曲线,图7 也可视为滚动前屏幕绘图示意图,当用户对绘图界面进行滚动操作时,执行步骤(1),实时记录由滚动操作产生的曲线坐标系统的变化,当坐标轴范围发生改变时,需要在坐标轴指定的范围内读取相应的数据进行绘图,那么将记录的坐标轴范围转换为读取数据的通道ID、读取点的起始ID和数据点数目,将读数据信息打包发送出去。
需要说明的是,后面提到的数据信息也是由通道ID、读取点的起始ID和数据点数目这三个部分构成。
步骤(2)为过滤掉间隔时间短的读数据请求的过程,其工作流程如图10 所示。首先,初始化绘图时间与绘图点数之间的关系式(1)、定时器等。首先,进行如下初始化工作:根据绘图时间与绘图点数关系图存在显著的线性关系,利用最小二乘法线性拟合可得到关系式(1)中的a,b;初始化一个定时器时,当达到定时时间后,会发送一个信号,来触发处理函数并且只触发一次;
DrawingTime=a·SampleNum+b (1),
其中,DrawingTime为绘图时间,SampleNum为绘图点数。
当接收到读数据请求时,获取读数据请求中读取的数据量,判断读取的数据量是否大于设置的阈值ε0,若大于阈值ε0,计算绘图时间并将该绘图时间作为定时器的时间间隔,然后重置前一次定时器;当定时器满足时间间隔时,会触发处理函数且仅执行一次处理函数;若读数据请求中的数据量小于阈值ε0,则将定时器时间间隔设置为0,相当于直接触发处理函数。
其中,定时器与处理函数是在不同的线程中运行,这样在执行处理函数时,主界面不会被挂起,从而不会造成主界面僵死现象。此外,对小数据量不进行读数据请求过滤是因为小数据量绘图很快,用户无需长时间等待即可查看图形,可满足在较小的坐标系统范围内快速查看数据曲线。
步骤(3)为在处理函数中对读数据请求进一步解析的过程,其工作流程如图11所示。根据当前的读数据请求,对比前一个绘图数据信息(即图7中的数据信息),由于对绘图界面的滚动操作后,会得到如图8所示的效果图,可将图8划分为重合绘图区域和读数据绘图区域。
从图8中可以看出,重合绘图区域是前一绘图数据信息和当前读数据请求中数据重合部分,重合部分绘图内容并未发生变化,只是在窗口中的位置发生了改变,因此,可以不必重绘这一部分,只要把这部分拷贝移动位置即可。
对于读数据绘图区域,需要从数据文件中读取数据进行绘图,最后将分割出的仅有读数据区域的读数据请求发送到数据读取模块。此外,绘制坐标系统的请求是不经过过滤模块的,坐标系统绘图部分会实时更新。
步骤(4)为从数据文件中读取数据的过程,其工作流程是根据接收到的读数据请求,查看预读数据缓存中是否有满足读数据请求中的数据,若有则将数据和数据信息打包发送到数据处理模块,以保证绘图软件尽快有数据可以绘图。然后再根据读数据信息读取其余数据并打包发送到数据处理模块。当数据读取模块长时间没有读数据请求时,根据前一次从读文件的位置,向文件后预读部分数据点。
该流程可实现从硬盘中读数据过程与绘图过程的并发执行,一定程度上减少了绘图时间。
步骤(5)为对大数据量进行特征点提取过程,其工作流程如图12所示,首先,创建需要的对象,进行相应的初始化,然后在一个无限循环中,不断的接收来自读数据模块的数据。当接收到数据信息和数据时,将二进制数据转换为满足绘图的数据类型,并判断数据量是否大于阈值ε1,若大于阈值ε1,采用Douglas-Peucker算法对数据进行特征点提取。
常规的Douglas-Peucker算法利用垂向距离作为约束条件来决定曲线内点的取舍,如图13所示,设点C为曲线AB上距离AB线段距离最大的点,其距离d小于给定垂向阈值,保留C,否则删除C点。由于不同数据通道的数据幅度不同,这给设置阈值方式来取舍点带来了很大的难度,本发明提出利用Douglas-Peucker算法提取固定特征点数目的方法,其流程如图13所示,假设某由8个数据点组成一段曲线,利用Douglas-Peucker算法提取4个特征点,其基本步骤如下:
a、线段连接首个数据点和末尾数据点,得到线段AB,如图13(a)所示;
b、在AB范围内的点列中寻找与AB线段具有最大距离的点,记为C;
c、将A、B点加入特征点序列,判断特征点序列中提取的样点数目是否满足要求,若满足要求,将线段AB之间的点作为冗余点剔除;
d、若没有满足提取的样点数目要求,将点C加入特征点序列,设B=C,同时递归的分析线段AC与线段CB,回到(2)-(3),如图13(b)所示;
e、返回的特征点列即为简化后的曲线,如图13(c)所示。
利用上述方法,对图13中原有的8个数据点组成的曲线可简化为由ADCB 四个特征点组成的曲线。当绘图的数据量很大时,通过该方法对数据曲线进行特征点抽取,不但删除了曲线中的冗余点,保留了曲线的特征点,而且线性减少了绘图时间。
步骤(6)为绘图的过程,其工作流程是创建用于绘图线程,监控是否接收到的信息和数据,当接收到数据信息和数据或局部重绘信息时,利用双缓冲技术进行曲线绘图,最后可得到如图9所示完整的数据曲线图。
本发明实施方案的方案综合使用了定时器和多线程等技术,通过合理的建模和设计,极大的提高了地质勘探中大数据量的绘图效率,解决了现有的大数据绘图方法效率低和界面不友好等问题。
本发明实施例还提供一种地质勘探中大数据量的曲线快速绘图系统,该系统可以在计算机运行。如图14所示,该系统主要包括:事件过滤模块、数据读取模块、数据处理模块和数据绘图模块。需要说明的是,该系统中包含的各个功能模块功能的具体实现方法在上述实施中已经有详细描述,这里不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施可以通过软件实现,也可以通过借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施案例的技术方案可以以软件产品形式体现出来,该软件产品可以在存储在一个非易失性存储介质(如U盘、移动硬盘或光盘等)中,包括若干请求以使得一台计算机设备(可以是计算机或服务器等) 执行本发明各个实施例所示的方法。
尽管这里参照本发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围之内。任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都涵盖在本发明的保护范围之类。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (7)

1.一种地质勘探中大数据量的曲线快速绘图方法,其特征在于:具体包括有以下步骤:
(1)、当客户端进行图形的操作动作时,每移动一小段,屏幕上需要显示的绘图区域范围即会发生变化,即产生一次范围变化事件,一次范围变化事件中封装了事件发生时的屏幕显示范围,所有范围变化事件被发送给事件过滤模块;所述的范围变化事件即读数据请求,包含有读取数据的通道ID、读取点的起始ID和数据点数目信息;
(2)、事件过滤模块根据接收到的读数据请求,利用定时器功能过滤掉间隔时间短的读数据请求,记录停顿时间长的读数据请求;
(3)、事件过滤模块对过滤后记录的读数据请求进行处理,将读数据请求中显示的数据范围与绘图缓存中的数据范围进行对比,提取读数据请求中需要显示但绘图缓存中不包含的数据信息部分,再封装成新的读数据请求后发送给数据读取模块,同时移除绘图缓存中不再需要显示的数据,释放缓存空间;
(4)、数据读取模块对接收到的读数据请求,判断读数据请求中是否有数据点在自定义的预读数据缓存中,若有,将满足要求的数据点从预读缓冲中提取出来并发送给数据处理模块,然后从硬盘的数据文件中读取剩余的数据点并发送给数据处理模块;
(5)、数据处理模块将接收到数据点转换为满足绘图要求的数据类型,并利用Douglas-Peucker算法对大数据量点进行特征点提取,最后将提取的数据点发送给数据绘图模块;
(6)、数据绘图模块在主界面根据接收到的数据点进行曲线绘图。
2.根据权利要求1所述的一种地质勘探中大数据量的曲线快速绘图方法,其特征在于:所述的步骤(2)中,利用定时器功能过滤掉间隔时间短的读数据请求的具体方法是:首先,进行如下初始化工作:根据绘图时间与绘图点数关系图存在显著的线性关系,利用最小二乘法线性拟合可得到关系式(1)中的a,b;初始化一个定时器时,当达到定时时间后,会发送一个信号,来触发处理函数并且只触发一次;
DrawingTime=a·SampleNum+b (1),
其中,DrawingTime为绘图时间,SampleNum为绘图点数;
即根据读数据请求获取读取的数据点数,当读取的数据点数大于设置的阈值ε0,利用式(1)可估算出绘图时间DrawingTime,重置定时器时间间隔,并设置定时器的时间间隔为DrawingTime,当绘图时间DrawingTime满足定时器时间间隔时,会触发处理函数且处理函数仅执行一次,若在绘图时间DrawingTime内有读数据请求,定时器将会被重置,从而过滤前一个过快的读数据请求;当读数据请求中读取的样本点数小于阈值ε0时,考虑到绘图时间非常快,故将定时器的时间间隔设置为0,相当于直接执行处理函数。
3.根据权利要求2所述的一种地质勘探中大数据量的曲线快速绘图方法,其特征在于:所述的步骤(3)中对过滤后记录的读数据请求进行处理的具体方法是:处理函数得到过滤后的当前数据信息后,与前一个绘图动作的绘图数据信息进行对比,将绘图区域划分为重合绘图区域和读数据绘图区域两个部分,重合绘图区域是当前绘图数据信息与前一绘图数据信息重合的图线绘制区域,读数据区域是必须从当前绘图数据信息中读取数据后再进行曲线绘制的区域,查看前后两次绘图数据信息中是否有重合绘图区域部分,当有重合绘图区域时,将重合绘图区域进行局部重绘到指定位置即可,无需要读取当前绘图数据信息中的重合绘图区域数据,然后再在当前绘图数据信息中分割出不含重合绘图区域的绘图数据信息,最后将分割出的绘图数据信息发送给数据读取模块。
4.根据权利要求1所述的一种地质勘探中大数据量的曲线快速绘图方法,其特征在于:所述的步骤(4)中当数据读取模块长时间没有读数据请求时,根据前一次从读文件的位置,向文件后预读部分数据点。
5.根据权利要求1所述的一种地质勘探中大数据量的曲线快速绘图方法,其特征在于:所述的步骤(5)中的利用Douglas-Peucker算法对大数据量点进行特征点提取的具体方法是:当数据点量大于设置的阈值ε1,采用Douglas-Peucker算法对数据曲线进行特征点抽取,当数据点量小于阈值ε1,则不进行特征点抽取。
6.根据权利要求1所述的一种地质勘探中大数据量的曲线快速绘图方法,其特征在于:所述的步骤(6)的具体操作是:创建用于绘图线程,监控是否接收到信息和数据,当接收到信息和数据,根据信息和数据进行绘图;若接收到局部重绘信息时,利用双缓冲技术进行曲线绘图,即在重绘信息中指出窗口中未发生变化部分和改变这部分内容到窗口中的新位置,然后将这部分曲线拷贝到指定位置即可;在执行过快的绘图操作时,虽然会有部分绘图操作请求被忽略,不会立即绘制曲线,但是除了实际数据,窗口中坐标系统、刻度绘图元素需要立即绘制,便于给用户提示绘图区域。
7.一种地质勘探中大数据量的曲线快速绘图系统,其特征在于:包括事件过滤模块,数据读取模块,数据处理模块和数据绘图模块;
事件过滤模块,用于过滤掉过快的绘图操作动作,根据客户端窗口发送的需要绘图的点数,利用关系式(1)设置定时器定时时间间隔并采用单次触发模式触发处理函数,
DrawingTime=a·SampleNum+b (1),
其中,DrawingTime为绘图时间,SampleNum为绘图点数;
当在设置的时间间隔内没有下一个绘图动作来重置定时器,会触发处理函数,处理函数进一步将当前绘图数据信息与前一绘图动作的绘图数据信息对比,将绘图区域划分为重合绘图区域和读数据区域,重合绘图区域为局部重绘区域,无需从硬盘中读取数据;对于读数据区域,则将不含重合绘图区域的绘图数据信息发送给数据读取模块;
数据读取模块,用于判断读数据请求中是否有数据点在自定义的预读数据缓存中,若有,将满足要求的数据点从预读缓冲中提取出来并发送给数据处理模块,使得绘图模块尽快地有数据可以绘图,然后从硬盘的数据文件中读取剩余的数据点并发送给数据处理模块;
数据处理模块,包括对二进制数据进行解析为绘图需要的数据类型和对大数据点量进行特征点提取功能,根据接收到数据信息和数据,当绘图数据点量大于设置的阈值ε1时,采用Douglas-Peucker算法提取特征点,最后将提取的数据点发送给绘图模块进行绘图;
数据绘图模块,根据接收到的数据点包进行绘图和局部重绘。
CN201610694158.2A 2016-08-20 2016-08-20 一种地质勘探中大数据量的曲线快速绘图方法及其系统 Active CN106570049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610694158.2A CN106570049B (zh) 2016-08-20 2016-08-20 一种地质勘探中大数据量的曲线快速绘图方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610694158.2A CN106570049B (zh) 2016-08-20 2016-08-20 一种地质勘探中大数据量的曲线快速绘图方法及其系统

Publications (2)

Publication Number Publication Date
CN106570049A CN106570049A (zh) 2017-04-19
CN106570049B true CN106570049B (zh) 2019-11-01

Family

ID=58532290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610694158.2A Active CN106570049B (zh) 2016-08-20 2016-08-20 一种地质勘探中大数据量的曲线快速绘图方法及其系统

Country Status (1)

Country Link
CN (1) CN106570049B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426500B (zh) * 2017-06-21 2022-03-08 中国石油化工股份有限公司 基于su软件包绘制十进制采样点的方法及系统
CN110379498A (zh) * 2018-04-12 2019-10-25 深圳市理邦精密仪器股份有限公司 监护曲线显示方法、装置及电子设备
CN111582663B (zh) * 2020-04-20 2023-09-05 杭州市质量技术监督检测院 Nqi质量服务的方法、平台、用户终端及可读存储介质
CN111563073B (zh) * 2020-04-20 2023-07-07 杭州市质量技术监督检测院 Nqi信息共享的方法、平台、服务器及可读存储介质
CN112597414B (zh) * 2020-11-25 2022-03-08 中科三清科技有限公司 污染物观测数据的处理方法、系统、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360287A (zh) * 2011-09-28 2012-02-22 中国航天科工集团第四研究院第四总体设计部 一种用于高速实时仿真的曲线绘制方法
CN103268342A (zh) * 2013-05-21 2013-08-28 北京大学 基于cuda的dem动态可视化加速系统和方法
CN103412863A (zh) * 2013-06-05 2013-11-27 东南大学 面向嵌入式设备的大容量矢量地图快速可视化实现方法
CN103455662A (zh) * 2013-08-05 2013-12-18 广东电网公司电力科学研究院 电网污区图分布式绘制系统及方法
CN103608785A (zh) * 2013-06-21 2014-02-26 华为技术有限公司 一种文件读取方法、存储设备及读取系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120050293A1 (en) * 2010-08-25 2012-03-01 Apple, Inc. Dynamically smoothing a curve

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102360287A (zh) * 2011-09-28 2012-02-22 中国航天科工集团第四研究院第四总体设计部 一种用于高速实时仿真的曲线绘制方法
CN103268342A (zh) * 2013-05-21 2013-08-28 北京大学 基于cuda的dem动态可视化加速系统和方法
CN103412863A (zh) * 2013-06-05 2013-11-27 东南大学 面向嵌入式设备的大容量矢量地图快速可视化实现方法
CN103608785A (zh) * 2013-06-21 2014-02-26 华为技术有限公司 一种文件读取方法、存储设备及读取系统
CN103455662A (zh) * 2013-08-05 2013-12-18 广东电网公司电力科学研究院 电网污区图分布式绘制系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种快速地质绘图系统的研究与应用;李毅;《中国优秀硕士学位论文全文数据库 基础科学辑》;20160315(第03期);A011-136 *
基于Qt的地震数据可视化技术的研究及应用;仲芊芊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110415(第04期);I138-888 *

Also Published As

Publication number Publication date
CN106570049A (zh) 2017-04-19

Similar Documents

Publication Publication Date Title
CN106570049B (zh) 一种地质勘探中大数据量的曲线快速绘图方法及其系统
CA2886429C (en) Method for partitioning, managing and displaying a collaboration space and interactive input system employing same
CN107077252B (zh) 用于定时输入感测、渲染和显示以便最小化时延的系统和方法
CN109859109B (zh) 一种系列比例尺pdf地图无缝组织与显示方法
CN103902718A (zh) 一种报表控件及其应用
US20230368246A1 (en) Method for in-stream aggregation of ad interaction data for a population of users viewing ad content
US20130106884A1 (en) Multiple image buffer simulation
CN103970427B (zh) 网页页面的刷新方法和装置
CN106547454A (zh) 显示方法及装置
CN104077056B (zh) 屏幕显示页面的平移方法和系统
US20150012644A1 (en) Performance measurement method, storage medium, and performance measurement device
KR970049360A (ko) 펜으로 작성된 컴퓨터 화면상의 정보를 소거하는 장치 및 그 방법
KR20190015517A (ko) 정보 처리 방법 및 장치, 및 동적 정보를 디스플레이하는 방법 및 장치
CN103838861A (zh) 一种基于三维gis动态显示信息的方法和显示系统
US9171387B2 (en) Data visualization system
CN117270834A (zh) 地图渲染方法、装置、电子设备和存储介质
Dasgupta et al. Meta parallel coordinates for visualizing features in large, high-dimensional, time-varying data
CN102279854A (zh) 显示网页内容的方法和装置
CN1177136A (zh) 图形用户接口中生成全局命中测试数据结构的方法和系统
CN108874938B (zh) 数据滚动方法、装置、前端设备、后台服务器和介质
CN109343117B (zh) 双缓存双线程地震数据显示方法
CN106652098B (zh) 一种雷达图像处理方法及装置
Stuckey A Comparison of ArcGIS and QGIS for Animation
Fan et al. Large-Scale Oceanic Dynamic Field Visualization Based On WebGL
CN105183226B (zh) 一种屏幕滑动灵敏度的测试方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A fast curve drawing method and system with large amount of data in geological exploration

Effective date of registration: 20211229

Granted publication date: 20191101

Pledgee: Hefei high tech Company limited by guarantee

Pledgor: HEFEI GUOWEI ELECTRONICS Co.,Ltd.

Registration number: Y2021980016742

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 230088 Floor 9, building a, phase II, innovation industrial park, No. 2800, innovation Avenue, high tech Zone, Hefei, Anhui Province

Patentee after: HEFEI GUOWEI ELECTRONICS Co.,Ltd.

Address before: 230088 4th floor, C3 building, Hefei Innovation Industrial Park, No. 800, Wangjiang West Road, high tech Zone, Anhui Province

Patentee before: HEFEI GUOWEI ELECTRONICS Co.,Ltd.

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230602

Granted publication date: 20191101

Pledgee: Hefei high tech Company limited by guarantee

Pledgor: HEFEI GUOWEI ELECTRONICS Co.,Ltd.

Registration number: Y2021980016742