arcgis实之栅格运算

arcgis实之栅格运算
arcgis实之栅格运算

栅格分析

从DEM上提取山顶点,凹陷点

数据

DEM数据,地理信息:KRASOVSKY-1940-Transverse-Mercator

Cellsize 5×5 单位:meter

学校选址

数据

DEM LANDUSE 栅格数据无坐标信息

School rec_sites 矢量数据点类型无坐标信息

设置栅格分析环境

Cellsize设置,输出单元格大小设置

Mask设置,分析范围设置

从Dem上提取山顶点,凹陷点

原理

DEM (数字高程模型)属于场模型(连续的栅格),表达和存储时,使用单元格中间值代替整个栅格的值,可视化时,采用插值(如线性)生成连续的栅格

采用领域的方法,可以用领域中的最高值或最低值代替该单元格的值,当该单元格是山顶点时(相对领域而言),领域计算后的值(取最高值)与原值相同,相反,凹陷点也是如

操作

1.加载DEM add date 或直接从catalog 中拖入

使用IDENTIFY工具查看每个单元格时,每个单元格只有一个值,对单元格而言是离散的,但对DEM而言,是连续的

2.环境设置

在10.1中,设置在ARCTOOLS的环境参数设置中完成

常规设置

输出工作空间设置

栅格分析设置

栅格存储设置

关于构建金字塔等,此处默认

领域运算

在10.1中,这个工具是focal Ststistics

在这个工具中,由两部分

NEIGHBERHOOD部分,设置领域类型,大小。类型有:矩形,园,环,楔形,和用户自定义的,大小用户自己定义

Stastistics type 就是领域的功能选择,此处选择max,既将领域最大值赋予单元格

结果预计:计算后的高值和DEM高值相等,低值应该大于等于DEM的低值

栅格运算

使用计算器计算DEM 和LINYU的差值,结果为0的值对应的栅格单元就是山顶点

重分类

利用重分类工具提取栅格为0的点,其他点赋值为NODATE

重分类之后,只保留0值

矢量化显示

将栅格转化为矢量,以便于编辑

结果

可以看出:

这些山顶点均分布在

领域内的相对高值点

如果改变领域的大

小,类型,得到的山

顶点也会发生变化

凹陷点的提取类似,使用modelbuilder提取结果

改变领域大小

10×10 100×100

可以看出,凹陷点分布在低值区域

3×3时,凹陷点和山顶点分布

绿色点为山顶点

红色点为凹陷点

这是由于:该处地势平

注意

当选择同一个领域计算山顶点和凹陷点时,在栅格运算后,最大值或最小绝对值是相同的,因为这是领域的内的最大值减去最小值,或相反

学校选址

原理

学校的选址受到各方面因素的综合影响,并且各因素的影响程度不同,并且在因素内部,各个因子对选址也有不同的影响

为了在arcgis 中实现选址,规定每个因素内部分为10个等级,按对选址的影响程度分级

加载数据

由于没有投影信息,显示,为了计算方便,显示单位设置为meter,这并不影响结果,相对位置并没有改变

环境设置

常规设置

输出工作空间设置

栅格分析设置

栅格存储设置

关于构建金字塔等,此处默认

DEM分析

由于在选址中,DEM并不能直接使用,选址和坡度息息相关,越平坦,越适宜建学校Slope

单位选择度,Z-factor 高程因子,平面单位和高程单位的换算

Slope内部因子分级

使用reclassfy工具,分为10类,采用等间距分类方法,并且坡度越小值越高

ArcGIS支持的栅格数据集文件格式

ArcGIS支持的栅格数据集文件格式 在ArcGIS 中,有两种使用栅格数据的方法:作为栅格数据集和作为栅格类型。栅格数据集用于定义像素的存储方式,例如,行数和列数、波段数、实际像素值,以及其他栅格 格式特定参数。栅格类型特定于某些产品,例如卫星传感器或文件格式范围之外的商业数据格式。栅格类型用于与栅格格式一起识别元数据,例如地理配准、采集日 期和传感器类型。 大多数使用栅格数据集的情况是将其添加到显示和执行地理处理等操作。但在向镶嵌数据集添加数据时,需要识别是将其作为栅格数据集添加,还是使用特定栅格类型进行添加。要确定对镶嵌数据集使用添加栅格至镶嵌数据集工具时支持哪种数据形式(栅格类型或栅格数据集),请参阅栅格数据和栅格类型支持列表。了解有关栅格类型的信息地 理数据库是ArcGIS 中的原生数据模型,可用于储存包括栅格数据集、镶嵌数据集和栅格目录在内的地理信息;然而,还有很多可能用到的文件格式保留在地理数据库之外。下表描述了 受支持的栅格格式(栅格数据集)及其扩展名,并识别出了它们是否为只读格式或是否还可以由ArcGIS 写入。

