细看Raster属性

如果你已经看完了上一章,你已经了解了栅格数据是由一个个像元(Cell)按照行列方式构成的,每一个像元都有自己的像元值,并且这些像元值根据栅格类型的不同,可以代表反射值,或高程值,或分类类别等等。But,关于栅格数据属性的细节还是有很多问题。好像是像元值是不是也可以分成Integer, Float,或者Double?为什么栅格数据有的只有一个band,有的确有多个band?栅格统计值是干什么用的?

在ArcCatalog(10.1版本)里面查看栅格数据的属性,见下图:

红框中的内容就是栅格的属性了。这些属性具体告诉了我们关于栅格的什么故事呢?

Columns and Rows行列数告诉我们这个栅格一共有15781x13442个像元,而Cellsize则说明了像元大小为0.1单位。如果栅格是在投影坐标系下,则像元大小为0.1 米。根据这两个属性,我们对栅格数据覆盖的面积就有了概念(行数 x 列数 x 象元大小的平方)。

Number of bands说明了一个栅格数据带有几个波段。我们先不要纠结于栅格数据为什么会有多个波段,以及多波段的影像如何显示的问题(后文有详解)。单纯的从栅格数据的数据结构来看,波段就是描绘栅格数据的除行列数外的另外一个维度。可以这样来理解波段,如果将栅格数据看做一个切片面包,每一个波段就是这个切片面包中的一片,而每个面包片的大小(长和宽)就是栅格的行列数。从栅格的属性也不难看出,栅格数据中每个波段的行列数,像元大小是完全相同的。

再来看下Pixel TypePixel Depth

这两个属性通常情况下是一起出现的。而这两个属性定义的就是栅格数据的像元值的值域范围。例如8bit的 unsigned integer栅格数据的像元值范围就是0~255,8bit的signed integer的像元值范围是 -128~127等等。

一般常见的遥感影像数据都是8bit unsigned integer的。会用到16 bit unsigned 或是32bit float类型的栅格多是高程表面数据,需要用到更大的带小数位的值来精确的记录高程信息。详细的比特深度和值域范围的对照请参见下表。

在拿到新的栅格/影像时,上述的信息可以帮助你快速了解手上的数据。再有就是在创建一个新的栅格数据时,也需要这些信息作为新建栅格的参数。在ArcGIS中创建一个栅格数据集时,会看到如下窗口:

其中像元类型和波段数是必填的。像元大小如果在新建时置空,将会由导入/镶嵌进来的第一幅影像决定。

此外,如果得知栅格数据的这些属性,根据一个8bit像元占1B的空间,32bit的像元占4B的空间,就可以直接得到栅格数据未压缩的大小。

例如上上图中,一个3波段,15781列13442行,8bit的栅格数据未压缩大小为

1B x 15781 x 13442 x 3 =636384606 B = 606.903MB(Uncompressed Size)

栅格属性中的颜色表(color map),金字塔(pyramid),统计值(statistics)等内容都会在下面的栅格的渲染中仔细说说。

预告一下,下一贴讲讲影像压缩(compression)

栅格那点儿事(二)---细看Raster属性的更多相关文章

  1. 栅格那点儿事(一)---Raster是个啥子东西

    Raster是个啥子东西 现如今,不仅是在遥感应用中能看到花花绿绿的影像了,在GIS应用中也能随处看到她们的身影.在各种在线地图中,卫星影像作为底图与矢量的道路层叠加:高程DEM作为高程来源实现地形的 ...

  2. 栅格那点儿事(四D)

    统计值与空值 在上一篇的内容里反复提到了一个统计值.那这个统计值是怎么来的,具体是干嘛用的呢? 统计值主要就是用于栅格数据的显示和重分类,顾名思义就是一个波段中所有像元值的一个统计信息,最大值,最小值 ...

  3. java web学习总结(二十) -------------------监听器属性详解

    一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...

  4. jQuery源代码阅读之二——jQuery静态属性和方法

    一.jQuery.extend/jQuery.fn.extend //可接受的参数类型如下:jQuery.extend([deep],target,object1,[objectN]) jQuery. ...

  5. TextView之二:常用属性

    参考自<疯狂android讲义>2.3节 //TextView所呈现的文字 android:text="我爱Java" //文字颜色 android:textColor ...

  6. springboot 入门三- 读取配置信息二(读取属性文件方式)

    在上篇文章中简单介绍自带读取方式.springboot提供多种方式来读取 一.@ConfigurationProperties(value="my") 支持更灵活的绑定及元数据的支 ...

  7. CSS布局(二) 盒子模型属性

    盒子模型的属性 宽高width/height 在CSS中,可以对任何块级元素设置显式高度. 如果指定高度大于显示内容所需高度,多余的高度会产生一个视觉效果,就好像有额外的内边距一样: 如果指定高度小于 ...

  8. 二: vue的属性及功能,axios

    一: 过滤器 1. 定义:    过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 2.使用vue.filter()进行全局定义 ...

  9. springboot快速入门(二)——项目属性配置(日志详解)

    一.概述 application.properties就是springboot的属性配置文件 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring ...

随机推荐

  1. 资深专家深度剖析Kubernetes API Server第1章(共3章)

    欢迎来到深入学习Kubernetes API Server的系列文章,在本系列文章中我们将深入的探究Kubernetes API Server的相关实现.如果你对Kubernetes的内部实现机制比较 ...

  2. TensorFlow车辆检测

    1.先在UIUC Image Database for Car Detection下载训练数据集. 下载地址:http://cogcomp.org/Data/Car/ 下载解压之后文件目录如图所示,这 ...

  3. 序列终结者 BZOJ 1251 Splay

    题目背景 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术 ...

  4. winfom实现关闭后一直运行

    using PLog; using System; using System.Collections.Generic; using System.Diagnostics; using System.L ...

  5. 【笔记】Django的ORM之删和改

    [笔记]Django的ORM之删和改 Django ORM 数据库  一 删除操作 1.视图层 <table border="1"> <thead> < ...

  6. Luogu P4095 [HEOI2013]Eden 的新背包问题 思维/动规

    当时一直在想前缀和...多亏张队提醒... 从1到n背次包,保存每一个状态下的价值,就是不要把第一维压掉:再从n到1背一次,同样记住每种状态: 然后询问时相当于是max(前缀+后缀),当然前缀后缀中间 ...

  7. 10.Spring集成一

    1.Email 电子邮件工作原理: 邮件发送方通过邮件发送客户端把邮件发送到发送方的邮件服务器,在发送的过程中需要用到SMTP协议发送方的邮件服务器把邮件发送到接收方的邮件服务器,使用的协议也是SMT ...

  8. git 的搭建与使用

    公司之前用的是vpn,然后老大说让我搞一个git.于是,我开始了git的研究之路.... 概念:(说实话,看了还是有些不太理解) git         是一种版本控制系统,是一个命令,是一种工具 g ...

  9. 转 PyCharm 进行调试 以及怎么熟悉一个已经成熟的项目的代码和断点 以及 jetBrains pycharm快捷键

    https://blog.csdn.net/guider2334/rss/list Ctrl + Q 现实document视图,查看选择元素的详细信息        (重要) Ctrl + Alt + ...

  10. Android studio配置push commits

    最近更新了Android studio到3.2.1最新版本 我们代码用的是Git来管理,提交代码用Android studio自带,发现最新版本的push commits不能保存 把默认的develo ...