含障碍的样条函数 (3D Analyst)
用法
-
使用此工具需要安装 Java runtime environment 版本 6 或更高版本。可从 http://www.java.com/en/download 免费下载 Java Runtime Environment。
-
生成的平滑表面受输入障碍要素限制。
-
某些输入数据集可能包含多个具有相同 x,y 坐标的点。如果共有位置处点的值相同,则将其视为重复项,但并不影响输出。如果值不同,则将这些点视为重合点。
各种插值工具可在不同条件下以不同方式处理此数据。例如,在某些情况下,使用遇到的第一个重合点进行计算;而在其他情况下,则使用遇到的最后一个点进行计算。这可能导致输出栅格中某些位置的值与预期值不同。解决办法就是在准备数据时移除这些重合点。“空间统计”工具箱中的收集事件工具用于识别数据中所有的重合点。
对于含障碍的样条函数工具,默认情况下,将求每组重合点的值的平均值。
-
如果输入的像元大小为 0,则实际使用的像元大小将为输入空间参考中输入点要素范围的宽度与高度中的较小值除以 250。
-
障碍要素被栅格化,像元中心用于确定像元是否落在面范围内,或者像元是否成为折线 (polyline) 要素的障碍。
如果工具运行失败并显示错误消息“需要安装更新版本的 Java”,而且您已安装了多个版本的 Java,则需要更新 PATH 环境变量。
语法
参数 | 说明 | 数据类型 |
Input_point_features in_point_features |
包含要插值到表面栅格中的 z 值的输入点要素。 | Feature Layer |
Z_value_field |
存放每个点的高度值或量级值的字段。 如果输入点要素包含 z 值,则该字段可以是数值型字段或者 Shape 字段。 | Field |
Input_barrier_features (可选) |
用于约束插值的可选输入障碍要素。 | Feature Layer |
Output_cell_size cell_size (可选) |
要创建的输出栅格的像元大小。 如果输入的值为 0,输入空间参考中输入点要素范围的宽度与高度中的较小值(除以 250)将用作像元大小。 | Analysis Cell Size |
Output_raster |
输出插值后的表面栅格。 | Raster Layer |
Smoothing_Factor (可选) | 影响输出表面的平滑的参数。 当值为零时不会应用任何平滑,当因子等于 1 时将应用最大平滑量。 默认值为 0.0。 | Double |
代码示例
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 TIFF 栅格。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.SplineWithBarriers_3d("ozone_pts.shp", "ozone", "ozone_barrier.shp", 2000, "C:/output/splinebarrierout.tif")
该示例输入一个点 shapefile,然后通过对表面插值,输出得到 Grid 栅格。
# Name: SplineWithBarriers_3d_Ex_02.py # Description: Interpolate a series of point features onto a # rectangular raster, using optional barriers, using a # minimum curvature spline technique. # Requirements: Spatial Analyst Extension and Java Runtime Environment Version 5.0, or higher. # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inPointFeatures = "ca_ozone_pts.shp" zField = "ozone" inBarrierFeature = "ca_ozone_barrier.shp" cellSize = 2000.0 outRaster = "C:/output/splinebout" # Check out the ArcGIS 3D Analyst extension license arcpy.CheckOutExtension("3D") # Execute Spline with Barriers arcpy.SplineWithBarriers_3d(inPntFeat, zField, inBarrierFeature, cellSize, outRaster)