注:可以指定需要ArcGIS 识别哪些产品(自定义> ArcMap 选项> 栅格> 文件格式);关闭不使用的产品可以提高性能。您也可在数据加载过程中过滤数据。有关详细信息,请参阅显示特定栅格格式。 格式描述扩展模块读/写 ARC 数字化栅格图形(ADRG) 由美国国家地理空间情报局(NGA) 以CD-ROM 的形式发布。使用等弧秒栅格图/地图(ARC) 系统(将地球划分为18 个纬度带或区域)对ADRG 进行地理配准。该数据由通过扫描源文档所生成的栅格影像及其他图形组成。 多个文件数据文件- 扩展名*.img 或*.ovr图例文件- 扩展名*.lgg 只读 ArcSDE 栅格

ArcGIS ArcMap中修改栅格图的像元值

在处理图象数据时,我们经常会碰到要求修改栅格图象象元值的问题,比如说DEM图的部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致的错误斑块要更正等等,那我们如何来处理这一类问题呢? 现我以一DEM栅格图(名字为eldodem)为例,现在我要修改它的部分象元值,总结出以下三种方法,大家可以参考一下。第一种方法不大实用,但可借鉴,第二三种方法针对的条件不一致,大家可以在具体情况下进行选择。 一、直接运用转换,思路简单,易操作,但实用性 1、栅格——ascii文件——栅格这种方法是先将栅格图用工具 直接转成ascii文件,然后在ascii文本文件中直接修改需要修改的象元的值,修改好后又用工具 转换成栅格图。这种方法可行,但是不实用,因为我们要搜索到指定的象元好像不是那么简单。那么有没有别的比较好的方法呢? 二、在栅格计算器中操作,方法灵活,可操作性强,实用性强

准备工作 先要在option中设置保留的栅格范围,通常情况下默认的为相交后的部分,这里我们要保留整个DEM,所以要改为以下设置: 2、通过点的位置修改点象元值 2.1* 问题一、要是我想修改图象中的指定的行列的点的象元值(比如说把第100行,200列的点的值修改为0),那该如何操作呢? 这时候我们可以在栅格计算器中输入以下公式: 1.con(($$rowmap == 99 & $$colmap == 199),0,[eldodem.img]) (栅格图的编号是从0行0列开始的)

2.2* 问题二、那若是要修改指定行列范围内的栅格的象元值,比如说把第101行,251列到第401行,301列的部分的象元值改为0,又改如何进行呢? 1.con(($$rowmap < 400 & $$rowmap > 100 & $$colmap < 300 & $$colmap > 250),0,[eldodem.img]) 结果如下

ArcGIS教程:栅格计算器的工作原理

栅格计算器用于在工具中创建和执行“地图代数”表达式。与其他地理处理工具一样,栅格计算器可以在“模型构建器”中使用,从而可以更轻松地在工作中发挥“地图代数”的功用。 栅格计算器具有如下的独有优势: 1、执行单行代数表达式。 2、使用“模型构建器”时,支持在“地图代数”中使用变量。 3、为一个表达式的三个或更多的输入应用 Spatial Analyst 运算符。 4、在一个表达式中使用多个 Spatial Analyst 工具。 栅格计算器用于通过简单的、类似计算器的工具界面,使用多种工具和运算符来执行单行代数表达式。当在一个表达式中使用多种工具或运算符时,该公式的执行速度一般会比分别执行每个运算符或工具的速度要快。 使用栅格计算器工具 工具对话框中有四个主要区域用于创建“地图代数”表达式: 图层和变量 输入图层和变量列表识别了可以在“地图代数”表达式中使用的输入。单独使用此工具时,该列表将包含内容表中的图层。在“模型构建器”中使用此工具时,该列表将包含内容列表中的图层、模型中创建的输出以及其他模型变量。 计算器和运算符按钮

使用计算器按钮可以在表达式中输入数值。使用运算符按钮可以将数学运算符(加、除等)和逻辑运算符(大于、等于等)输入表达式。通过单击这些按钮,可以将数字或运算符输入到表达式中光标当前所在的位置。注意确保表达式遵循正确的规则地图代数语法规则。 工具 在该工具列表中,可以方便地选择能在“地图代数”表达式中使用的工具。通过单击列表中的工具,该工具的名称以及括号的左右半边 [()] 将被放置在表达式中光标当前所在的位置。然后必须输入该工具所需的其他输入内容。虽然工具可以放置在表达式的任何位置,但是它应放置在可以生成有效的“地图代数”语法的位置。 表达式 “地图代数”将要执行的表达式。此表达式必须使用有效的语法输入。请参阅以下部分,了解有关“地图代数”语法规则的详细信息。 地图代数语言 “地图代数”是一种简单而强大的代数语言,利用它您可以操作所有 Spatial Analyst 工具、运算符及函数以执行各种地理分析。 在栅格计算器中使用的“地图代数”含有语法或规则集,“地图代数”必须遵循这些语法或规则集才能创建有效的表达式。如果不遵循这些规则,创建的表达式可能会无效并且无法执行,或者得不到预期的结果。 “地图代数”不仅可以通过栅格计算器工具来访问,还可以通过使用 Spatial Analyst ArcPy 模块的Python 脚本来访问。在此工具中使用相同的“地图代数”语法,但以下情况除外: · 不必将输出栅格名称或等号 (=) 填入表达式,因为该输出名称已在输出栅格参数中指定。 · 在使用运算符时,不必将输入栅格转换为栅格对象。

