如何利用arcgis栅格图层叠加计算器求分段函数的公式

ArcGIS Engine 10 开发手册(8-10)示例:模拟栅格计算器
ArcGIS 栅格数据分析的强大不仅仅在于 ArcGIS 直接提供了众多的分析工具,而且还提供了一个栅格 计算器,利用栅格计算器我们可以结合自己的模型,通过一定的脚本去执行,这让我们的分析更加灵活, ArcGIS Engine 要实现这样一个功能,只需要 IMapAlgebraOp 接口,该接口有以下几个属性和方法:
其中 BindRaster 和 UnbindRaster 是一组相反的操作,分别用于将栅格数据和一个符号绑定和分离,下面,而 Execute 方法是用来执行我们的那个计算表达式,下面我们实现一个将栅格数据的数值除以 1000 的计算.
public static void UsingRasterMapAlgebra (string pFileName, string pValue)
string pFolderName = Path.GetDirectoryName (pFileName);
IRasterDataset pRaster = OpenFileRasterDataset (pFolderName, Path.GetFileNameWithoutExtension (pFileName));
IMapAlgebraOp pMapAlgebraOp;
pMapAlgebraOp = new RasterMapAlgebraOpClass ();
IRasterAnalysisEnvironment pEnv = default (IRasterAnalysisEnvironment);
pEnv = (IRasterAnalysisEnvironment) pMapAlgebraOp;
IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass ();
IWorkspace pWorkspace = workspaceFactory.OpenFromFile (pFolderName, 0);
pEnv.OutWorkspace = pW
pMapAlgebraOp.BindRaster ((IGeoDataset) pRaster, &Ras01&);
string sOut = &[Ras01] & + &/ & + pV
IRaster rasOut = (IRaster) pMapAlgebraOp.Execute (sOut);
//保存 &[Ras01] / 1000& ISaveAs2 pSaveAs;
pSaveAs = (ISaveAs2) rasO
pSaveAs.SaveAs (pFileName + DateTime.Now.Date.Minute.ToString (), pWorkspace, &GRID&);
ArcGIS Engine 10 开发手册全集
ArcGIS Engine 10 开发手册全集:
如果本文对你有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。
GIS爱好者,学GIS,更爱玩GIS。
如您有疑问,可在文末留言,也可在
搜索回答或发帖 ,还可以在QQ群中提问。
本站QQ群(一):
本站QQ群(二):
微信公众号:malagis,扫描右边二维码直接关注。当前位置:
&多张图像重复做栅格运算zonal statistic as table,怎么做,arcgis或者编程高手救我
多张图像重复做栅格运算zonal statistic as table,怎么做,arcgis或者编程高手救我
作者 xiaofeifei21
最终的目的是做各带的积雪衰退曲线,所以要每一幅图(modis10A2一年有161张)的积雪覆盖率。
每一幅图的积雪覆盖率,我用zonal statistics as table,选择我的分带图(彩色)和雪盖图(modis10A2/灰色的),得到表,可是我有161张图,总不能每张都这么操作,还要导到excel里,有批量处理的好方法吗?不用固定在我的思路里,我不是必须用zonal stastistics,我只想得到161张各带的积雪覆盖率,谢谢。&/
图片上传失败了,可以加我QQ指导,谢谢,非常需要帮助
toollbox中工具右键batch就是批处理。
引用回帖:: Originally posted by gistop at
toollbox中工具右键batch就是批处理。 可是文件还是要一个一个添加,有更简单的方法吗,
用raster calculator要怎么写公式呢
引用回帖:: Originally posted by xiaofeifei21 at
可是文件还是要一个一个添加,有更简单的方法吗... 那就用arcpy
在python中创建一个列表,把所有的数据都读取进去,然后用循环一个个进行计算。
24小时热帖
下载小木虫APP
与700万科研达人随时交流当前位置: >>
在ArcGIS栅格计算中如何进行破碎图斑的处理
在 ArcGIS 栅格计算中如何进行破碎图斑的处理用 ERDAS 处理也是个不错的选择。如果你非得要用 ARCGIS 也不是不可以, 下面我告诉你具体步骤: 1、打开一幅破碎图斑影像,使用 ARCGIS---ArcToolsBox---spacial analysis tools---generalization---region group 功能(此功能的作用和 ERDAS 的 clump 一致,主要是对每个图斑进行编码,获得图斑的像素个数)即可。 2、在 layers 列表找到 region group 的处理结果,右键---点击 open attribute table---可以看到 count 属性栏,这就是每个图斑的个数,后面的处理需要用到 这一属性。 3、ARCGIS---ArcToolsBox---spacial analysis tools---extraction----extract by attributes, 输入 region group 结果影像, 使用 SQL 语言。 比如&COUNT& &=10, 把像素个数小于 10 的图斑全部去掉。 上面都是我刚做过试验,并成功的到想要的结果。
使用Arcgis计算土地利用现状图图斑面积 - 使用 Arcgis 计算土地利用现状图图斑面积步骤 一、 CAD 图形处理 处理原则:所画地类界线与外围范围线能够围成闭合的区域...【技术交流】ArcGIS图斑之间存在缝隙的处理方法 - ArcGIS 图斑之间存在缝隙的处理方法 1、 首先在 ArcCatalog 中建立拓扑,如图 注 意拓扑建立时要在要素集中建立,...图斑融合 融合步骤 Arcgis 图斑融合步骤标题栏 Tools→Extensions,把全部都打“√” 右键标题行空白处→钩选“Tools”工作面板→点击“Tools”工作面板上 的红色小...ArcGIS勾图斑详细步骤(有图)_计算机软件及应用_IT/计算机_专业资料。详细讲解如何用ArcGIS勾图斑。有图 1.打开 ArcGIS 2.新建一个矢量图层: 2.1 打开 Arc...在ARCGIS下土地利用图斑矢量化步骤 - 土地利用图斑矢量化步骤 1、启动 ArcMap 程序,添加“栅格配准”工具条。 2、加载扫描的地形图。 3、对四个角进行配准。 ...arcgis_按属性合并小图斑 - 按属性合并小图斑 最近在做土地利用规划编制和缩编的项目 经常会用到小图斑合并的情况 然而 toolbox 中的 Eliminate 工具往往不能...arcgis怎样将图斑自上而下,从左到右编号_计算机软件及应用_IT/计算机_专业资料...计算 ymax 5、导出属性表到 dbf,在 excel 里将其打开,按 ymax 降序,xmin ...经常会用到小图斑合并 合并 然而 toolbox 中的 ...arcgis desktop 的解决方法 由于采用的 toolbox 工具...步骤在于为 Dissolve 创造条件, 字段计算工具用到的...ARCGIS10.2勾绘图_计算机软件及应用_IT/计算机_专业资料。1、 打开 ARCGIS,...选中图斑 为选中图斑输入信息 保存编辑&停止编辑 11、计算面积,在属性表中对...arcgis下如何根据给定图斑面积进行合并_计算机软件及应用_IT/计算机_专业资料。arcgis 下如何根据给定图斑面积进行合并先用属性选择工具在属性表中选择面积小于 400 ...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。arcgis 栅格计算器(Spatial Analyst/Raster Calculator) - enron and yush - 博客园
code the world。
posts - 160, comments - 53, trackbacks - 0, articles - 0
栅格计算器中用得到$$相关函数$$NROWS: the number of rows in the analysis window (行数)$$NCOLS: the number of columns in the analysis window (列数)$$CELLSIZE: the current cell size specified in the analysis environment (像元大小)$$WX0: minimum x-map coordinate of the current analysis window (最小的X坐标)$$WY0: minimum y-map coordinate of the current analysis window (最小的Y坐标)$$WX1: maximum x-map coordinate of the current analysis window (最大的X坐标)$$WY1: maximum y-map coordinate of the current analysis window (最大的Y坐标)$$XMAP: x-map coordinate for the center of the processing cell (X坐标)$$YMAP: y-map coordinate for the center of the processing cell (Y坐标)
1.栅格计算器中,表达式中的图层名要用[]括起来,运算符前后都要加空格,不然会出错。
2.Con命令
命令使用方法有两种
一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。
表达式输入方法为:con(条件,条件为真时的值,条件为假时的值)
具体如con(isnull([dem]),0,[dem])或con( [dem] == 0,0,[dem])等。
如果要执行多个条件语句,则在每个con语句结束时用分号(;)隔开。
二是直接调用ArcToolbox下的con工具(Spatial Analyst Tools/Conditional/Con)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。
3.Nibble命令
命令使用方法有两种:
一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。
表达式输入方法为:nibble(mask图层,原始数据)
具体如nibble ([dem_Nodata]),[dem])等。
二是直接调用ArcToolbox下的Nibble工具(Spatial Analyst Tools/Generalization/Nibble)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。
需要注意的是:通常我们认为输入图层应该为原始图层,mask图层应为经过处理的图层,但在很多情况下,这种做法得不到我们想要的结果,把图层顺序调整一下,就能得到我们想要的结果。至于原因,本人目前也不是很清楚,如果遇到问题,可以试着这样去处理。
4.DEM无值区或零值区替换
对于像元值是整型的DEM,用Con命令和Nibble命令相结合的方法即可实现。
对于像元值是浮点型的DEM,在Con命令的基础上,配合使用focalmean函数即可实现。
focalmean函数的表达式输入方法如下:
focalmean (原始数据,邻域形状,邻域大小)
具体如focalmean([dem],rectangle,5,5)等。
Con命令和focalmean函数配合使用时,在栅格计算工具(Spatial Analyst/Raster Calculator)中,输入如下栅格表达式:
con(isnull([dem]), focalmean([dem],rectangle,5,5),[dem])
实际应用中,根据数据情况,应适当修改focalmean中邻域的形状和大小。在arcgis中栅格计算器里关于con函数的用法,详细的举一个例,多个条件那种_百度知道
在arcgis中栅格计算器里关于con函数的用法,详细的举一个例,多个条件那种
yaoxj_nwnu
yaoxj_nwnu
采纳数:14
获赞数:96
擅长:暂未定制
Con函数的用法:1、单条件语法:Con(&condition&, &true_expression&, &false_expression&)示例:outraster = con(inraster1 & 5, 10, 100)
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 arcgis栅格转矢量 的文章

 

随机推荐