ENVI IDL:对于GEOTIFF结构体的说明

news2024/11/16 19:57:14

Tag标签-前言

其中最关键的只有两个标签Tag,一个是MODELPIXELSCALETAG,一个是MODELTIEPOINTTAG
至于ModelTransformationTag我没用过不了解,但是应该是关于仿射变换相关的,用于将像素坐标与地理/投影坐标进行转换的矩阵。

对于Geotiff结构体的使用,查看IDL文档:
https://www.nv5geospatialsoftware.com/docs/write_tiff.html#W_811389549_896481
https://www.nv5geospatialsoftware.com/docs/READ_TIFF.html#R_822202989_1237437
对于Tag和Key的理解,查看TIFF规范说明:
https://www.awaresystems.be/imaging/tiff/tifftags/search.html
Tag和Key的查询

MODELPIXELSCALETAG的含义

在IDL文档中,它传入三元素的Double数组:
MODELPIXELSCALETAG
数组形式为:[x_res, y_res, z_res]x_res表示X轴方向上的分辨率,一般指经度上的分辨率等;y_res表示Y轴方向上的分辨率,一般指纬度上的分辨率等;z_res表示Z轴上方向上的分辨率,一般指代高程上的分辨率等. 值得注意是,我们的栅格图像一般是二维的即包含行列数,因此对于x_res一般填入0即可
SO,如果影像形式如下:
影像例子
那么传入给MODELPIXELSCALETAG的Double数组为:[0.2, 0.3, 0]

MODELTIEPOINTTAG的含义

传入6个元素的Double数组,对于六个元素的说明,原文如下:

Originally part of Intergraph’s GeoTIFF tags, but now used in interchangeable GeoTIFF files.
This tag is also known as ‘GeoreferenceTag’.
This tag stores raster->model tiepoint pairs in the order
ModelTiepointTag = (…,I,J,K, X,Y,Z…)
where (I,J,K) is the point at location (I,J) in raster space with pixel-value K, and (X,Y,Z) is a vector in model space. In most cases the model space is only two-dimensional, in which case both K and Z should be set to zero; this third dimension is provided in anticipation of future support for 3D digital elevation models and vertical coordinate systems.

有人这么解释的:在栅格图像中的(I, J, K)表示第I列第J行第K高的像素点,在model space(实际上指的就是地理坐标系或者投影坐标系)中的坐标是(X, Y, Z)(实际上就是(Lon, Lat, Elevation)),如果K和Z均不存在填入0即可。
但是我认为实际上没有说明清楚,因为像素点实际上存在大小的,第I列第J行的像素点在地理坐标系下的坐标是是(X, Y)(Lon, Lat),但是这个地理坐标指的是像素点的左上角位置还是中心位置呢?
应该这么解释(以二维为例):
栅格图像上的原点实际上指的最左上角点的位置:
在这里插入图片描述
所以这里I和J尽量不要理解为行和列,如果非要这么理解,那么你需要知道,它实际上指代的是第I行第J列(索引从0开始)的像素点的左上角点位置。

如何使用Geotiff结构体

这里不再详细解释,基本上通用:

    geo_info={$
        MODELPIXELSCALETAG: [10, 10, 0.0], $  ; 分辨率
        MODELTIEPOINTTAG: [0.0, 0.0, 0.0, 20, 20, 0.0], $  ; 角点信息
        GTMODELTYPEGEOKEY: 2, $  ; 设置为地理坐标系
        GTRASTERTYPEGEOKEY: 1, $  ; 像素的表示类型, 北上图像(North-Up)
        GEOGRAPHICTYPEGEOKEY: 4326, $  ; 地理坐标系为WGS84
        GEOGCITATIONGEOKEY: 'GCS_WGS_1984', $
        GEOGANGULARUNITSGEOKEY: 9102}  ; 单位为度

其他的Key和Tag很少使用,可以查看IDL文档和Geotiff说明了解。

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

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

相关文章

2000-2021年上市公司MA并购溢价计算数据(含原始数据+Stata代码)

2000-2021年上市公司M&A并购溢价计算(原始数据Stata代码) 1、时间:2000-2021年 2、范围:沪深A股上市公司 3、指标: 原始数据指标:事件ID、公司ID、证券代码、业务编码、上市公司交易地位编码、首次公…

ES1:index、type、document、mapping之间的关系

1.1 引言 由于长期使用es,但是对于es的大体结构存在疑惑,于是在此做一个大致总结。 1.2 数据存储结构 在 7.0版本之前,es的数据结构如下: 提示: 通过上图可知,在7.0之前elasticsearch的结构层级是&#…

基于 Linux 0.11 讲解 Linux 操作系统的启动原理

大家好,我是飞哥! 不知道大家有没有产生过一个疑问:从给 Linux 服务器按下开机电源按钮后到启动成功的一段时间里,在这中间 Linux 操作系统都做了哪些事情? 在 Linux 服务器没有通电的时候,操作系统还只是躺…

【网络安全】网站被攻击了怎么办?怎么防护DDOS、CC、XSS、ARP等攻击?

网站被攻击了怎么办? 六字真言:认怂、关站、睡觉 如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉【入门&进阶全套282G学习资源包免费分享!】 常见的网络攻击 XSS攻击 XSS 攻击可以分为 3 类&#…