arcgis栅格计算器

ARCGIS中的栅格计算 栅格计算是栅格数数据空间分析中数据处理和分析中最为常用的方法,应用非常广泛,能够解决各种类型的问题,尤其重要的是,它是建立复杂的应用数学模型的基本模块。ArcGIS 9 提供了非常友好的图形化栅格计算器,利用栅格计算器,不仅可以方便的完成基于数学运算符的栅格运算,以及基于数学函数的栅格运算,而且它还支持直接调用ArcGIS 自带的栅格数据空间分析函数,并且可以方便的实现多条语句的同时输入和运行。 一数学运算 数学运算主要是针对具有相同输入单元的两个或多个栅格数据逐网格进行计算的。主要包括三组数学运算符:算术运算符,布尔运算符和关系运算符。 1. 算术运算 算术运算主要包括加、减、乘、除四种。可以完成两个或多个栅格数据相对应单元之间直接的加、减、乘、除运算。 例如,以今年与去年的降水量数据为基础,用公式(今年降水量-去年降水量)/去年降水量,可以计算出去年降水量的变化程度,如图8.65。(单位:毫米)

图1 算术运算示意图 2. 布尔运算 布尔运算主要包括:和(And)、或(Or)、异或(Xor)、非(Not)。它是基于布尔运算来对栅格数据进行判断的。经判断后,如果为“真”,则输出结果为1,如果为“假”,则输出结果为0。 (1)和(&):比较两个或两个以上栅格数据层,如果对应的栅格值均为非0 值,则输出结果为真(赋值为1),否则输出结果为假(赋值为0)。 (2)或(|):比较两个或两个以上栅格数据层,对应的栅格值中只要有一个或一个以上为非0 值,则输出结果为真(赋值为1),否则输出结果为假(赋值为0)。 (3)异或(!):比较两个或两个以上栅格数据层,如果对应的栅格值在逻辑真假互不相同(一个为0,一个必为非0 值),则输出结果为真(赋值为1),否则输出结果为假(赋值为0)。 (4)非(^):对一个栅格数据层进行逻辑“非”运算。如果栅格值为0 ,则输出结果为1;如果栅格值非0,则输出结果为0。

arcgis实之栅格运算

栅格分析 从DEM上提取山顶点,凹陷点 数据 DEM数据,地理信息:KRASOVSKY-1940-Transverse-Mercator Cellsize 5×5 单位:meter 学校选址 数据 DEM LANDUSE 栅格数据无坐标信息 School rec_sites 矢量数据点类型无坐标信息 设置栅格分析环境 Cellsize设置,输出单元格大小设置 Mask设置,分析范围设置 从Dem上提取山顶点,凹陷点 原理 DEM (数字高程模型)属于场模型(连续的栅格),表达和存储时,使用单元格中间值代替整个栅格的值,可视化时,采用插值(如线性)生成连续的栅格 采用领域的方法,可以用领域中的最高值或最低值代替该单元格的值,当该单元格是山顶点时(相对领域而言),领域计算后的值(取最高值)与原值相同,相反,凹陷点也是如

此 操作 1.加载DEM add date 或直接从catalog 中拖入 使用IDENTIFY工具查看每个单元格时,每个单元格只有一个值,对单元格而言是离散的,但对DEM而言,是连续的 2.环境设置 在10.1中,设置在ARCTOOLS的环境参数设置中完成 常规设置 输出工作空间设置 栅格分析设置 栅格存储设置 关于构建金字塔等,此处默认 领域运算 在10.1中,这个工具是focal Ststistics 在这个工具中,由两部分 NEIGHBERHOOD部分,设置领域类型,大小。类型有:矩形,园,环,楔形,和用户自定义的,大小用户自己定义 Stastistics type 就是领域的功能选择,此处选择max,既将领域最大值赋予单元格 结果预计:计算后的高值和DEM高值相等,低值应该大于等于DEM的低值

arcgis中对矢量和栅格数据进行裁剪切割的方法

