细看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. Golang 连接 MongoDB使用连接池

    可以免费试用 MongoDB ,500MB 平时做测试没有问题啦,连接数据库可能因为网络有点慢,但是我们是测试啊,不在乎这点吧~ 这是怎么申请试用版的博客,感谢这位大佬.注册好用起来很方便~ 传送门 ...

  2. P1527 [国家集训队]矩阵乘法

    \(\color{#0066ff}{ 题目描述 }\) 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. \(\color{#0066ff}{输入格式}\) 第一行两个数N,Q ...

  3. 2019.2.14 考试T3 交互题

    \(\color{#0066ff}{ 题目描述 }\) 由于机房被成功拯救了,花_Q很高兴,花_Q生成了一个 0 到 N - 1 的排列(排列的下标从 0 到 N - 1 ).保证排列中 0 在 N ...

  4. 【模板】文艺平衡树(Splay) 区间翻转 BZOJ 3223

    您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 N,M<= ...

  5. c语言定义指针类型需注意事项

    1)在定义说明语句中,指针变量名之前的星号“*“是指针变量的修饰符,也就是说它所修饰的变量是指针变量. 2)指针变量是用它们所指向的对象类型来区分的.如定义 int *ip,类型int并不是指针的类型 ...

  6. POJ1051 P,MTHBGWB

    题目来源:http://poj.org/problem?id=1051 题目大意: Morse密码里每个字母用长度不定的点和线来表示,一条信息中字母的编码之间用空隙隔开.下表为Morse密码的编码表: ...

  7. FileWriter 中午乱码

      解决办法 BufferedWriter writer = new BufferedWriter (new OutputStreamWriter (new FileOutputStream (fil ...

  8. js-eval运算符

    js中使用eval运算符需要注意—— eval()只有一个参数 传入的参数是字符串时,才会去解析执行:否则,将直接返回这个参数 作用域与调用它的变量作用域保持一致 返回字符串中最后一个表达式或语句的值 ...

  9. webAPI过滤器添加参数签名

    项目需求: 接口对安卓和IOS开发接口,需要房子用户窜改数据请求接口.添加sign签名校验参数. 代码如下:加上特性标签就可以控制部分接口验证 public class SignAuthorizeFi ...

  10. 《高性能mysql》笔记

    组合索引和sql中的顺序有关 单列索引和sql中的顺序无关