地理信息数据处理方法、系统、装置及计算机可读介质
文献发布时间:2023-06-19 10:35:20
技术领域
本发明涉及数据处理技术,特别涉及地理信息栅格数据处理技术,具体涉及地理信息数据处理方法、系统、装置及计算机可读介质。
背景技术
在地理信息系统中,栅格数据加权平均中心的识别有着广泛的应用,例如计算山体重心、分析物种生态位移动等。
现有技术存在着计算速度慢、数据容量受到限制等缺点。现有技术对栅格数据加权平均中心的识别通常是将栅格数据转为点,使用ArcGIS软件“平均中心”系统工具进行识别。“平均中心”系统工具未使用迭代器,直接计算所有输入值的平均值,用来表示输入值的评价中心,这样的计算方法将所有的临时数据均储存在内存中,因此会出现2GB数据容量的限制,运算的速度也较慢。在识别高精度、大数据的栅格数据平均中心时,如果数据容量大于2GB,则不能通过现有技术实现。目前,需要一项新的技术,来弥补现有方法的不足,实现高精度、大数据的栅格评价中心快速识别。
发明内容
本发明的目的是提供一种地理信息数据处理方法、系统、装置及计算机可读介质,提高栅格数据加权平均中心的识别速度。
根据本发明的一个方面,提供了一种地理信息数据处理方法,包括如下步骤:
a、导入ArcPy站点及其空间分析模块;
b、输入要处理的栅格文件;
c、读取所有栅格中心点的值和所有栅格中心点的坐标;
d、将所有栅格中心点的X坐标×栅格值并进行累加,得到累加值X
将所有栅格中心点的Y坐标×栅格值并进行累加;得到累加值Y
将所有栅格中心点的栅格值进行累加,得到累加值V
e、输出加权平均中心的X坐标X
V
所述栅格文件为tif格式。
进一步的:
所述步骤a具体为:运行的软件是Python 2.2和ArcGIS空间分析模块,在Python编辑器中导入ArcPy站点。
进一步的:
步骤c中,使用RasterToPoint工具读取所有栅格中心点的栅格值;使用ArcGIS的几何令牌工具读取所有栅格的中心点坐标。
根据本发明的一个方面,提供了一种地理信息数据处理系统,包括:
导入模块,用于导入ArcPy站点及其空间分析模块;
输入模块,用于输入要处理的栅格文件;
读取模块,用于读取所有栅格中心点的值和所有栅格中心点的坐标;
计算模块,用于
将所有栅格中心点的X坐标×栅格值并进行累加,得到累加值X
将所有栅格中心点的Y坐标×栅格值并进行累加;得到累加值Y
将所有栅格中心点的栅格值进行累加,得到累加值V
输出模块,用于输出加权平均中心的X坐标X
进一步的:
所述栅格文件为tif格式。
进一步的:
所述导入模块,运行的软件是Python 2.2和ArcGIS空间分析模块,在Python编辑器中导入ArcPy站点。
进一步的:
所述输入模块,使用RasterToPoint工具读取所有栅格中心点的栅格值,使用ArcGIS的几何令牌工具读取所有栅格的中心点坐标。
根据本发明的一个方面,提供了一种地理信息数据处理装置,包括处理器和储存器,所述储存器用于存储处理器可自行指令;所述处理器被配置为执行上述任意一种地理信息数据处理方法。
根据本发明的一个方面,提供了一种计算机可读介质,其特征在于,包括存储的程序,所述程序运行时执行上述任意一种地理信息数据处理方法。
根据本发明技术方案及其进一步改进的技术方案,本发明具有如下有益效果:
本发明的技术方案,提高了栅格数据加权平均中心的识别速度,并不会受到数据容量的限制。与现有技术相比,本发明对栅格数据的加权平均中心的识别速度提高了57.87%。本发明在计算栅格的平均加权中心时,没有数据容量限制,而传统方法的数据量不得超过2GB。
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的具体实施方式、示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为根据本发明具体实施方式的流程示意图;
图2为根据本发明具体实施方式的系统结构示意图;
图3为根据本发明具体实施方式的装置结构示意图。
其中:
210 为导入模块;
220 为输入模块;
230 为读取模块;
240 为计算模块;
250 为输出模块;
310 为处理器;
320 为储存器;
330 为总线。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的具体实施方式、实施例以及其中的特征可以相互组合。现将参考附图并结合以下内容详细说明本发明。
为了使本领域技术人员更好的理解本发明方案,下面将结合本发明具体实施方式、实施例中的附图,对本发明具体实施方式、实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的具体实施方式、实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施方式、实施例,都应当属于本发明保护的范围。
下面对本发明涉及的一些软件名称缩写及术语统一解释如下:
如图1所示,本发明的地理信息数据处理方法,包括如下步骤:
S110,导入ArcPy站点及其空间分析模块
运行的软件是Python 2.2和ArcGIS空间分析模块。
S120,输入要处理的tif格式栅格文件
在Python编辑器中定义一个字符串变量(inras),变量的值为输入栅格文件的路径。
S130,使用RasterToPoint工具读取所有栅格中心点的栅格值;使用ArcGIS的几何令牌工具读取所有栅格的中心点坐标。
该步骤中,在Python编辑器中定义一个字符串变量(point),变量的值为任意可用路径,用来存储临时文件。
使用RasterToPoint工具读取所有栅格中心点的栅格值,命令格式为:
rcpy.RasterToPoint_conversion(inras,point,"VALUE")。
使用几何令牌工具读取所有栅格的中心点坐标,命令格式为:
cursor=arcpy.da.SearchCursor(point,["SHAPE@XY","GRID_CODE"])。
S140,计算栅格中心点以栅格值为加权的加权平均数
将所有栅格中心点的X坐标×栅格值并进行累加,得到累加值X
将所有栅格中心点的Y坐标×栅格值并进行累加;得到累加值Y
将所有栅格中心点的栅格值进行累加,得到累加值V
该步骤中,定义三个浮点型变量,sumX、sumY、sumValue,用作计数器,将它们赋值为0.0。
使用inter函数为几何令牌工具定义的cursor列表构建迭代器:it=iter(cursor)
使用while循环遍历这个迭代器,并在每次循环中将中心点的X坐标×栅格值、中心点的Y坐标×栅格值、栅格值进行累加,并存储到计数器中,直到遇到StopIteration错误时退出循环。执行的代码如下:
循环结束后,使用Delete_management工具删除临时文件point。
S150,输出加权平均中心的X坐标X
如图2所示,本发明的地理信息数据处理系统,包括:
导入模块210,用于导入ArcPy站点及其空间分析模块。
导入模块210运行的软件是Python 2.2和ArcGIS空间分析模块。
输入模块220,用于输入要处理的栅格文件,栅格文件为tif格式。
读取模块230,用于读取所有栅格中心点的值和所有栅格中心点的坐标。
读取模块230使用RasterToPoint工具读取所有栅格中心点的栅格值,使用ArcGIS的几何令牌工具读取所有栅格的中心点坐标。
计算模块240,用于
将所有栅格中心点的X坐标×栅格值并进行累加,得到累加值X
将所有栅格中心点的Y坐标×栅格值并进行累加;得到累加值Y
将所有栅格中心点的栅格值进行累加,得到累加值V
输出模块,用于输出加权平均中心的X坐标X
本发明的地理信息数据处理装置结构如图3所示,包括处理器310和储存器320,处理器310和储存器320通过总线330连接,传输数据和指令。
储存器320用于存储处理器310可自行指令。
处理器310被配置为执行上述任意一种地理信息数据处理方法。
本发明还提供了一种计算机可读介质,包括存储的程序,所述程序运行时执行上述任意一种地理信息数据处理方法。
- 地理信息数据处理方法、系统、装置及计算机可读介质
- 数据处理方法、装置、计算机系统和计算机可读存储介质