arcgis中对矢量和栅格数据进行裁剪切割的方法 [引用 2011-11-07 13:21:46] ?? 字号:大中小? ArcGIS9:?? ArcToolbox-->Spatail Analyst Tools-->Extraction : 在ArcMap --> Spatial Analyst扩展模块工具条--〉Raster? Calculator 或者直接使用Mask ? 1、对矢量数据进行裁减:Arctoolbox中,spatialtool>extract>clip 在InputFeatures中选择被裁剪的图层,在ClipFeatures中选择裁剪形状 2、利用矩形对栅格数据裁剪:Arctoolbox中,datamanagement>raster>clip InputRaster中选择被裁剪的栅格数据,设定好矩形四个顶点即可 3、在SpatialAnalystTools中提供了多种对栅格数据的提取方法,Arctoolbox 中,SpatialAnalyst Tools>extraction包括提取值到点,根据属性提取,用圆提取,用多边形提取,用掩模提取,用点提取,用矩形提取等,其中的用掩模提取功能可以让我们通过不规则边界来获取需要的栅格数据。 ? 可以先建一个polygon的图层,再用这个图层clip那个raster ? 加载空间分析模块, option选项中设置mask图层,范围,cell尺寸,

用其栅格计算器计算: ? 图层名.shape*1, 点击evaluation, ok ? 如果不要求一定要多变形裁剪的话,建议使用clip data management toolbox---clip 这个工具可以保持原有像元信息,但是这里arcmap只提供了矩形切割。 这个约束应该不会影响一般的应用,否则的话建议使用图像处理软件中的mask 裁剪。 另外上面大家说得mask什么的方法,只能出来灰度图,可能原先是设计成处理grid的数据吧 ? ? ? ? ? (2) 用任意多边形剪切栅格数据(矢量数据转换为栅格数据) 在ArcCatlog下新建一个要素类(要素类型为:多边形),命名为:

ARCGIS中矢量裁剪栅格图像

ARCGIS中矢量裁剪栅格图像 (1) 是否需要裁剪栅格图象区域通过一个面状的shapefile表达出来? 如果可以,那么就很简单了。 在ArcMap中,调用空间分析扩展模块,将你感兴趣区的shapefile多边形图层设置为掩膜,然后在栅格计算器中重新计算一下你的图象,它就会沿掩膜裁出。 设置掩膜:空间分析工具条的下拉菜单>option里面设置 (2) 用任意多边形剪切栅格数据(矢量数据转换为栅格数据) 2.1在ArcCatlog下新建一个要素类(要素类型为:多边形),命名为:ClipPoly.shp 2.2在ArcMap中,加载栅格数据:例如kunming.img、和ClipPoly.shp 2.3打开编辑器工具栏,开始编辑ClipPoly ,根据要剪切的区域,绘制一个任意形状的多边形。打开属性表,修改多边形的字段“ID”的值为1,保存修改,停止编辑。 2.4打开空间分析工具栏 执行命令:<空间分析>-<转换>--<要素到栅格> 指定栅格大小:查询要剪切的栅格图层kunming的栅格大小,这里假设指定为1 指定输出栅格的名称为路径 2.5执行命令: <空间分析>-<栅格计算器> 2.6构造表达式:[kunming]*[polyClip4-polyclip4] ,执行栅格图层:kunming和用以剪切的栅格polyClip4 之间的相乘运算 (3) 1、对矢量数据进行裁减:Arctoolbox中,spatial tool > extract>clip 在InputFeatures中选择被裁剪的图层,在ClipFeatures中选择裁剪形状 2、利用矩形对栅格数据裁剪:Arctoolbox中,data management>raster>clip InputRaster中选择被裁剪的栅格数据,设定好矩形四个顶点即可 3、在Spatial Analyst Tools中提供了多种对栅格数据的提取方法,Arctoolbox中,Spatial Analyst Tools>extraction包括提取值到点,根据属性提取,用圆提取,用多边形提取,用掩模提取,用点提取,用矩形提取等,其中的用掩模提取功能可以让我们通过不规则边界来获取需要的栅格数据。

ArcGIS中修改栅格图的像元值

在处理图象数据时,我们经常会碰到要求修改栅格图象象元值得问题,比如说DEM图得部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致得错误斑块要更正等等,那我们如何来处理这一类问题呢? 现我以一DEM栅格图(名字为eldodem)为例,现在我要修改它得部分象元值,总结出以下三种方法,大家可以参考一下。第一种方法不大实用,但可借鉴,第二三种方法针对得条件不一致,大家可以在具体情况下进行选择。 一、直接运用转换,思路简单,易操作,但实用性 1、栅格——ascii文件——栅格这种方法就是先将栅格图用工具 直接转成ascii文件,然后在ascii文本文件中直接修改需要修改得象元得值,修改好后又用工具 转换成栅格图。这种方法可行,但就是不实用,因为我们要搜索到指定得象元好像不就是那么简单。那么有没有别得比较好得方法呢? 二、在栅格计算器中操作,方法灵活,可操作性强,实用性强 准备工作 先要在option中设置保留得栅格范围,通常情况下默认得为相交后得部分,这里我们要保留整个DEM,所以要改为以下设置:

