ENVI_IDL:对于书写和创建GEOTIFF结构体?

简介: ENVI_IDL:对于书写和创建GEOTIFF结构体?

大家在使用WRITE_TIFF函数和READ_TIFF函数的时候,应该遇见过GEOTIFF参数。


但是我对于这个参数却是了解不深,趁着这次学习梳理一下GEOTIFF参数.


在学习之前,我发现IDL教程并没有提供关于GEOTIFF的示例,所以我尝试使用READ_TIFF函数获取TIFF文件的GEOTIFF参数并打印输出,并结合IDL教程观察GEOTIFF的规律。


首先,下面是GEOTIFF结构体的一个示例.


 

通过上面与ArcMap的对比最后发现结果如下:


GEOTIFF结构体的存储类似于Python的字典形式.


MODELPIXELSCALETAG:以数组形式表示像元的分辨率,分别是X、Y、Z方向上的分辨率.(由于上方的TIFF文件就是二维的,所以只有X、Y方向上有分辨率,而Z方向上的分辨率无默认是0);


MODELTIEPOINTTAG:以数组形式表示角点信息,前三个数组元素表示角点的行列号(Z方向上就是第三个元素,由于不常见这里就说明),后三个数组元素表示角点的经纬度以及高程.(由于上方的TIFF文件是二维的,所以前两个元素表示角点的行列号<其实一般都是左上角点,所以一般就填0行0列>,而第三个元素无需填写默认是0;后三元素表示的前三个元素所表示的角点的经纬度和高程<一般就只有经纬度,高程比较少见所以一般无需填写默认是0>);


GEOGCITATIONGEOKEY:以字符串形式表示坐标系的名称,基准面,椭球体等等信息(其实一般写入坐标系名称即可,至于名称在ENVI53\classic\map_proj\map_proj.txt中可以查看);


GEOGSEMIMAJORXISGEOKEY:表示椭球体的长半轴长度.


至于其它的一些参数,我也不是很清楚,但是可以发现,尝试多个之后有一些参数是不会改变的,所以我们只需要管理编辑那些常见的参数即可.


给几个示例大家参考一下:

 

  geo_info = {$  ; 这里的$表示换行的意思,因为一行写不完这么多信息
    MODELPIXELSCALETAG:[0.25,0.25,0.0],$
    MODELTIEPOINTTAG:[0.0,0.0,0.0,-180.0,90.0,0.0],$
    GTMODELTYPEGEOKEY:2,$
    GTRASTERTYPEGEOKEY:1,$
    GEOGRAPHICTYPEGEOKEY:4326,$
    GEOGCITATIONGEOKEY:'GCS_WGS_1984',$
    GEOGANGULARUNITSGEOKEY:9102,$
    GEOGSEMIMAJORAXISGEOKEY:6378137.0,$
    GEOGINVFLATTENINGGEOKEY:298.25722}


{
    "MODELPIXELSCALETAG": [0.0083333337680000039, 0.0083333337680000005, 0.00000000000000000],
    "MODELTIEPOINTTAG": [0.00000000000000000, 0.00000000000000000, 0.00000000000000000, 97.215833421027995, 34.328020408432998, 0.00000000000000000],
    "GTMODELTYPEGEOKEY": 2,
    "GTRASTERTYPEGEOKEY": 1,
    "GEOGRAPHICTYPEGEOKEY": 4326,
    "GEOGCITATIONGEOKEY": "GCS Name = GCS_WGS_1984|Datum = D_WGS_1984|Ellipsoid = WGS_1984|Primem = Greenwich|",
    "GEOGGEODETICDATUMGEOKEY": 6326,
    "GEOGPRIMEMERIDIANGEOKEY": 8901,
    "GEOGANGULARUNITSGEOKEY": 9102,
    "GEOGANGULARUNITSIZEGEOKEY": 0.017453292519943299,
    "GEOGELLIPSOIDGEOKEY": 7030,
    "GEOGSEMIMAJORAXISGEOKEY": 6378137.0000000000,
    "GEOGINVFLATTENINGGEOKEY": 298.25722356300003,
    "GEOGPRIMEMERIDIANLONGGEOKEY": 0.00000000000000000,
    "PCSCITATIONGEOKEY": 
"ESRI PE String = GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]"
}
目录
相关文章
|
6月前
|
C++
C++系列十四:结构体
C++系列十四:结构体
|
3月前
|
编译器 C++
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
46 0
|
5月前
|
Windows
VBA的直接或间接调用的语法格式
VBA|过程或方法内部的直接或间接调用与相对怪异的语法格式
|
6月前
|
存储 编译器
Makefile结构与其常见书写格式
Makefile结构与其常见书写格式
41 0
|
存储 C语言 索引
ENVI IDL:熟悉IDL语法+输出多幅TIFF影像的MAX文件和MEAN文件
ENVI IDL:熟悉IDL语法+输出多幅TIFF影像的MAX文件和MEAN文件
301 0
|
6月前
|
C语言
C语言多文件编译、结构体、枚举及联合
C语言多文件编译、结构体、枚举及联合
46 0
|
6月前
|
存储 编译器 程序员
【新手解答1】深入探索 C 语言:变量名、形参 + 主调函数、被调函数 + 类和对象 + 源文件(.c 文件)、头文件(.h 文件)+ 库
【新手解答1】深入探索 C 语言:变量名、形参 + 主调函数、被调函数 + 类和对象 + 源文件(.c 文件)、头文件(.h 文件)+ 库
132 0
|
C语言
【文件处理】C语言引用外部文件教程
【文件处理】C语言引用外部文件教程
285 0
go结构体嵌套和用结构体实现模拟“继承”
什么是结构体嵌套 一个结构体中可以嵌套包含另一个结构体或结构体指针
142 0
goland 无法导入某些文件的变量、结构体、函数
goland 无法导入某些文件的变量、结构体、函数