一种栅格数据坐标转换方法、系统、终端设备及存储介质与流程

文档序号:16253298发布日期:2018-12-12 00:13阅读:283来源:国知局
一种栅格数据坐标转换方法、系统、终端设备及存储介质与流程

本发明涉及数据处理领域,尤其涉及一种栅格数据坐标转换方法、系统、终端设备及存储介质。

背景技术

在不同坐标系统中,对空间物体位置描述也会不同。在地理测绘中,工程测绘标准不统一,会严重影响到测量精度。栅格数据具有属性明显,但位点坐标隐藏的特点,由于栅格数据坐标转换过程中会涉及坐标反算和重采样,致使计算量非常大。

目前,经常采用单线程来进行逐个像素点转换,这种转换方式因为没有充分发挥cpu和磁盘的性能,致使坐标转换效率低,而使用多个进程来同时处理栅格数据的,未充分考虑到硬件配置,使得计算机负载过重,开销不合理。

故,有必要提出一种负载均衡的栅格数据坐标转换方法。



技术实现要素:

有鉴于此,本发明实施例提供了一种栅格数据坐标转换方法、系统、终端设备及存储介质,以解决负载不均衡的问题。

本发明实施例的第一方面,提供了一种栅格数据坐标转换方法,包括:

获取原始栅格图像的角点坐标和分辨率,经坐标转换后,得到目标图像的角点坐标和分辨率;

计算包含所有角点坐标的最小外接矩形,并根据所述外接矩形大小创建目标栅格图像;

将所述目标栅格图像按照预设尺寸划分为大小相等的目标分块;

根据计算机磁盘的读写速度及cpu负载,创建对应数量的线程,并通过所述线程管理所述目标分块的坐标转换;

遍历所有的目标分块,并将所述目标分块的数据写入所述目标栅格图像中

本发明实施例的第二方面,提供了一种栅格数据坐标转换系统,包括:

获取模块:用于获取原始栅格图像的角点坐标和分辨率,经坐标转换后,得到目标图像的角点坐标和分辨率;

创建模块:用于计算包含所有角点坐标的最小外接矩形,并根据所述外接矩形大小创建目标栅格图像;

划分模块:用于将所述目标栅格图像按照预设尺寸划分为大小相等的目标分块;

转换模块:用于根据计算机磁盘的读写速度及cpu负载,创建对应数量的线程,并通过所述线程管理所述目标分块的坐标转换;

写入模块:用于遍历所有的目标分块,并将所述目标分块的数据写入所述目标栅格图像中。

本发明实施例的第三方面,提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。

本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。

本发明实施例中,通过栅格图像分块,并根据cpu的负载和磁盘读写速度,创建对应数量的线程,通过线程管理栅格图像分块的坐标,使得栅格图像的坐标转换效率大大提高,充分发挥计算机的资源,同时避免多进程处理栅格数据转换时,过度消耗硬件资源,影响其他应用程序的使用,从而保障坐标转换过程中的负载均衡。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的栅格数据坐标转换方法的一个实施例流程图;

图2为本发明实施例提供的栅格数据坐标转换方法的另一个实施例流程图;

图3为本发明实施例提供的栅格数据坐标转换系统结构示意图;

图4为本发明实施例提供的终端设备的结构示意图。

具体实施方式

本发明实施例提供了一种栅格数据坐标转换方法、系统、终端设备及存储介质,用于对栅格图像进行坐标转换,提高转换效率。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

实施例一:

请参阅图1,本发明实施例提供的栅格数据坐标转换方法的流程示意图,包括以下步骤:

s101、获取原始栅格图像的角点坐标和分辨率,经坐标转换后,得到目标图像的角点坐标和分辨率;

所述原始栅格图像为待转换栅格图像,栅格图像类似于一个矩阵,将平面空间分割成有规律的网格,每一格为一个单元,该单元中的元素对应像素点。确定目标图像的角点坐标及分辨率能够,就可以为目标栅格图像分配内存空间。