2、通过点得位置修改点象元值 2.1* 问题一、要就是我想修改图象中得指定得行列得点得象元值(比如说把第100行,200列得点得值修改为0),那该如何操作呢? 这时候我们可以在栅格计算器中输入以下公式: con(($$rowmap == 99 & $$colmap == 199),0,[eldodem、img]) (栅格图得编号就是从0行0列开始得) 2.2* 问题二、那若就是要修改指定行列范围内得栅格得象元值,比如说把第101行,251列到第401行,301列得部分得象元值改为0,又改如何进行呢? con(($$rowmap < 400 & $$rowmap > 100 & $$colmap < 300 & $$colmap > 250),0,[eldodem、img]) 结果如下

ARC_Gis_栅格计算器函数

栅格计算器中用得到$$相关函数 $$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)中,输入如下栅格表达式: on(isnull([dem]), focalmean([dem],rectangle,5,5),[dem]) 实际应用中,根据数据情况,应适当修改focalmean中邻域的形状与大小。

ARCGIS教程 第八章 栅格空间距离计算

第八章栅格空间距离计算 1 生成栅格距离图 打开地图文档\gis_ex09\ex08\ex08.mxd,激活data frame1,可看到有二个图层:点状图层“消防站”和线状图层“道路”,前者则用于产生离开消防站的距离图,后者用于确定分析的范围和背景显示(参见图8-1)。 图8-1 data frame1 的显示 鼠标双击data frame1 名称,调出对话框Data Frame Properties,选择General标签,用下拉式菜单将Map Unites 和Display Units 从Unknown Units 改为Meters(米),完成后按“确定”键关闭。选用菜单Tools / Extensions…,勾选Spatial Analyst,栅格分析加载扩展模块被加载,在View / Toolbars 下勾选Spatial Analyst, 窗口中增加了栅格分析工具条。选用菜单Spatial Analyst / Options…,作栅格分析初始化设置:(1)General 标签 Working:D:\gis_ex09\ex08\temp\ 鼠标展开选择Spatial Analyst 的工作路径 Analysis mask: 不选,本练习暂不考虑 Analysis Coordinate System: ● Analysis output will be saved in the same coordinate system as the input (or first raster input if there are multiple… 点选上侧,产生栅格的坐标系和输入数据相同 (2)Extents 标签 Analysis extent:Same as Layer:“道路”下拉选择图层,限定分析空间范围 (3)Cell size 标签 Analysis cell:As Specified Below 下拉选择 Cell size:50 键盘输入栅格单元的大小 Number of Rows:82 边界和栅格单元大小确定后,自动确定栅格行数 Number of Columns:136 边界和栅格单元大小确定后,自动确定栅格列数 按“确定”键,完成初始化设置。选用菜单Spatial Analyst / Distance / StraightLine…,出现Straight Line 参数设置对话框: Distance to:消防站下拉选择图层名,消防站为距离的参照点 Maximum distance:不限定最大的计算范围,保持空白 Output cell size:50 默认,使用初始化设置 Output raster:distance1 键盘输入栅格数据名称,存放路径为初始化的设置 按OK 键,产生离开消防站的距离栅格图层distance1,读者可以改变它的显示符号,参照高程栅格生成等高

(完整版)ArcGIS常用的必会工具(基础篇)

ArcGIS必会的几个工具的应用 --提取、分割、融合、裁剪(矢)、合并、追加、镶嵌、裁剪(栅)、重采样 GIS思维 今天我们来聊聊ArcGIS中常用你又必须掌握的几个工具,如筛选、分割、融合、裁剪(矢量)、合并、追加、镶嵌、裁剪(栅格)、重采样。 本次文章我们会按矢量和栅格两部分来介绍几个工具。这个是ArcGIS的套路,也是大部分GIS类软件的套路,将矢量和栅格分开来。关于矢量和栅格的区别我们在GIS思维发布的《ArcGIS 10.X 入门实战视频教程(GIS思维)》介绍的较为清楚,我们不加以赘述。 本次文章的分享,也是我们《ArcGIS 10.X 入门实战视频教程(GIS思维)》的章节内容,所以要观看视频课程,获取文章分享的数据与课件可以报名参加我们的课程。下有链接。

1、筛选 第一个工具,我们来看下比较简单的筛选工具的应用。筛选(select)的用法:从输入要素类或输入要素图层中提取要素(通常使用选择或结构化查询语言 (SQL) 表达式),并将其存储于输出要素类中。我们首先来看下案例数据-福建的各县行政区划矢量图。 图1-1 图1-2 该数据属性表中,有NAME和city等字段,其中NAME代表区县名,city代表区县所在的地级市城市编码。例如,闽侯县归属福州市(3501),仙游县归属莆田市(3503)。那么,要筛选出福州下辖的所有区县,只要利用筛选工具选出city字段是3501的记录就可。 ?打开筛选工具,分析工具→提取分析→筛选 图1-3 ?有如下图的参数设置,点击确定,就得到我们想要的结果。

图1-4 运行结果如下。具体操作,可以观看学习如上所述视频教程。 图1-5 2、分割 现在我们在裁剪中福建的各县行政区划矢量图fj基础上又有了福建省各地级市的行政区划图fj5(网络数据,仅供学习参考使用),如下图。那我们的问题来了,我们要如1中那样筛选出福建九个地级市(福州、厦门、莆田、泉州、漳州、龙岩、三明、南平、宁德)区县划数据,当然我们可以如1中操作9次得到我们的结果,但这样一来操作就麻烦了,万一你来个全国地级市,那不是坑爹,所以为了提高效率我们引入了分割(split)工具的应用。

使用ArcGIS统计栅格大数据面积

很多的时候我们都会遇到统计面积的需求,如果是矢量数据就比较容易统计面积,但数据如果是影像图,又是经纬度坐标(没有经过投影)就需要相应的一系列的处理。我这里拿到的是辽宁省的栅格图,坐标系统Xi'an80,其中分为五类地类,然后分别统计它们的面积。 数据是经纬度的坐标系统,没有进行投影,不能直接用经纬度计算面积,所以首先我们通过高斯投影将影像图的经纬度坐标转成平面直角坐标,在ArcCatalog中新建一个Personal Geodatabase或者File Geodatabase,然后通过Import---》Raster Dataset 将影像数据导入到 File Geodatabase中。右键点击影像图Properties中设置影像图的坐标系统为 Xi'an80(此处根据影像的元数据进行设定影像的坐标系统为西安80坐标系) 然后在ArcMap中打开栅格图,通过ArcToolbox—DataManagement Tools—Projections and Transformations—Raster—Project Raster进行高斯投影

投影之后,就可以进行分类计算了,将投影后的影像图通过栅格分析工具进行重分类,选择Spatial Analyst工具栏下拉菜单的“Reclassify…”项 在重分类后的影像上点击鼠标右键,选择“Open Attribute Table”

其中COUNT字段中的数值时代表每类地物中所包含的像素个数,这样的话我们就可以通过像素个数*每个像素的面积=影像图的面积,如何获得每个像素所代表的面积,在重分类后的影像上点击鼠标右键,选择“properties…”,在弹出的layer properties窗口中择“Source”选项栏,CellSize项的值为单元格大小信息。 最后通过Field Calculator可以计算出面积,可以把计算出来的值存放到另外一个字段里

ArcGIS ArcMap中修改栅格图的像元值演示教学

A r c G I S A r c M a p中修改栅格图的像元值

在处理图象数据时,我们经常会碰到要求修改栅格图象象元值的问题,比如说DEM图的部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致的错误斑块要更正等等,那我们如何来处理这一类问题呢? 现我以一DEM栅格图(名字为eldodem)为例,现在我要修改它的部分象元值,总结出以下三种方法,大家可以参考一下。第一种方法不大实用,但可借鉴,第二三种方法针对的条件不一致,大家可以在具体情况下进行选择。 一、直接运用转换,思路简单,易操作,但实用性 1、栅格——ascii文件——栅格这种方法是先将栅格图用工具 直接转成ascii文件,然后在ascii文本文件中直接修改需要修改的象元的值,修改好后又用工具 转换成栅格图。这种方法可行,但是不实用,因为我们要搜索到指定的象元好像不是那么简单。那么有没有别的比较好的方法呢?

二、在栅格计算器中操作,方法灵活,可操作性强,实用性强 准备工作 先要在option中设置保留的栅格范围,通常情况下默认的为相交后的部分,这里我们要保留整个DEM,所以要改为以下设置: 2、通过点的位置修改点象元值 2.1* 问题一、要是我想修改图象中的指定的行列的点的象元值(比如说把第100行,200列的点的值修改为0),那该如何操作呢? 这时候我们可以在栅格计算器中输入以下公式: 1.con(($$rowmap == 99 & $$colmap == 199),0,[eldodem.img]) (栅格图的编号是从0行0列开始的)

2.2* 问题二、那若是要修改指定行列范围内的栅格的象元值,比如说把第101行,251列到第401行,301列的部分的象元值改为0,又改如何进行呢? 1.con(($$rowmap < 400 & $$rowmap > 100 & $$colmap < 300 & $$colmap > 250),0,[eldodem.img]) 结果如下

ArcGIS进阶_栅格计算

栅格分析——栅格计算 问题和数据分析 1. 问题提出 栅格计算是栅格数据空间分析中最为常用的方法,也是进行复杂建模分析的基础,是对单栅格或多栅格数据进行对应栅格格网的算术、逻辑或函数的运算,在ArcGIS中主要利用栅格计算器工具完成。 2. 数据准备 使用的数据存储在e:\data\4.1文件夹下名为41的地理数据库中。一个是名为com的栅格数据,表示研究区域玉米产量分布;另一个是名为wheat的栅格数据,表示研究区域小麦产量分布。 数学运算 ArcGIS对栅格的数学运算包括算术运算、布尔运算和关系运算。算术运算主要包括加、减、乘、除等运算,对一个栅格数据进行逐个栅格格网与常数的算术运算或对两个或两个以上栅格的对应位置的栅格格网进行算术运算。 布尔运算主要包括与(&)、或(|)、异或(^)、和非(~)四种运算。是基于布尔运算来对栅格的每个格网值进行判断的,经判断后,如果操作结果为“真”,则该格网输出结果为1;如果操作结果为“假”,则该格网输出结果为0. 关系运算主要包括等于(==)、大于(>)、小于(<)、不等于(!=)、大于或等于(>=)、小于或等于(<=)六种运算。是基于一定的关系条件对栅格中的每个格网值进行判断,满足判断条件的格网输出结果为1,不满足判断条件的格网输出结果为0. 下面以加运算为例说明栅格计算器的操作方法。例如要计算每个栅格格网区域玉米与小麦的总产量,就要将corn和wheat这两个栅格相加 1. 加载数据 Step1:启动ArcMap; Step2:在ArcMap主菜单上单击添加数据图标将corn和wheat栅格要素集添加到内容列表和地图窗口中 2. 加载Spatial Analyst扩展模块 Step1:单击ArcMap主菜单上的“自定义->扩展模块” Step2:在打开的扩展模块对话框中勾选Spatial Analyst Step3:单击关闭按钮,激活Spatial Analyst模块并关闭扩展块对话框。 3. 打开栅格计算器 Step1:单击ArcMap标准工具条上的ArcToolbox工具图标,打开ArcToolbox工具箱窗口 Step2:在ArcToolbox窗口中单击“Spatial Analyst工具->地图代数”,打开地图代数工具箱 Step3:双击“栅格计算器”工具 4. 计算粮食总产量 Step1:在栅格计算器对话框中双击图层和变量列表中的corn图层 Step2:单击加号按钮;

ARCGIS栅格计算器小知识

栅格计算器小知识集锦 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.Nibbl命令 命令使用方法有两种: 一是使用栅格计算工具(Spatial Analyst/Raster Calculator),输入栅格表达式后执行栅格计算(Evaluate)。 表达式输入方法为:nibble(mask图层, 原始数据) 具体如nibble ([dem_Nodata]),[dem])等。 二是直接调用ArcToolbox下的Nibble工具(Spatial Analyst Tools/Generalization/Nibble)。与ArcToolbox中的其他工具类似,定义好相关参数后即可执行该命令。此外,在ArcToolbox中该工具名称上单击右键可以进行批处理(Batch)。 需要注意的是:通常我们认为输入图层应该为原始图层,mask 图层应为经过处理的图层,但在很多情况下,这种做法得不到我们想

