《第6章卫星测高数据处理资料》由会员分享,可在线阅读,更多相关《第6章卫星测高数据处理资料(35页珍藏版)》请在金锄头文库上搜索。
1、第 6 章 卫星测高数据处理 1 第第6章章卫星测高数据处理卫星测高数据处理 6.1引言引言 目前, 国外已发射了 GEOS-3、 SEASAT、 GEOSAT、 ERS1/2、 T/P、 GFO、 ENVISAT 和 JASON1/2 等测高卫星,这些卫星收集了一个非常庞大的全球、近实时、全天候数据,为科学研究,由 其是为海洋学、 大地测量学、 气象、 环境等相关学科提供了非常廉价和丰富的信息源。 因此, 这些数据的处理是一项非常重要的工作。 在目前的科学研究中, 用得最多的是地球物理学数 据,即 GDR 数据,然而,测高的原始数据传感器数据对于测高数据的处理显得更为重 要。我们所使用的 G
2、DR 数据,一般也叫作 1Hz 数据,也就是说数据的组织是一秒钟采集一 个数据记录。而 20Hz(或 18Hz)数据,表示的是每秒钟采集 20(或 18)个数据。通常, 1Hz 数据是将 20Hz(或 18Hz)数据平均(或者内插得到) ,可以沿着轨道进行计算内插。对 于原始的传感器数据,其数据量庞大、数据结构复杂、数据处理算法实施相对困难,需要具 备高性能计算机和快速处理算法。 根据使用目的和数据格式的要求, 对传感器数据数据处理 之后,可以生成 SGDR、IGDR、GDR 等一级二级产品。不管是计算海洋大地水准面、重力异 常、海洋潮汐,还是求全球平均海面,主要使用的数据都是 1Hz 的 G
3、DR 产品。 由于定轨技术和地球重力场模型精度的限制,卫星轨道误差(特别是径向轨道误差)一 直是影响测高卫星观测精度最主要的因素之一。 为解决这一问题, 先后出现了多种数据处理 方法,如:交叉点平差法、共线平差、整体求解法等。 6.2卫星测高数据格式卫星测高数据格式 卫星测高收集了全球非常密集的观测数据, 其存储管理对数据的使用具有非常重要的意 义。根据卫星测高重复周期特性,一般测高数据按 pass 存储,每个 pass 存储一个文件,这 种存储方式便于测高数据后续的管理和使用。通常,每个弧段文件存储时,除了存储数据本 身之外,还需要存储该弧段相关的信息,例如:弧段文件名、数据处理软件及版本、
4、处理机 构、文件生成时间、数据获取站点、数据的起止时间、起止经纬度、过赤道经度、数据总记 录数,有效记录数等。 武汉大学 雷达高度计观测及应用基础理论 “现代大地测量技术”丛书 2 6.2.1 6.2.1 常规二进制格式常规二进制格式 测高数据一般按二进制格式存储, 例如 GEOSAT、 ERS1/2、 T/P、 GFO、 JASON1、 ENVISAT。 这些测高卫星数据在存储当中, 都是在文件起始部分存储基本的文件信息, 这部份通常以文 本形式给出。之后才存储科学数据记录,这部分以二进制形式存储。 一般情况下,科学数据记录中元素的类型整型 1 字节、2 字节和 4 字节比较多,如果该 参数
5、由于其他原因造成数据无效,将存储其为默认值。 表 6.1 测高数据存储类型及大小 数据存储 类型 大小 (字节) 最小值 最大值 (默认值) 备注 有符号整型 1 -128 27-1=127 无符号整型 1 0 28-1=255 位字段 1 0 28-1=255 有符号整型 2 -32768 215-1=32767 无符号整型 2 0 216-1=65535 位字段 2 0 216-1=65535 有符号整型 4 -2147483648 231-1=2147483647 无符号整型 4 0 232-1=4294967295 6.2.2 6.2.2 N NetCDFetCDF 格式格式 NetC
6、DF 中文译为“网络通用数据格式” ,其英文全称为 network Common Data Format。 NetCDF 是一种在气象、海洋科学中广泛使用的数据存储格式,目前已成为许多数据处理和 采集软件广泛使用的文件格式类型, 例如 ArcGIS 等许多 GIS 软件也支持这种数据格式, 在卫 星测高数据存储中,从 JASON2 开始,主要使用 NetCDF 格式,JASON1 除了传统的二进制格 式外, 也同时提供了 NetCDF 文件格式。 实质上, 对于一般的程序员来说, NetCDF 和 zip、 jpeg、 bmp 文件格式类似,都是一种文件格式的标准。 从数学上来说,NetCDF
7、 存储的数据就是一个多自变量的单值函数。用公式来说就是 f(x,y,z,.)=value,函数的自变量 x,y,z 等在 NetCDF 中叫做维(dimension)或坐标轴(axix),函数 值 value 在 NetCDF 中叫做变量(Variables)。而自变量和函数值在物理学上的一些性质,比如 计量单位(量纲)、物理学名称等等在 NetCDF 中就叫属性(Attributes)。 第 6 章 卫星测高数据处理 3 NetCDF 格式比较灵活,具有自描述特性。在 JASON-2 的数据中,一个 NetCDF 文件包含 维、变量和属性三个部分的内容。 维可以用来表示实际的物理尺寸大小,例
8、如时间、经纬度、高的个数。维还可以用来作 为其他量的索引(例如波形) 。在 JASON-2(OSTM)产品文件中使用的维参见下表。 表 6.2 JASON-2/OSTM 采用的维 维名 值 SSHA 数据集 GDR 数据集 SGDR 数据集 Time 文件中观测值个数 Meas_ind 20(基本观测数,20Hz) Wvf_ind 104(波形采样数) 在 NetCDF 文件中,变量可以用来存储数据。一个变量是一个类型相同的数组,一个纯 量值将被看作是一个零维数组。当一个变量一旦创建,那么每个变量都有一个名字、一种数 据类型,并且通过所指定的维数描述了一个形状。变量可以有附带的属性,当变量创建
9、后, 属性可以增加、删除或改变。NetCDF 的变量类型主要有字符、整型和浮点型,与 C 语言数 据类型非常相似。 表 6.3 NetCDF 变量类型 变量类型 类型说明 Char 字符 Byte 8 比特有符号数据 Short 16 比特有符号整型 Int 32 比特有符号整型 Float IEEE 单精度浮点数(32 比特) Double IEEE 双精度浮点数(64 比特) 很多情况下要给出每个点的坐标值,这时就需要用到 NetCDF 里的坐标变量。坐标变量 是指名称相同且具有维度的变量。 坐标变量通常定义了与维的大小相对于的物理坐标。 根据 CF(Climate and Forecas
10、t)协议,对于每一个维,我们都要申明一个坐标变量。此外,在坐 标变量中不能没有值,而且这些值还必须是严格单调递增或递减的。 在 NetCDF 中,还有一种包含有坐标数据的辅助坐标变量,但这种坐标变量不是上述定 义的坐标变量。 辅助坐标变量与坐标变量不同, 辅助坐标变量与辅助坐标变量名和维名没有 关系。 NetCDF 文件中的属性用来存储与数据相关的一些信息(辅助数据或元数据) ,与一般数 武汉大学 雷达高度计观测及应用基础理论 “现代大地测量技术”丛书 4 据数据库系统中的存储的数据词典和数据模式信息相似。 属性通过变量名以及属性名来识别。 有些属性提供了整个数据的信息,这类属性可以称为全局属
11、性。在 JASON-2 数据中,全 局属性与 JASON-1 中的文件头信息相似。下表为 JASON-2/OSTM 中使用的属性。 表 6.4 ASON-2/OSTM 中使用的属性 属性 属性描述 _FillValue 用来表示缺失或无定于数据的默认值 add_offset 表示偏移量。如果该值存在,那么当应用程序读取该数据后需要加上 此偏移量。如果 scale_factor 和 add_offset 两个属性值都存在,那么数 据读取后首先乘上 scale_factor,再加上 add_offset calendar 参考时间日历 comment 关于数据或数据生成使用方法的简单描述 coor
12、dinates 辅助坐标变量标识符 flag_meanings 与 flag_values 联合使用,提供每个特征值的描述性字词 flag_values 提供标识值的列表,与 flag_meanings 联合使用 institution 提供数据的机构 leap_second 瑞秒发生 long_name 变量内容描述 quality_flag 当前变量的质量 scale_factor 比例因子。如果存在,读取数据后需要乘上该比例因子。 source 数据源(模型特征、观测) standard_name 标准名 tai_tuc_difference TAI 和 UTC 时间差 units 变量
13、单位。 valid_max 变量的最大理论有效值,但不是实际数据的最大值 valid_min 变量的最小理论有效值,但不是实际数据的最小值 NetCDF 数据用通用数据语言(CDL:Common Data Language)来描述。CDL 采用文字符 号来描述 NetCDF 对象, 由于是文本形式, 读写直观。 在 NetCDF 软件包中, 应用程序 ncdump 可以用来将NetCDF二进制对象转换为CDL文 本 , 而ncgen可以根据CDL文本文件生成NetCDF 文件。 ncgen 除了可以根据 CDL 文本文件生成 NetCDF 文件之外,还能根据 CDL 文件产生读取 NetCDF
14、 数据的 c 语言或 Fortran 语言读取代码。具体用法为: ncgen -b -c -f -k kind_of_file -x -n -o netcdf_filename input_file 其中每个选项的意义如下: -b:生成二进制的 NetCDF 文件。如果没有选项-o,那么将根据具有后缀为.nc 的输入文 第 6 章 卫星测高数据处理 5 件产生一个默认文件名的 NetCDF 文件。如果指定输出文件存在,则自动覆盖。 -c:根据指定的 CDL 文本文件,生成一个读取与 CDL 结构对应的 NetCDF 文件的 c 语 言源代码。 -f:与选项-c 类似,用于产生 fortran
15、源代码。g the -o netcdf_filename:产生-o 后指定文件名 netcdf_filename 的 NetCDF 文件。 如果采用了 此选项,也就暗含了使用了-b 选项。 -k kind_of_file:使用- K2 或-k“64 位偏移”来指定生成的文件(或项目)应使用版 本 2 的格式,即采用 64 位文件偏移。而默认是使用版本 1( “经典” ) ,为 32 位文件偏移量 的格式。尽管如此,采用 64 位文件偏移,将限制 netCDF 文件、变量的大小,以及由经典格 式支持的大小记录(NetCDF - 4 将支持更多种类的 netCDF 文 件 , “hdf5”和“hd
16、f5-nc3” ) 。需 要注意的是:- v 也可以使用,与-k 类似。使用-k 是向后兼容的,此外海与 ncdump 选项兼 容。 -x:对数值不进行初始化,这样可以大大加快创建大型 netCDF 文件,但是,后面在读 取生成的文件时探测数据比较困难。 例如,已有一个 simple_xy.cdl 文件,其内容如下: netcdf simple_xy dimensions: x = 6 ; y = 12 ; variables: int data(x, y) ; data: data = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 5