s102、计算包含所有角点坐标的最小外接矩形,并根据所述外接矩形大小创建目标栅格图像;

所述角点坐标一般为四个,根据这四个角点坐标,可以得到栅格图像的大小,结合s101中获取的分辨率,创建目标栅格图像,即生成栅格图像的文件。

s103、将所述目标栅格图像按照预设尺寸划分为大小相等的目标分块;

可选的,根据计算机磁盘的读写速度及cpu负载,确定划分目标分块的数量。

s104、根据计算机磁盘的读写速度及cpu负载,创建对应数量的线程,并通过所述线程管理所述目标分块的坐标转换;

可选的,所述s104具体包括以下步骤:

为目标分块分配内存空间;

对所述目标分块角点坐标进行反算,得到所述目标分块映射到所述原始栅格图像的坐标;

根据所述目标分块的角点坐标,计算得到目标分块的最小外接矩形,并将所述外接矩形设为原始栅格图像的采样块;

以所述采样块左上角点坐标作为起始点,根据分辨率及行列数,获得所述采样块中像素点的坐标值。

根据采样块中像素点的坐标值,通过重采样法计算所述目标分块中像素点对应采样块中的像素值,将所述像素值保存到所述目标分块内存空间中。

可选的,所述根据计算机磁盘的读写速度及cpu负载还包括:

获取计算机的硬件信息,设定cpu和磁盘空间的阈值占用比例。

s105、遍历所有的目标分块,并将所述目标分块的数据写入所述目标栅格图像中。

在本发明实施例中,对目标栅格图像分块,根据硬件信息生成线程,管理分块的转换过程,这种并行处理模式能够大大提高转换速度,同时实现与硬件的负载均衡。

实施例二:

在图1的基础上,结合图2详述目标分块坐标转换过程,如下

图2为本发明实施例提供的转换流程示意图,该图所述编号步骤并不意味着执行顺序的先后。

对目标栅格图像分块后,确定各分块角点坐标,经过s202坐标转换可以得到采样块角点坐标,所述采样块指的是目标分块对应的原始栅格图像中的区域。

在s204中为所述采样块分配内存,具体可根据角点坐标的外接矩形大小,分配对应的内存空间,如外接矩形尺寸为1028像素×1026像素,一次性开辟内存(1028×1026×3×1字节),并读入同等尺寸原始采样块光谱数据。

经过s206、s207、s208可得到目标分块中每个像元坐标,结合采样块中已经放入的光谱数据,可以结合采样块中光谱数据,通过重采样算法,获得每个像元光谱值,将这些光谱值写入目标分块中,这样就完成了分块的坐标转换。

每个分块转换成功后,经过遍历该分块数据,就可以将这些数据写入目标栅格图像。

在本发明实施例中通过目标分块单独与采样块的重采样,进行分块数据的写入,各分块之间互不干扰,便于线程的处理,并行处理可加快坐标转换速度。

实施例三:

上面主要描述了一种栅格数据坐标转换方法,下面将对一种栅格数据坐标转换系统进行详细描述。

图3示出了本发明实施例提供的栅格数据坐标转换系统的结构示意图,包括:

获取模块310:用于获取原始栅格图像的角点坐标和分辨率,经坐标转换后,得到目标图像的角点坐标和分辨率;

创建模块320:用于计算包含所有角点坐标的最小外接矩形,并根据所述外接矩形大小创建目标栅格图像;

划分模块330:用于将所述目标栅格图像按照预设尺寸划分为大小相等的目标分块;

可选的,所述划分模块330包括:

划分单元:用于根据计算机磁盘的读写速度及cpu负载,确定划分目标分块的数量。

转换模块340:用于根据计算机磁盘的读写速度及cpu负载,创建对应数量的线程,并通过所述线程管理所述目标分块的坐标转换;

可选的,所述转换模块340包括:

分配单元:用于为目标分块分配内存空间;

