栅格那点儿事(二)---细看Raster属性
细看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 Type和Pixel 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属性的更多相关文章
- 栅格那点儿事(一)---Raster是个啥子东西
Raster是个啥子东西 现如今,不仅是在遥感应用中能看到花花绿绿的影像了,在GIS应用中也能随处看到她们的身影.在各种在线地图中,卫星影像作为底图与矢量的道路层叠加:高程DEM作为高程来源实现地形的 ...
- 栅格那点儿事(四D)
统计值与空值 在上一篇的内容里反复提到了一个统计值.那这个统计值是怎么来的,具体是干嘛用的呢? 统计值主要就是用于栅格数据的显示和重分类,顾名思义就是一个波段中所有像元值的一个统计信息,最大值,最小值 ...
- java web学习总结(二十) -------------------监听器属性详解
一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...
- jQuery源代码阅读之二——jQuery静态属性和方法
一.jQuery.extend/jQuery.fn.extend //可接受的参数类型如下:jQuery.extend([deep],target,object1,[objectN]) jQuery. ...
- TextView之二:常用属性
参考自<疯狂android讲义>2.3节 //TextView所呈现的文字 android:text="我爱Java" //文字颜色 android:textColor ...
- springboot 入门三- 读取配置信息二(读取属性文件方式)
在上篇文章中简单介绍自带读取方式.springboot提供多种方式来读取 一.@ConfigurationProperties(value="my") 支持更灵活的绑定及元数据的支 ...
- CSS布局(二) 盒子模型属性
盒子模型的属性 宽高width/height 在CSS中,可以对任何块级元素设置显式高度. 如果指定高度大于显示内容所需高度,多余的高度会产生一个视觉效果,就好像有额外的内边距一样: 如果指定高度小于 ...
- 二: vue的属性及功能,axios
一: 过滤器 1. 定义: 过滤器,就是vue允许开发者自定义的文本格式化函数,可以使用在两个地方:输出内容和操作数据中. 定义过滤器的方式有两种. 2.使用vue.filter()进行全局定义 ...
- springboot快速入门(二)——项目属性配置(日志详解)
一.概述 application.properties就是springboot的属性配置文件 在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring ...
随机推荐
- 基本css拼图形
关闭按钮: <em class="close"></em> .close { width: 16px; height: 16px; text-align: ...
- DB2安装步骤
##################################DB2的安装########################### ## 安装前准备 ## 关闭内存地址随机化机制 vi /etc/ ...
- Necklace of Beads POJ - 1286
\(\color{#0066ff}{ 题目描述 }\) 一个圈上有n个珠子,有三种颜色可以染,问本质不同的方案数(通过旋转和翻转重合的算一种) \(\color{#0066ff}{输入格式}\) 多组 ...
- [POI2009]KAM-Pebbles BZOJ1115 [ 待填坑 ] 博弈
有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏.问先手是否必胜. 感谢 ...
- vue.js使用elemnetUi
安装: npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 引入 Element 你可以引入整个 Element,或是 ...
- [转]cron语法
最近在搞whenever时看到可以用cron语法设置定时任务.所以研究了下cron 语法. every '0 0 27-31 * *'do command "echo 'you can us ...
- Tinkphp 教程 一
1项目生成配置php环境变量在控制台进入项目目录,执行php console build --config build.php命令在application目录创建项目目录,把创建好的目录复制到自定义a ...
- C# repeater控件序号绑定
做项目列表经常会需要列表有一个序号列,根据控件自身的属性就可以很方便的实现这个功能,如下图 这个不能用翻页功能,如果翻页重新刷新控件的话,序号会又重新开始!
- 微信小程序填坑之旅
一.解决scroll-view的滚动条问题 1.出现场景css. 有些场景下scroll-view是不需要滚动条的,比如顶部导航栏的横向滑动.而在单页的css样式中加入特定代码不能影响到全局的样式 2 ...
- oracle service name connect
oracle service name connect dest_ip=100.100.100.100 dest_port= dest_dbname=server_name connect=" ...