- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
geotiff格式
GeoTiff是包含地理信息的一种Tiff格式的文件。记得数月前在CSDN论坛上提问过关于GeoTiff文件读写的问题,回答者了了,偶有回答都限于“只是Tiff文件加几个标签而已……”云云,而当我对此做了一番深入研究之后,发现尽管GeoTiff确实只是Tiff的一种特例,但要遵循规范来用好它却绝不是那么简单,在此我准备将自己的学习做一个小结,以期深入交流。
1.GeoTiff利用Tiff表达Geo(地理)信息的思想
??? Tiff对GeoTiff的支持已写进Tiff6.0,也就是说,GeoTiff是一种Tiff6.0文件,它继承了在Tiff6.0规范中的相应部分,所有的GeoTiff特有的信息都编码在Tiff的一些预留Tag(标签)中,它没有自己的IFD(图像文件目录)、二进制结构以及其它一些对Tiff来说不可见的信息。
??? 用来描述GeoTiff流行的众多影射参数及类型信息,如果每一个信息都采用一个标签那将至少需要几十甚至几百个标签,这会耗尽Tiff定义的有限的标签资源,另一方面,虽然私有的IFD提供了数千个自由的标签,但也是有限的,因为标签值对不理解的读者来说是不可见的(因为他们不知道IFD_OFFSET标签值指向一个私有的IFD)。
??? 为了避免这些问题,GeoTiff采用一系列的Keys(键)来存取这些信息,这些键在功能上相当于标签,但它处在TIFF上抽象更上一层。准确的说它是一种媒介标签(Meta-Tag)。键与格式化的标签值一起共存,TIFF文件处理其它图像数据。和标签一样,键也有的ID号,范围从0到65535,但不像标签那样,所有键的ID号都可以用于GeoTiff的参数定义上。
2.结构与定义
??? 这些键也称为GeoKeys,所有键都由GeoKeyDirectoryTag标签来索引,该标签就相当于表示Geo信息的键的一个目录。它的结构如下:
GeoKeyDirectoryTag:
Tag = 34735 (87AF.H)
Type = SHORT (2-byte unsigned short)
N = variable, = 4
Alias: ProjectionInfoTag, CoordSystemInfoTag
Owner: SPOT Image, Inc.
它由头和键实体构成,如下:
Header={KeyDirectoryVersion, KeyRevision, MinorRevision, NumberOfKeys}
KeyEntry = { KeyID, TIFFTagLocation, Count, Value_Offset }
??? 其中,TIFFTagLocation表示哪个tag存放值,如果值为0则表示值为SHORT类型且包含在Value_Offset元素中;否则,其值类型由tag含有值的TIFF-Type暗指。所有Key值不是short类型的都存放在下面两种Tag下,基于下面的结构:
GeoDoubleParamsTag:
Tag = 34736 (87BO.H)
Type = DOUBLE (IEEE Double precision)
N = variable
Owner: SPOT Image, Inc.
??? 注:该tag用来存放DOUBLE型的GeoKeys,被GeoKeyDirectoryTag引用,这个double数组中任何值的意义由指向它的GeoKeyDirectoryTag引用决定。FLOAT值必须先转换为DOUBLE才能存储。
GeoAsciiParamsTag:
Tag = 34737 (87B1.H)
Type = ASCII
Owner: SPOT Image, Inc.
N = variable
例:
GeoKeyDirectoryTag=( 1, 1, 2, 6,
1024, 0, 1, 2,
1026, 34737,12, 0,
2048, 0, 1, 32767,
2049, 34737,14, 12,
2050, 0, 1, 6,
2051, 34736, 1, 0 )
GeoDoubleParamsTag(34736)=(1.5)
GeoAsciiParamsTag(34737)=(Custom File|My Geographic|)
??? 第一行表明这是一个版本号为1的GeoTIFF GeoKey目录,键的版本为Rev. 1.2,在这个标签中定义了6个键。
??? 下一行定义第一个键(ID=1024 = GTModelTypeGeoKey),值为2(Geographic),直接放在元素列表中(因为TIFFTagLocation=0);
??? 下一行键1026(the GTCitationGeoKey),列在GeoAscii
文档评论(0)