ArcGIS 10 新特性之 Spatial Analyst
ArcGIS Spatial Analyst 扩展模块提供了多种强大的空间建模与分析功能。ArcGIS 10 的 Spatial Analyst 在性能方面有显著改进,同时增添了一些新工具。
新的地理处理工具
提取
新增的多值提取至点工具可基于一组输入点从多个输入栅格(包括多波段栅格)中提取值。相应的栅格值作为属性添加到输入要素类中,用户可选择提供输出名称。ArcGIS 10 之前的版本中可用的类似工具值提取至点,每次只能从一个栅格提取值并创建一个新的输出要素类。
多元分析
引入了一个新的多元分析工具 Iso 聚类非监督分类,用于执行非监督分类。
叠加分析
模糊分类和模糊叠加是两个新增工具,它们使用模糊逻辑对多指标决策执行叠加分析。模糊逻辑以集合论为基础,是当前在 Spatial Analyst 中可用的加权叠加和加权总和方法的替代方法,但所有这些方法都非常适于执行适宜性建模。
如同在大多数叠加分析中一样,会对重要的图层执行重分类或转换为公共比例,然后将这些图层加到一起或组合到一起以便为正在研究的现象识别最佳位置。
模糊分类工具用于使用指定的模糊函数将输入数据重设(重分类或转换)为值域从 0 至 1 的隶属函数值。隶属函数值表征主观认定的某对象对某个集合的隶属程度,值越接近 1 就被认为隶属程度越高。
模糊叠加工具用于使用模糊运算符组合两个或多个模糊分类结果,以创建诸如输出适宜性栅格数据集之类的对象。该工具可识别最可能属于集合的首选组合所在的位置;在适宜性建模中,即为最适合的位置。
栅格计算器
新的栅格计算器设计用于同时替换以前 Spatial Analyst 工具条上的“栅格计算器”以及“单输出地图代数”工具。新的栅格计算器可使用 Python 语法执行“地图代数”表达式。在 ModelBuilder 中使用时,栅格计算器支持在表达式中使用变量。
地图代数
ArcGIS 10 中,已将地图代数无缝集成到 Python 环境中,这可为用户提供更卓越的分析和建模体验。
“地图代数”语法基本与以前相同,保证了用户的对它的熟悉性及其易用的特性。通常,对于语法的任何更改都是为了使用户能发挥出 Python 更强大的功能。
将“地图代数”与 Python 集成的一些特点和优势如下:
可从集成的 Python 交互式窗口或者通过用户自己喜欢的 Python 脚本交互式开发环境 (IDE, Interactive Development Environment) 访问“地图代数”。
完全自动化的功能大大减少了构造表达式的工作量,对于复杂的表达式此特性更加明显。
在“地图代数”中可以使用所有 Spatial Analyst 工具。
它支持一组综合性的数学运算符和逻辑运算符。
可将各个工具和运算符连在一起以创建一条复杂语句。
局部(每个像元)表达式得到优化以增强性能。
某些参数集合可以使用 Python 类,以执行自动化功能以及对各参数的编程访问。下面是空间分析类的一般列表:
- 邻域、重映射表、加权叠加和加权总和表、垂直系数和水平系数表、地形转栅格输入表以及模糊分类。
Spatial Analyst 工具条
由于地理处理带来的诸多益处,ArcGIS 10 中移除了先前版本中 Spatial Analyst 工具条中有限的选择功能。工具条上的创建等值线和直方图交互式工具保持不变。
作为 ArcGIS 9.3 和较早的“栅格计算器”对话框的替代,可将“地图代数”表达式输入新的栅格计算器工具或直接在 Python 窗口中输入。
原生数据的读/写
通常,在 Spatial Analyst 中仅针对 ESRI GRID 数据集执行栅格操作。根据需要,将其他指定的输入或输出格式内部转换为 GRID 或由 GRID 转换为其他格式。类似地,也将要素数据内部转换为 Shapefile 格式。
在 ArcGIS 10 中进行了一些更改,以便为 Spatial Analyst 引擎提供原生格式的读写功能,从而使数据处理更快更可靠。因为避免了临时文件的创建及内部管理,从而减少了处理时间和磁盘空间的占用。其他优点如下:
- 克服了 ESRI GRID 格式对字段名称和路径长度的限制。
- 通过将输出写入 GDB 或 SDE 文件,回避了 2.1 GB 的 shapefile 大小限制。
- 如果能被指定的输入和输出格式支持,则可保留日期字段中的时间值,并且也可保留 null 值而不将其转换为零。
在更技术性的层面上:
- 凭借在 ArcGIS 10 中引入的两个新接口 IRasterAnalysisGlobalEnvironment 和 IRasterOpBase,用户可使用 ArcObjects 在 Spatial Analyst 中处理栅格数据而无需将数据转换为 ESRI GRID 格式
- IRasterAnalysisGlobalEnvironment::AvoidDataConversion 的默认设置 False 可确保执行路径与 ArcGIS 10 之前版本的执行路径相同。
- 将 IRasterAnalysisGlobalEnvironment::AvoidDataConversion 设置为 True 可确保针对栅格和要素数据的所有处理都在本地执行。
- IRasterOpBase 接口提供了一种在执行操作之前指定输出数据的名称及其工作空间的途径。这会导致直接将输出数据永久性地写入为所需格式。
性能改善
焦点统计工具的新算法显著改善了工具的性能,尤其是在处理大型邻域分析时(例如 12 x 12 或更大的矩形邻域,以及半径为 5 或更大的圆形邻域)的性能提升更为明显。这些改善影响到除一个类型之外的所有邻域类型,以及大多数统计类型。其余统计类型的性能不受影响。
将非 GRID 栅格和非 Shapefile 要素数据用作输入或输出时,Spatial Analyst 工具的执行速度通常会比该工具在版本 9.3.1 中的执行速度快。这是因为在 Spatial Analyst 引擎中添加了原生格式的读写功能。有关详细信息,请参阅前文的“原生数据的读/写”部分。
影像分类
在 ArcGIS 10 中,引入了新的影像分类工具条。通过这个影像分类工具条,可以同时使用交互式工具和地理处理工具对多波段栅格数据集执行分类。
影像分类 工具条是用于执行影像分类的唯一位置。它提供了交互式且易于使用的工具来创建和评估监督分类所需的训练样本。您还可以访问多个地理处理工具以执行多元分析。
此工具条使得影像分类变得更快更容易。
训练样本管理器提供了以下用于执行分类的辅助功能:
- 由训练样本表示的类列表
- 管理训练样本的工具
- 若干训练样本评估工具,用于创建和显示类的直方图、散点图和统计数据
- 允许用户创建一个用于分类的特征文件