【数据结构】队列(C语言实现)

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 队列 1. 队列的概念及结构…

Winform中加密时提示此实现不是Windows平台FIPS验证的加密算法的一部分

场景 Java与Winform进行AES加解密数据传输的工具类与对应关系和示例: Java与Winform进行AES加解密数据传输的工具类与对应关系和示例_霸道流氓气质的博客-CSDN博客 winform中使用如上进行加密时提示: 实现不是Windows平台FIPS验证的加密算法的一部分…

Vue项目中集成TinyMCE富文本编辑器(图片批量上传等)

TinyMCE富文本在Vue中的使用 关于TinyMCE 实现效果 安装使用TinyMCE 第一步 第二步 1.官网申请Your Tiny API Key,并且配置访问域名: 2.使用css隐藏(这个就不讲了,不推荐使用) 3.全部由本地加载(推荐) 第三步(汉化包) 第四步(封装组…

QT使用MSVC编译时报错C2001: 常量中有换行符

QT使用MSVC编译时报错C2001: 常量中有换行符 Chapter11、QT界面菜单栏->工具->选项->文本编辑器,修改成如果编码是UTF-8则添加,如图:2、QT界面菜单栏->编辑->Slect Encoding...->UTF-8->按编码保存3、在需要的头文件中加…

如何创建高效的 Python Docker 镜像详解

Docker是打包和部署容器中应用程序的行业标准软件。Docker镜像是构建和运行应用程序的基础,为了充分发挥Docker的潜力,您需要优化镜像以提高资源效率、安全性和性能。这将确保您的应用程序在Docker生态系统内无缝运行。 通过一个实际示例来学习如何实现…

分享一个基于JavaWeb的私人牙科诊所预约挂号就诊系统的设计与实现项目源码调试 lw 开题 ppt

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

学习笔记---不容错过的顺序表的应⽤~~

目录​​​​​​​ 1. 基于动态顺序表实现通讯录项⽬ 1.1 通讯录📇功能要求 1.2 总体思路分析🧐 1.3 创建初始化销毁顺序表🌞 1.3.1 contact.h 1.3.2 Seqlist.h 1.3.3 contact.c 1.3.4 text.c 1.3.5 代码运行测试 1.3.6 二次代码测…

旋转图像(C++解法)

题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输…

Pytorch深度学习 - 学习笔记

文章目录 Pytorch深度学习1. Pytorch加载数据初认识2. TensorBoard3. Transforms常见的transform 4. torchvision中的数据集使用5. DataLoader使用6. 神经网络6.1 神经网络的基本骨架6.2 卷积层6.3 最大池化的使用6.4 非线性激活6.5 线性层及其他层6.6 小实战及Sequential 7. 损…

苹果手机内存清理怎么做?5招教你拯救内存!

大家的手机内存还能坚持多久呢?无论是什么牌子的手机,只要使用的时间越久,手机的内存必然会越来越小。如果不及时清理手机里的历史缓存、垃圾文件等数据,就会导致手机变得迟缓、卡顿。 那么,我们该怎么做呢&#xff1…

如何使用 GoGoCode 一键 Vue2 转换 Vue3

前言 从今年年初开始,项目开始升级优化,将之前的 Vue2 旧版本整体升级到 Vue3 版本。在重写了几个 Vue 文件后,我发现做的都是一些机械性的工作,效率低且重复性大。于是就试着搜索了一下有没有什么能够批量转换代码格式的工具&am…

SPE(Single Pair Ethernet)

以太网标准 讲SPE(Single Pair Ethernet)之前我们先了解一下以太网标准: CategoryStandardCable length(m)Data rateDuplex CapabilityWiresFast Ethernet10/100BASE-T10010Mb/s to 100Mb/sFull4Gigabit Ethernet1000/10GBAST-T1001Gb/s to …

UOS系统无法开机问题解决

1、问题截图1 : 2、问题截图2 : 3、问题截图3: 解决方案: 修复磁盘无效,建议拷贝数据,还原系统 请先拷贝数据 进live模式在root a或root b 或系统盘找到Home文件夹里-找到用户名-里面就是用户的数据&am…

四川竹哲电商:抖店怎么修改经营类目?

抖店是抖音推出的一款电商工具,通过抖店可以帮助商家在抖音上开展经营活动。在抖店平台上,商家需要选择经营类目,以便在相应的领域展示商品和提供服务。然而,有时候商家可能需要修改经营类目,以适应经营策略调整或扩大…

什么是无磁远传水表?工作原理是怎样的?

无磁远传水表是一种新型的智能水表,与传统水表相比,它具有更高的精度和可靠性,并且可以实现远程读数和控制。那么,无磁远传水表的工作原理是怎样的呢?下面,小编来为大家介绍下什么是无磁水表?它的工作原理是怎样的&a…

MySQL 三大日志(bin log、redo log、undo log)

redo log redo log (重做日志) 是 InnoDB 存储引擎独有的,它让 MySQL有了崩溃恢复的能力,是事务中实现 持久化的重要操作 比如 MySQL 实例宕机了,重启时,InnoDB 存储引擎会使用 redo log 恢复数据,保证数据的持久性与…