ArcGISArcMap中修改栅格图的像元值

A r c G I S A r c M a p中修改 栅格图的像元值 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

在处理图象数据时,我们经常会碰到要求修改栅格图象象元值的问题,比如说DEM图的部分数据错误,我们要进行修改;再比如说栅格图象中有些与周围均匀色彩不一致的错误斑块要更正等等,那我们如何来处理这一类问题呢现我以一DEM栅格图(名字为eldodem)为例,现在我要修改它的部分象元值,总结出以下三种方法,大家可以参考一下。第一种方法不大实用,但可借鉴,第二三种方法针对的条件不一致,大家可以在具体情况下进行选择。 ? 一、直接运用转换,思路简单,易操作,但实用性 1、栅格——ascii文件——栅格这种方法是先将栅格图用工具 直接转成ascii文件,然后在ascii文本文件中直接修改需要修改的象元的值,修改好后又用工具 转换成栅格图。这种方法可行,但是不实用,因为我们要搜索到指定的象元好像不是那么简单。那么有没有别的比较好的方法呢 二、在栅格计算器中操作,方法灵活,可操作性强,实用性强 准备工作 先要在option中设置保留的栅格范围,通常情况下默认的为相交后的部分,这里我们要保留整个DEM,所以要改为以下设置: ? 2、通过点的位置修改点象元值 2.1* 问题一、要是我想修改图象中的指定的行列的点的象元值(比如说把第100行,200列的点的值修改为0),那该如何操作呢 这时候我们可以在栅格计算器中输入以下公式: 1.con(($$rowmap == 99 & $$colmap == 199),0,[]) (栅格图的编号是从0行0列开始的) 2.2* 问题二、那若是要修改指定行列范围内的栅格的象元值,比如说把第101行,251列到第401行,301列的部分的象元值改为0,又改如何进行呢

