ArcEngle中空值(Null \ Nodata)值的处理
2015-07-17 09:37
197 查看
当两个栅格进行叠加,有时会有一部分没有数据,Value为NoData,nodata+任何数=nodata,因此当需要对栅格空值数据赋值时,要采用条件查询函数将NoData的地方进行赋值。
---------------------------------------------------------------------------------
当两个栅格进行叠加,有时会有一部分没有数据,Value为NoData,nodata+任何数=nodata,因此当需要对栅格空值数据赋值时,要采用条件查询函数将NoData的地方进行赋值。
1. 空值(Nodata)赋值:
在栅格计算器中输入函数表达式 CON(ISNULL([raster]),0,[raster])。其中[raster]是输入栅格名称。会自动生成一个以输入栅格图像的外接长方形为范围的栅格图像,非空的地方为栅格值,NoData的地方为0。
2. 特定值转为空值
使用函数表达式setnull可将特定的栅格值赋值为空值。
setnull([raster==1],[raster]),将raster中值为1的数据赋为空,其他保留原值。
引自:ArcGIS栅格数据空值处理
一、ArcEngle中空值赋值
在Engine中未发现有内部函数,只能用GP工具处理。///<summary> ///空值处理 Author:AllenRobin http://gisrsman.cnblogs.com ///</summary> private static void Null2Number(IGeoDataset pRaster, string outPath,double number) { //检查出为空的位置(null区位1,非null区为0) string isNullPath = System.IO.Path.Combine(Application.StartupPath, "isnull.tif"); Geoprocessor gp = new Geoprocessor(); //初始化Geoprocessor gp.OverwriteOutput = true; //允许运算结果覆盖现有文件 ESRI.ArcGIS.SpatialAnalystTools.IsNull isnullgp = new ESRI.ArcGIS.SpatialAnalystTools.IsNull(); isnullgp.in_raster = pRaster; isnullgp.out_raster = isNullPath; gp.Execute(isnullgp, null); //将空(即是1)的设为0,其余设为原始值 Geoprocessor gp1 = new Geoprocessor(); gp1.OverwriteOutput = true; ESRI.ArcGIS.SpatialAnalystTools.Con congp = new ESRI.ArcGIS.SpatialAnalystTools.Con(); congp.in_conditional_raster = isNullPath; congp.out_raster = outPath; congp.where_clause = "Value = 1";//value=1的地方即是查询出来的Null的地方 congp.in_false_raster_or_constant = pRaster; congp.in_true_raster_or_constant =number;//将null改为0或其他值 gp1.Execute(congp, null); }
二、ArcGIS栅格数据空值处理
参考在ArcMap中的处理---------------------------------------------------------------------------------
当两个栅格进行叠加,有时会有一部分没有数据,Value为NoData,nodata+任何数=nodata,因此当需要对栅格空值数据赋值时,要采用条件查询函数将NoData的地方进行赋值。
1. 空值(Nodata)赋值:
在栅格计算器中输入函数表达式 CON(ISNULL([raster]),0,[raster])。其中[raster]是输入栅格名称。会自动生成一个以输入栅格图像的外接长方形为范围的栅格图像,非空的地方为栅格值,NoData的地方为0。
2. 特定值转为空值
使用函数表达式setnull可将特定的栅格值赋值为空值。
setnull([raster==1],[raster]),将raster中值为1的数据赋为空,其他保留原值。
引自:ArcGIS栅格数据空值处理
相关文章推荐
- ACM比赛
- Oracle运维操作集锦[持续更新]
- iOS面试必备看看总有好处
- wget下载FTP目录
- 生成可重集的排列
- Android的Scroller介绍
- editplus打造java运行环境(安装、配置、操作)
- Spring MVC+FreeMarker实现页面按钮权限控制1
- iOS 收起键盘
- CodeForces 548C
- uva 11462 - Age Sort
- exec函数族用法
- iOS初学者
- 五个习惯——让你的工作更高效
- 颜色基础知识——CIE 1931色度坐标
- PHP实现无限级分类的2种方法——父值与左右值2
- 简约之美jodd--props属性使用
- Spring applicationContext.xml文件解析
- markdown相关
- 冒泡算法