ArcGIS栅格数据分析
刘卓颖
讲座内容 栅格数据的特点和类型 ArcGIS的地图代数 栅格数学运算栅格距离分析栅格叠加分析栅格区域统计栅格临域分析多元栅格分析。。。
栅格数据的定义和类型 什么是栅格?
每个网格作为一个像元,包含一个代码表示该像素的属性类型或量值,或者记录指向属性数据的指针,每个网格的大小代表空间分辨率.
类型:栅格可以是专题数据,数字航空摄影、卫星影像、数字图片或甚至扫描的地图.
栅格数据的特点 属性明显数据记录了数据属性,可以直接得到地物的属性代码. 定位隐含所在位置则根据行列号转换为相应的坐标,栅格结构是按一定的规则排列的,所表示的实体的位置很容易隐含在格网文件的存储结构中. 简单方便栅格数据结构容易实现,算法简单,且易于扩充、修改,给地理空间数据处理带来了极大的方便.
空间分析为数据的深度使用提供了方法
自动分析处理较为简单 分析处理模式化很强栅格数据是GIS的重要数据模型之一,基于栅格数据的空间分析是 GIS空间分析的重要基础。
空间分析模块功能
提取创建栅格
数学计算条件分析地图代数
局部分析邻域分析区域分析
距离分析叠加分析插值分析
表面分析栅格重分类多元分析
栅格综合水文分析密度分析
地下水分析工具条
太阳辐射分析
地图代数是栅格数据空间分析的灵魂!
什么是地图代数? 地图代数(Map Algebra)是一种可以用代数语言执行空间分析的一种方法包括可以执行所有ArcGIS空间分析扩展功能,数学运算,函数分析。 Discrete 优点:可以创建复杂的表达式。 如何获取:通过空间分析模块。 整合 Python (所有模块都可以获取)0 No Data No Data 1 11 1 1
11 2 2
21 2 2
Vegetation 0= Rock 1= Forest 2= Water
Continuous
1.12 1.75 1.81 2.03 Rainfall 0.26 1.63 1.87 1.98 0.00 0.91 0.73 1.42 No No 0.00 0.18 Data Data
(inches)
地图代数的使用途径Raster Calculator–空间分析工具–易于使用的计算界面–单独使用或在 ModelBuilder中使用
Python窗口–单一的表达或简单的探索性模型
Scripting–复杂的模型
Python与栅格数据分析目前我们需要解决的问题: 复杂模型的问题 主要是基于栅格数据的分析 执行的一些空间操作很困难,仅用 ArcGIS的标准工具来执行是不现实的 由于模型问题的复杂性处理的速度也是我们关心的问题
通过 ArcPy可访问地理处理工具和其他函数、类和模块,使用它们可快速轻松地创建简单或复杂工作流。
地图代数通用语法Arcpy站点包,空间分
析模块的导入import arcpy from arcpy import env from arcpy.sa import *
简单形式:等号左边一个对象名,等号右边为工具或运算的结果。outRas= Slope(“indem”)
组成结构:–数据输入–运算符
outRas= Slope(“inraster”)
Rasters,Features,Numbers,Constants,Objects,Variables
数学运算符,包括空间分析和Python的运算符outRas= Raster(“inraster1”)+ Raster(inraster2”)
OutRas2= Raster(inraster”)+ 8
地图代数通用语法(cont.)–工具outRas= Slope(“inraster”)
所以输出栅格的工具如坡度工具,重分类工具,三角函数等。在PYTHON里可以使用任何GP工具。
–参数
outRas= Slope(“inraster”,“PERCENT_RISE”)
定义工具如何执行,每个工具都有自己唯一的参数包括必须的和可选的。
–输出
outRas= Hillshade(“inraster”)
存储的结果为栅格对象,对象具有方法和属性。通常Python Win和脚本运行的结果是临时的。
栅格数据简单分析方法数学运算,数学函数,地图查询
栅格分析的数学运算Arithmetic (+, -, *,/) Boolean (AND, OR, XOR, NOT) Logical (<,>,=,<>, etc.) Bitwise (shift, compliment)
栅格分析的数学函数Arithmetic—Abs, Int, Float, etc. Trigonometric—Sin, Cos, Tan, etc. Exponential—Exp, Exp2, Exp10 Logarithmic—Log, Log2, Log10 Powers—Sqr, SqrtThe Int function
= NoData
Input raster
Output raster
栅格分析的地图查询 Boolean (AND, OR, XOR, NOT) Logical (>,>=,=,<>,<,<=)
DEMO1:栅格的简单数学运算