ArcGis中栅格相关系数的计算

计算多个栅格的相关系数 ※ARCGIS中,如果要计算两个栅格层的相关系数,在arctool box中,spatial analyst tools->multivariate->band collection statistcs也可以实现统计功能,当然了多个栅格图层需要采用Data Management Tools->Raster->composite bands把多个栅格图层复合成一个文件,类似与grid中的MAKESTACK命令。 2000年1km数据与8km数据相关系数 # CORRELATION MATRIX # Layer 1 2 # -------------------------------------------------------------------------- 1 1.00000 0.99383 2 0.9938 3 1.00000 # =================================================================== 如果有安装worstation也可以实现上述功能: 情况一: ARCGIS中,如果要计算两个栅格层的相关系数,可以采用ARC下的CORRELATION命令,其具体的使用方式如下: CORRELATION {grid2} {xoffset} {yoffset} Arguments - an input integer or floating-point grid. {grid2} - an input integer or floating-point grid. If no second input grid is specified, the cross correlation will be performed on the first grid shifted on itself by the specified offset. {xoffset} - the number of cells in the x-axis or direction to offset the second input grid from the first input grid. The default x-offset is zero cells. {yoffset} - the number of cells in the y-axis or direction to offset the second input grid from the first input grid. The default y-offset is zero cells. 情况二: ARCGIS中,如果要计算多于两个栅格层的相关系数,可以采用ATC下的STACKSTATS命令,其具体使用方式如下: STACKSTATS {out_data_file} {BRIEF | DETAIL} Arguments

