牟乃夏ArcEngine教程-第8章 栅格数据空间分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数法(Spline) • Spline插值利用最小化表面总曲率的数学函数来估计值,从而生 成恰好经过输入点的平滑表面。这种方法很好地模拟了高程、水 位高度或污染物浓度这样的渐变曲面。
样条函数法是通过调用IInterpolationOp2接口的Spline方法实现,该方法的原型为: public IGeoDataset Spline ( IGeoDatasetgeo Data, esriGeoAnalysisSplineEnum splineType, ref object weight, ref object numPoints); 它有四个参数,分别是: (1)IGeoDataset geoData 输入的包含Z值的点要素数据集。 (2)esriGeoAnalysisSplineEnum splineType 要使用的样条函数类型。 (3)ref objectweight 影响表面插值特性的参数。 (4)ref objectnumPoints 用于局部近似的每个区域的点数。
1. 环境设置
• 在ArcGIS中,栅格数据空间分析是扩展模块。同样,要使用ArcGIS Engine实现栅格数据的空间分析功能,需使用ArcGIS Engine Runtime的Spatial Analyst许可。
1. 环境设置
• 在进行空间插值、密度分析等空间分析之前,应先设置分析环境。 分析环境的设置主要有以下四个方面:输出像元大小、处理范围、 掩膜和输出数据的空间参考等。分析环境的设置主要通过 IRasterAnalysisEnvironment接口实现。 • 所有栅格数据空间分析的类都能实现IRasterAnalysisEnvironment接 口,如:
2. 空间插值
• Trend插值实现思路如下:
• (1)通过IRasterAnalysisEnvironment接口设置输出栅格大小和处理范围 等; • (2)调用IFeatureClassDescriptor接口的Create方法设置插值的Z值字段; • (3)选择esriGeoAnalysisTrendEnum类型; • (4)设置多项式的阶(order); • (5)调用IInterpolationOp2接口的Trend方法,返回Trend插值结果; • (6)显示Trend插值结果数据。
自然邻域法是通过调用IInterpolationOp2接口的NaturalNeighbor方法实现,该方法的原型为: public IGeoDataset NaturalNeighbor (IGeoDatasetgeo Dataset); 它只有一个参数: IGeoDataset geoData输入的包含Z值得点要素集。 NaturalNeighbor插值实现思路如下: (1)通过IRasterAnalysisEnvironment接口设置输出栅格大小和处理范围等; (2)调用IFeatureClassDescriptor接口的Create方法设置插值的Z值字段; (3)调用IInterpolationOp2接口的NaturalNeighbor方法,返回NaturalNeighbor插值结果; (4)显示NaturalNeighbor插值结果数据。
详细代码见程序
IDW插值结果
2. 空间插值
• (2)Krige(克里金法)
• Krige插值的基本原理是根据相邻变量的值,利用变异函数揭示的区域变 量的内在联系来预测空间变量的值。利用克里金法进行预测时分为两步: • 第一步是对已知点进行结构分析,揭示相关性规律,提出变异函数类型; • 第二步是在该模型基础上进行预测。
1. 环境设置
• • • • • • • • • • • IRasterAnalysisEnvironment接口的属性和方法 (1)SetCellSize方法 设置输出栅格数据的像元大小。 (2)SetExtent方法 设置栅格分析的处理范围。 (3)Mask属性 使空间分析只对选定的数据进行处理。 (4)OutSpatialReference属性 输出数据的空间参考,默认为输入数据的空间参考。 (5)OutWorkspace属性 空间分析的输出工作空间,默认为系统临时工作空间。
简介
• 栅格数据分析是空间分析的重要组成部分。栅格数据具有属性明 显、位置隐含的特点,在表达连续地理现象的空间分布、进行空 间分析和地表模拟等方面具有较强的优势。栅格分析常用的方法 有:空间插值、栅格表面分析、栅格计算、密度分析、提取分析、 距离分析、重分类和条件分析等。在实际应用中,针对不同的应 用需求各种分析所占的比重也不尽相同。但通常情况下,需要综 合运用多种栅格数据的分析方法并且结合矢量数据的空间分析来 完成一个完整的数据分析过程。
2. 空间插值
• IDW插值实现思路如下:
• (1)通过IRasterAnalysisEnvironment接口设置输出栅格大小和处理范围 等; • (2)调用IFeatureClassDescriptor接口的Create方法设置插值的Z值字段; • (3)通过IRasterRadius接口设置搜索半径; • (4)调用IInterpolationOp2接口的IDW方法,返回IDW插值结果; • (5)显示IDW插值结果数据。
2. 空间插值
• (1)IDW(反距离权重法)
• IDW插值是一种简单、常用的空间插值方法,它以插值点与样本点之间 的距离为权重进行加权平均,离插值点越近的样本点赋予的权重越大。 反距离插值法是通过调用IInterpolationOp2接口的IDW方法实现的。
该方法的原型为: public IGeoDataset IDW (IGeoDatasetgeo Data, double power, IRasterRadius radius, ref object barrier); 它有四个参数,分别是: (1)IGeoDataset geoData 输入的包含Z值的点要素数据集。 (2)double power 用于控制内插值周围点的显著性。幂值越高,对元数据 点的影响会越小。它可以是任何大于 0 的实数,但使用从 0.5 到 3 的值可以获得最合理的结 果。 (3)IRasterRadius radius 搜索半径,有“固定”和“变量”两个选项。 (4)ref object barrier 在搜索输入采样点时用作中断或限制的折线要素。
克里金法是通过调用IInterpolationOp2接口的Krige方法实现,该方法的原型为: public IGeoDataset Krige (IGeoDatasetgeo Data,esriGeoAnalysisSemiVariogramEnum semiVariogramType,IRasterRadius radius, bool outSemiVariance,ref object barrier); 它有五个参数,分别是: (1)IGeoDatasetgeo Data 输入的包含Z值的点要素数据集。 (2)esriGeoAnalysisSemiVariogramEnum semiVariogramType 半变异函数属性 (3)IRasterRadiusradius 搜索半径,有“固定”和“变量”两个选项。 (4)bool outSemiVariance 输出的结果是否包含该位置的预测半方差值。 (5)ref object barrier在搜索输入采样点时用作中断或限制的折线要素。
2. 空间插值
• 自然邻域法(NaturalNeighbor)
• NaturalNeighbor插值通过算法找到距查询点最近的输入样本子集,并根 据区域的大小对这些样本运用权重进行插值。该插值方法仅使用查询点 周围的样本子集,且保证插值高度在所使用的样本范围之内,不会推断 表面趋势且不能生成输入样本中未表示出的山峰、凹地、山脊或山谷等 地形。
2. 空间插值
• Spline插值实现思路如下:
• (1)通过IRasterAnalysisEnvironment接口设置输出栅格大小和处理范围 等; • (2)调用IFeatureClassDescriptor接口的Create方法设置插值的Z值字段; • (3)选择esriGeoAnalysisSplineEnum类型; • (4)设置权重(weight)和点数(numPoints); • (5)调用IInterpolationOp2接口的Spline方法,返回Spline插值结果; • (6)显示Spline插值结果数据。
2. 空间插值
• 趋势面法(Trend) • Trend插值是针对大量离散的点信息,从整体插值出发,来进行趋 势渐变特征分析的最简单的方法。趋势面分析一般是采取多项式 进行回归分析,通过全局多项式插值法将由数学函数(多项式) 定义的平滑表面与输入采样点进行拟合。
趋势面法是通过调用IInterpolationOp2接口的Trend方法实现,该方法的原型为: public IGeoDataset Trend ( IGeoDatasetgeo Data, esriGeoAnalysisTrendEnum trendType, int order); 它有三个参数,分别是: (1)IGeoDataset geoData输入的包含Z值得点要素数据集。 (2)esriGeoAnalysisTrendEnum trendType 要执行的回归类型。 (3)int order 多项式的阶。
2. 空间插值
• 空间插值是根据有限的样本点数据来预测栅格数据中其他单元的值,插值的假定条 件是空间上分布的现象具有空间相关性。 • 在ArcGIS Engine中,RasterInterpolationOpClass类实现了空间插值分析。该类实现了 两个主要的接口,分别是IRasterAnalysisEnvironment接口和IInterpolationOp2接口。 • IInterpolationOp2接口实现了所有空间插值的方法,分别为: • (1)IDW(反距离权重法) • (2)Krige(克里金法) • (3)Spline(样条函数法) • (4)Trend(趋势面法) • (5)NaturalNeighbor(自然邻域法) • (6)TopoToRasterByFile(通过文件实现地形转栅格) • (7)Variogram(变异函数法)
牟乃夏 ArcGIS Engine 地理 信息系统开发教程 配套PPT--第8章 栅格数据空间分析
目录
• • • • • • • • • • 1. 环境设置 2. 空间插值 3. 栅格表面分析 4. 栅格计算 5. 栅格统计 6. 密度分析 7. 提取分析 8. 距离分析 9. 重分类 10.条件分析
RasterDensityOpClass(密度分析类)、RasterDistanceOpClass (距离分 析类)、RasterExtractionOpClass (提取分析类)、 RasterInterpolationOpClass(插值分析类)、RasterMathOpsClass (栅格 计算类)、RasterReclassOpClass(重分类)、RasterSurfaceOpClass(表 面分析类)及RasterConditionalOpClass (条件分析类)等。
2. 空间插值
• Krige插值的实现思路如下:
• (1)通过IRasterAnalysisEnvironment接口设置输出栅格大小和处理范围 等; • (2)调用IFeatureClassDescriptor接口的Create方法设置插值的Z值字段; • (3)选择esriGeoAnalysisSemiVariogramEnum类型; • (4)通过IRasterRadius接口设置搜索半径; • (5)调用IInterpolationOp2接口的Krige方法,返回Krige插值结果; • (6)显示Krige插值结果数据。
相关文档
最新文档