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

news2024/11/15 18:44:10

大家在使用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]]"
}


如果有问题,欢迎一起探讨.

<p>炒茄子</p> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/132814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Kettle] CSV文件输入

CSV(Comma-Separated Values)文件是以字符(大多数使用逗号,)分隔值&#xff0c;以纯文本形式存储数据的文件 数据源 语文成绩(kettle数据集1).csv https://download.csdn.net/download/Hudas/87356192?spm1001.2014.3001.5501 1.建立【CSV文件输入】转换工程 使用Ctrl N快…

如何将PDF转换为Excel?免费PDF转Excel方法分享

如何免费将PDF转换为Excel 像将文件转换为电子表格这样简单的事情应该不会那么困难。PDF已成为共享文档的标准格式&#xff0c;那么当您需要将PDF作为电子表格时&#xff0c;如何将PDF转换为Excel&#xff1f; 一些网站可以免费将PDF转换为Excel&#xff0c;尽管涉及一些联系…

力扣sql入门篇(五)

力扣sql入门篇(五) 1 组合两个表 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT firstname,lastname,IFNULL(city,null) city,IFNULL(state,null) state FROM Person p LEFT JOIN Address a ON p.personida.personid;1.3 运行截图 2 进店却未…

网络原理3 IP地址

网络原理3 IP地址 文章目录网络原理3 IP地址IP协议的报文格式IP地址的具体规则IP地址的组成子网掩码特殊的IP地址IP地址短缺的解决方法动态分配IP地址NAT机制[主流机制]IPv6路由选择网络层中主要做的事情是在两点之间规划出一个合理的路径&#xff0c;同时也要对主机所处的位置…

CleanMyMac X免费吗?怎么下载2023最新版

CleanMyMac X是一款专业的Mac清理软件&#xff0c;可智能清理mac磁盘垃圾和多余语言安装包&#xff0c;快速释放电脑内存&#xff0c;轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软件&#xff0c;修复系统漏洞&#xff0c;一键扫描和优化Mac系统&#xff01;…

哈希问题详解

什么是哈希表 在引入哈希表之前&#xff0c;先谈一下为什么要了解哈希表。在学习Set集合时&#xff0c;发现Set集合可以实现无序存储&#xff0c;那么Set是如何实现的无序存储&#xff1f; 打开源码会发现Set集合的底层实际上是由一个map集合实现的。那么什么是哈希表呢&…

【人工智能原理自学】一元一次函数感知器:如何描述直觉

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;笔记来自B站UP主Ele实验室的《小白也能听懂的人工智能原理》。 &#x1f514;本文讲解一元一次函数感知器&#xff1a;如何描述直觉&#xff0c;一起卷起来叭&#xff01; 目录…

基于Vue和SpringBoot的便利店仓库物资管理系统的设计与实现

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;Java全栈软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发&#xff08;Vue、SpringBoot和微信小程序&#xff09;、系统定制、远程技术指导。CSDN学院、蓝桥云…

jvm内存模型简介

一、Jvm 的介绍 1、JVM体系结构 2、JVM运行时数据区 3、JVM内存模型 JVM运行时内存 共享内存区 线程内存区 3.1、共享内存区 共享内存区 持久带(方法区 其他) 堆(Old Space Young Space(den S0 S1)) 持久代&#xff1a; JVM用持久带&#xff08;Permanent Space&…

Java -- 软件开发整体流程;项目环境dev,test,staging,prod

软件开发整体介绍 作为一名软件开发工程师&#xff0c;我们需要了解在软件开发过程中的开发流程&#xff0c; 以及软件开发过程中涉及到的岗位角色&#xff0c;角色的分工、职责&#xff0c; 并了解软件开发中涉及到的四种软件环境。我们将从 软件开发流程、角色分工、软件环境…

7-4 乘法口诀数列