反算单元:用于对所述目标分块角点坐标进行反算,得到所述目标分块映射到所述原始栅格图像的坐标;

计算单元:用于根据所述目标分块的角点坐标,计算得到目标分块的最小外接矩形,并将所述外接矩形设为原始栅格图像的采样块;

获取单元:用于以所述采样块左上角点坐标作为起始点,根据分辨率及行列数,获得所述采样块中像素点的坐标值。

保存单元:用于根据采样块中像素点的坐标值,通过重采样法计算所述目标分块中像素点对应采样块中的像素值,将所述像素值保存到所述目标分块内存空间中。

可选的,所述转换模块340还包括:

获取单元:用于获取计算机的硬件信息;

设定单元:用于设定cpu和磁盘空间的阈值占用比例。

写入模块350:用于遍历所有的目标分块,并将所述目标分块的数据写入所述目标栅格图像中。

实施例4:

图4是本发明一实施例提供的栅格数据坐标转换的终端装置的结构示意图。所述终端设备,为具备触摸屏的移动计算机设备,包括但不限于智能手机、智能手表、笔记本、平板电脑、pos机甚至包括车载电脑。如图4所示,该实施例的终端设备4包括:存储器410、处理器420,所述存储器410包括存储其上的可运行的程序4101,本领域技术人员可以理解,图4中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图4对终端设备的各个构成部件进行具体的介绍:

存储器410可用于存储软件程序以及模块,处理器420通过运行存储在存储器410的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在存储器410上包含项目工程初始化的方法的可运行程序4101,所述可运行程序4101可以被分割成一个或多个模块/单元,所述一个或多个模块/单元被存储在所述存储器410中,并由处理器420执行,以完成通知的传递并获取通知实现过程,所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序4101在所述终端设备4中的执行过程。例如,所述计算机程序4101可以被分割为获取模块、创建模块、划分模块、转换模块和写入模块。

处理器420是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器410内的软件程序和/或模块,以及调用存储在存储器410内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器420可包括一个或多个处理单元;优选的,处理器420可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器420中。

终端设备还可包括至少一种传感器,比如光传感器、运动传感器以及其他传感器,一种输入设备,比如触摸屏、键盘及其他,一种输出设备,比如扬声器、显示器及其他。其他构成部件在此不再赘述。

在本发明实施例中,该终端所包括的处理器420执行的可运行程序具体为:

一种栅格数据坐标转换方法,包括:

获取原始栅格图像的角点坐标和分辨率,经坐标转换后,得到目标图像的角点坐标和分辨率;

计算包含所有角点坐标的最小外接矩形,并根据所述外接矩形大小创建目标栅格图像;

将所述目标栅格图像按照预设尺寸划分为大小相等的目标分块;

根据计算机磁盘的读写速度及cpu负载,创建对应数量的线程,并通过所述线程管理所述目标分块的坐标转换;

遍历所有的目标分块,并将所述目标分块的数据写入所述目标栅格图像中。

进一步的,所述并通过所述线程管理所述目标分块的坐标转换包括:

为目标分块分配内存空间;

对所述目标分块角点坐标进行反算,得到所述目标分块映射到所述原始栅格图像的坐标;

根据所述目标分块的角点坐标,计算得到目标分块的最小外接矩形,并将所述外接矩形设为原始栅格图像的采样块;

以所述采样块左上角点坐标作为起始点,根据分辨率及行列数,获得所述采样块中像素点的坐标值。

根据采样块中像素点的坐标值,通过重采样法计算所述目标分块中像素点对应采样块中的像素值,将所述像素值保存到所述目标分块内存空间中。

进一步的,所述将所述目标栅格图像按照预设尺寸划分为大小相等的目标分块还包括:

根据计算机磁盘的读写速度及cpu负载,确定划分目标分块的数量。

进一步的,所述根据计算机磁盘的读写速度及cpu负载,创建对应数量的线程包括:

获取计算机的硬件信息;

设定cpu和磁盘空间的阈值占用比例。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1