最佳路径(栅格)ArcGIS

杭州师范大学 H a n g z h o u N o r m a l U n i v e r s i t y 《GIS空间分析与建模》 实验报告 学院班级:理学院地信141 实验名称:寻找最佳路径 学生姓名:赵文彪 学生学号:2014212425 授课老师:胡潭高 提交日期:2016年11月10日

目录 1 实验目的: (4) 2 实验要求: (4) 3 操作流程 (5) 3.1 数据准备 (5) 3.2 创建成本数据集 (7) 3.2.1 坡度数据集 (7) 3.2.2 起伏度成本数据集 (11) 3.2.3 河流成本数据集 (14) 3.2.4 最终的成本数据 (15) 3.2.5 计算成本权重距离函数 (16) 3.2.6 求最短路径 (18)

实验四、寻找最佳路径 1实验目的: 熟悉ArcGIS的栅格数据距离制图、表面分析、成本权重距离、数据重分类、最短路径空间分析功能,熟练掌握利用ArcGIS上述空间分析功能,分析和处理类似寻找最佳路径的实际应用问题。 2实验要求: 新建路径成本较少 新建路径为较短路径 新建路径的选择应该避开主干河流,以减少成本 新建路径成本计算时,考虑到河流成本是路径成本中较为关键的因素,现将坡度数据和起伏数据按照0.4::06的权重合并,然和如河流成本做等权重的加和并,公式描述如下:Cost = reclass_river + (reclass_slope*0.6 + reclass_QFD*0.4) 寻找最短路径的实现需要运用ArcGIS的空间分析中距离制图中成本路径及最短路径、表面分析和坡度计算及起伏度计算、重分类及栅格计算器等功能完成。 提交寻找到的最佳路径路线图

ArcGIS栅格裁切

ArcGIS栅格裁切 在多源数据整合和处理的过程中,往往会遇到指定范围栅格数据获取或生成的问题,比如按照指定矢量范围裁切栅格等等。ArcGIS中提供了多种栅格剪切的方式和处理工具。利用ArcGIS10的“影像分析”窗口进行栅格裁切处理,“影像分析”窗口能够通过一组常用的显示功能和过程,对ArcMap 中影像和栅格数据进行分析和利用。 在空间分析工具箱中提供了多种对栅格数据的提取方法,包括提取值到点,根据属性提取,用圆提取,用多边形提取,用掩模提取,用点提取,用矩形提取等,其中的用掩模提取功能可以让我们通过不规则边界来获取需要的栅格数据。利用空间分析工具中的栅格计算器工具可创建和执行复杂的“地图代数”表达式,实现多种栅格的处理运算。还可以利用数据管理工具箱下栅格工具集下的栅格数据处理工具集中的裁剪工具实现栅格数据的裁剪处理。通过影像分析窗口的“裁剪”按钮可以创建裁剪图层,可以按照数据视图范围,选定的面进行裁剪,该方式非常快速得到裁剪或掩膜后的栅格图。 采用空间分析工具箱中圆、多边形提取的方式,都需要手工输入对应圆和多边形的对应坐标范围,如下图所示。如果有对应的坐标范围,则可采用这种方式进行栅格裁切处理,同时可以选择提取区域为对应图形的内部和外部两种方式。

利用栅格数据处理工具集中的裁剪工具,可以直接根据已有矢量或栅格数据的范围进行输入栅格数据的裁剪处理。如下左图所示。需要注意的是,裁剪工具提供输出范围的矩形范围选择,以及根据输入要素的范围作为裁剪几何两种选择,即下图中的“将输入要素用于裁剪几何”选择项,如果不选择,将按照输出范围的最小外接矩形范围输出,如果勾出该项,则按照输入要素本身的几何范围输出。如下图(右)所示,绿色系部分为未勾选结果,而蓝色系部分为按照输入要素作为裁剪 几何的输出结果。

相关文档
最新文档