本题要求你从任意给定的两个 1 位数字 a1​ 和 a2​ 开始&#xff0c;用乘法口诀生成一个数列 {an​}&#xff0c;规则为从 a1​ 开始顺次进行&#xff0c;每次将当前数字与后面一个数字相乘&#xff0c;将结果贴在数列末尾。如果结果不是 1 位数&#xff0c;则其每一位都应成为…

1015:计算并联电阻的阻值(信奥赛一本通)

题目跳转&#xff1a;点击这里 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 【输入】 两个电阻阻抗大小&#xff0c;浮点型&#xff0c;以一个空格分开。 【输出】 并联之后的阻抗大小&#xff0c;结果保留小数点后22位。 【输入样例】 1 2 【输出样例】 0.67 …

Windows下Cmake的简易工程构建

新建两个文件head,src&#xff0c;用于存放头文件和c文件。 再新建CMakeLists.txt文件&#xff0c;用于cmake配置。 当前文件结构: --->CMakeLists.txt | --->head | --->src新建一个头文件hello.h 内容如下: #ifndef HELLO_H #define HELLO_H #include "stdio…

Koxia and Number Theory(数论)

题目链接&#xff1a; Problem - C - Codeforces 题目大意&#xff1a; 给定一个数组a.问是否存在x,使得gcd(aix,ajx)1 对任意(1<x<j<n)成立 思路&#xff1a; 首先不难发现&#xff0c;数组不可以出现相同的数字 记biaix 要满足gcd(bi,bj)1 对任意(1<x<…

Python数据分析案例17——电影人气预测(特征工程构建)

案例背景 本次案例是中国人民大学“人工智能与机器学习&#xff08;2022年秋季&#xff09;”课程的课堂竞赛。 比赛是根据有关电影的各种信息来预测电影的受欢迎程度&#xff0c;包括演员、工作人员、情节关键字、预算、收入、海报、上映日期、语言、制作公司、国家、TMDB 投…

【概率论】期末复习笔记:参数估计

参数估计目录一、点估计1. 估计量的概念2. 估计量的求法矩估计法最大似然估计法二、估计量的评选标准1. 无偏性2. 有效性3. 相合性总结三、区间估计1. 双侧区间估计2. 单侧区间估计四、正态总体参数的区间估计σ2\sigma^2σ2已知&#xff0c;考察μ\muμ</font>σ2\sigma…

车载以太网 - DoIP报文类型 - 02

上次我们聊了什么是DoIP&#xff0c;以及DoIP在车载网络以及车载ECU中的作用&#xff0c;我们应该有大概的了解&#xff0c;以及它的极大地作用&#xff0c;今天我们开始全面的去了解它&#xff0c;毕竟只有等我们了解它以后&#xff0c;才能更好的应用。今天要聊的第一个内容呢…

沃太能源冲刺上市:亿纬锂能、高瓴均为股东,收入主要来自境外

12月30日&#xff0c;沃太能源股份有限公司&#xff08;下称“沃太能源”&#xff09;在上海证券交易所递交招股书&#xff0c;准备在科创板上市。本次冲刺科创板上市&#xff0c;沃太能源计划募资10亿元&#xff0c;中信证券为其保荐机构。 按照计划&#xff0c;沃太能源将其中…

网络编程 udp/ip协议 c/s模型

目录 1.概念​编辑 2.代码解析 1.recvfrom函数 2.sendto函数 3.内核泄露问题 整体代码 1.概念 2.代码解析 1.recvfrom函数 该函数接收数据报&#xff0c;并存储源地址&#xff0c;即得到当前服务器接收到的消息&#xff0c;并且存储在参数2&#xff0c;该函数是阻塞的&#x…

c++构造和析构

1.构造函数 1.构造函数特性 构造函数名字和类名相同构造函数没有返回值(void有返回值&#xff0c;返回值为空)不写构造函数&#xff0c;每一个类中都存在默认的构造函数&#xff0c;默认的构造函数是没有参数的default显示使用默认的构造函数delete删掉默认函数当我们自己写了…