栅格数据挑选子区域
来源:互联网 发布:大数据hadoop面试题 编辑:程序博客网 时间:2024/05/16 11:47
对于一个大的栅格数据,有时候想提取出其子区域,例如四川省栅格和成都市的栅格,如果想获取除去成都市的四川栅格图层。
那么,首先想到的是获取到除去成都的四川范围的矢量图层,然后使用extract by mask方法裁切出来。但是如果只有两个大小栅格图层,想获取mask图层估计需要一些额外操作(如栅格转矢量,然后再合并等才能得到两个边界,还要做clip才能得到mask图层,此处不再赘述)。
下面介绍直接使用两个栅格图层进行操作获取子区域,需要用到的函数是IsNull、SetNulll等。以下图中的3只企鹅为例,把中间企鹅剔除掉,黑白的大区域栅格,红色的为小区域栅格,需要把小区的范围挖空,即设置为null值。
步骤1:生成二值图像,在栅格计算器中输入:Con(IsNull(“smallregion.tif”),1,0)
解释:函数IsNull返回一个二值图像,如果是空值范围1,非空返回0。Con为条件函数,如果满足,则执行第一个表达式,否则执行第二个。词句话的意思是“如果小区栅格为空的赋值为1,非空的赋值为0”。为了与大范围叠加运算需要在环境变量中指定处理范围与大栅格一致(或者直接使用IsNull函数也可以)。生成二值图像TwoValueRas图层如下所示:
步骤2:设置小区内的值为nodata数据,栅格计算器中输入 SetNull(“TwoValueRas”==0, TwoValueRas)
解释:设置二值图层中如果值为0的设置为nodata,其余的保留原始值。得到如下mask图层,
步骤三:直接在栅格计算器中使用: “BigRegion.tif”*mask
解释:由于nodata区域与其他任何区域运算结果均为nodata,而1与其他乘积则保留原值。所以结果就实现了想要的截取子区域的结果。如下图所示:
- 栅格数据挑选子区域
- 栅格数据
- 栅格数据
- ArcGIS对矢量进行缓冲分析,并将缓冲区域转化为栅格数据
- 打开栅格数据代码
- 栅格数据入库
- Engine & 使用栅格数据
- 栅格数据使用总结
- 栅格数据入库
- 栅格数据AE
- GP处理栅格数据
- ArcEngine 栅格数据 总结
- 栅格数据说明
- 01-什么是栅格数据
- ArcGIS:按数值提取栅格区域
- 使用Python实现子区域数据分类统计
- 使用Python实现子区域数据分类统计
- 使用Python实现子区域数据分类统计
- Android 系统构架
- poj1611
- 【BZOJ】【P1923】【Sdoi2010】【外星千足虫】【题解】【高斯消元】
- void类型及void指针
- 数据结构-线性结构-队列
- 栅格数据挑选子区域
- wordpress 3.0-3.9.2 XSS Getshell Payload(可Getshell当前模板也可以是全部插件模板)
- opencv编程
- QT的事件机制
- rt5350 Android平板播放
- 【Android界面实现】Starting an Activity(Activity生命周期金字塔模型)
- 设计模式【桥接模式】
- 【习题3-7】 UVA - 1368 DNA Consensus String
- matlab中的图像几何操作