GeoGeo大数据集

GeoGeo大数据集

 

一、什么是GG大数据集

GG大数据集是很大的数组。比如这样的数组

BYTE data[360000][480000][6];

数组元素约需要1T的空间,GeoGeo可以创建这样大小的数组。理论上,GeoGeo数组的大小仅受外部存储空间大小的影响。

二、GG大数据集需要的硬件环境

GG大数据集只有一部分映射到计算机内存,绝大部分都在外部存储空间交换,因此需要足够的磁盘空间。

缺省情况下GG使用“D:\RsdTmp”为临时目录,大数据也使用该目录当临时缓存,因此需要D盘空间足够大。

如果需要更改GG临时目录,可将注册表中

HKEY_CURRENT_USER->Software->李国春->GeoGeo->Settings->TempPath

的值“D:\RsdTmp\”改为需要的目录。注意最后面有一个反斜线“\”。

更改节点机上的临时文件目录将上述注册表中的GeoGeo改为GGServer

三、声明GG大数据集

普通的数组可以直接声明如

BYTE data[1000][1000][6];

大数据集声明使用

int AllocTile(声明语句);

函数,使用该函数如声明上述的1T大小的大数组可以如下

int n = AllocTile(BYTE data[360000][480000][6];);

注意参数是一个完整的数组声明语句,后面一定带有“;”号,以便解释程序确定语句的终结位置。

大数据集数组在GeoGeo脚本中总为全局变量。

创建大数据后,察看临时目录,会看到一个以变量名命名的子目录,打开该子目录可以看见一系列的文件,这些文件在需要时映射到数组的内存空间。这种数组和文件的交换方式在GG中称之为TFSTile File System)。

四、打开、关闭和销毁大数据集

辛苦建立的大数据集数组在结束GeoGeo脚本进程时可能不希望像普通全局变量一样被销毁,这些数据可以保留下来供后续的程序使用。使用CloseTile函数可以销毁大数据集的内存部分而保留磁盘映射。

int CloseTile(T var);

函数的参数是大数据集数组的变量名,无需关心变量的数据类型。

重新打开大数据集时使用OpenTile函数。

int OpenTile(STRING tfspath,STRING varname);

1个参数是大数据集路径;第2个参数是打开后的全局变量的变量名,可以不指定第2个参数,不指定时使用大数据集的TFS名做变量名。

如果确实希望在脚本进程解释时销毁大数据集,可以使用FreeTile函数。

int FreeTile(T var);

此函数将内存数组变量和磁盘TFS全部删除。

五、大数据集的分块操作

大数据集的子变量以及分块存取与普通数组相同。

有关更多的GeoGeo大数据集方面内容请参阅《GEOGEO-PART1GeoGeo脚本基础第8章第4节。

示例程序清单中下述文件

8-4-TFS创建和销毁.c

8-5-TFS删除.c

8-6-TFSOpen.c

8-8-TFS拷贝粘贴2.c

提供了有关大数据集的示例代码以供参考。

 

 

http://download.csdn.net/detail/gordon3000/7922555

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值