含障碍的扩散插值法 (地统计分析)
用法
-
“绝对”要素障碍采用“非欧氏”距离方法而非“通视分析”方法。“通视分析”方法要求测量位置与需要预测的位置间的直线与障碍要素不相交。如果障碍周围的距离位于搜索邻域规范之内,则将对其使用“非欧氏”距离方法。
-
处理时间取决于障碍要素类几何的复杂性。通过使用制图综合工具集中的工具对要素进行平滑处理或删除某些要素可创建新要素类。
-
对于输入附加障碍栅格参数,其值必须大于或等于 1。值 1 表示没有障碍。
-
输入累积障碍栅格参数中值的顺序应该与 x,y 坐标顺序相同。如果相邻单元的值相同,则表示该位置没有障碍。
-
输入流动障碍栅格参数中值的顺序应该与 x,y 坐标顺序相同。如果相邻单元的值相同,则表示该位置没有障碍。另外,如果值由高变低,则意味着没有障碍。
在栅格障碍中,值 Nodata 与绝对障碍具有相同效果。
语法
参数 | 说明 | 数据类型 |
in_features |
包含要插入的 z 值的输入点要素。 | Feature Layer |
z_field |
表示每个点的高度或量级值的字段。如果输入要素包含 z 值或 m 值,则该字段可以是数值字段或 Shape 字段。 | Field |
out_ga_layer (可选) |
生成的地统计图层。只有未请求任何输出栅格时才需要输出该图层。 | Geostatistical Layer |
out_raster (可选) |
输出栅格。只有未请求任何输出地统计图层时才需要输出该栅格。 | Raster Dataset |
cell_size (可选) |
要创建的输出栅格的像元大小。 可在“环境设置”的“栅格分析”下显式设置此值。如果未设置,则该值为输入空间参考中输入点要素范围的宽度与高度中的较小值除以 250。 | Analysis Cell Size |
in_barrier_features (可选) |
使用“非欧氏”距离而非“通视”距离的绝对障碍要素。 | Feature Layer |
bandwidth (可选) |
用于指定预测所用数据点之间的最大距离。随着带宽的增加,预测偏差将增加,而预测方差会减少。 | Double |
number_iterations (可选) |
由于模型在数值上求解扩散方程,迭代计数将控制数值解的精度。迭代计数越大,预测越精确,但处理时间也将越长。障碍几何越复杂且带宽越大,精确预测所需的迭代也越多。 | Long |
weight_field (可选) |
用于强调某个观测。权重越大,对预测的影响就越大。对于重合的观测,为最可靠的测量值分配最大权重。 | Field |
in_additive_barrier_raster (可选) |
基于以下公式计算出的两个相邻栅格像元之间的行程距离: (相邻像元的平均成本值)x(像元中心间的距离)。 | Raster Layer |
in_cumulative_barrier_raster (可选) |
基于以下公式计算出的两个相邻栅格像元之间的行程距离:(相邻像元的成本值之差)+(像元中心间的距离)。 | Raster Layer |
in_flow_barrier_raster (可选) |
如果想在插入数据时指明数据变化的主方向,可基于以下公式使用流动障碍: 指示符(至 相邻像元的成本值 > 自 相邻像元的成本值)*(至 相邻像元的成本值 - 自 相邻像元的成本值)+(像元中心间的距离), 其中,指示符(真)= 1,指示符(假)= 0。 | Raster Layer |
代码实例
将由障碍限制的点要素插入到矩形栅格中。
import arcpy
arcpy.env.workspace = "C:/gapyexamples/data"
arcpy.DiffusionInterpolationWithBarriers_ga("ca_ozone_pts", "OZONE", "outDIWB",
"C:/gapyexamples/output/diwbout", "2000",
"ca_outline", "", "10", "", "", "", "")
将由障碍限制的点要素插入到矩形栅格中。
# Name: DiffusionInterpolationWithBarriers_Example_02.py
# Description: Diffusion Interpolation with Barriers uses a kernel which is
# based upon the heat equation and describes the variation in
# temperature with time in a homogeneous medium.
# Requirements: Geostatistical Analyst Extension
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/gapyexamples/data"
# Set local variables
inPointFeatures = "ca_ozone_pts.shp"
zField = "ozone"
outLayer = "outDIWB"
outRaster = "C:/gapyexamples/output/diwbout"
cellSize = 2000.0
power = 2
inBarrier = "ca_outline.shp"
bandwidth = ""
iterations = 10
weightField = ""
addBarrier = ""
cumuBarrier = ""
flowBarrier = ""
# Check out the ArcGIS Geostatistical Analyst extension license
arcpy.CheckOutExtension("GeoStats")
# Execute DiffusionInterpolationWithBarriers
arcpy.DiffusionInterpolationWithBarriers_ga(inPointFeatures, zField, outLayer,
outRaster, cellSize, inBarrier,
bandwidth, iterations, weightField,
addBarrier, cumuBarrier, flowBarrier)