依据文件实现地形转栅格 (空间分析)
用法
-
参数文件的结构为:首先列出输入数据集,然后列出各种参数设置,最后列出输出选项。
输入数据用于识别输入数据集及各个字段(如果适用)。共有六种输入类型:等值线、点、汇点、河流、湖泊和边界。您可以根据需要选择使用合理数量的输入。输入数据的键入顺序不会对结果造成任何影响。<Path> 表示到数据集的路径,<Item> 表示字段名,而 <#> 则表示要输入的值。
下表列出了所有参数、每个参数的定义及其语法。
参数
定义
语法
输入数据集: 等值线
包含具有高度值项的等值线数据集。
Contour <Path> <Item> 点
包含具有高度值项的点数据集。
Point <Path> <Item> 汇点
包含汇位置的点数据集。如果数据集包含汇的高程值,请将该字段名称指定为 <Item>。如果仅使用汇的位置,请将 <Item> 设为 NONE。
Sink <Path> <Item> 河流
河流线数据集。不需要高度值。
Stream <Path> 湖泊
湖泊面数据集。不需要高度值。
Lake <Path> 边界
边界面数据集。不需要高度值。
Boundary <Path> 参数设置:
Enforce
控制是否应用地形强化。
ENFORCE <ON | OFF | ON_WITH_SINK> 数据类型
输入数据的主要类型。
DATATYPE <CONTOUR | SPOT> Iterations
算法执行的最大迭代次数。
ITERATIONS <#> 粗糙度惩罚系数
表面粗糙度的测量指标。
ROUGHNESS_PENALTY <#> 离散误差系数
对输入栅格中的数据进行数据平滑处理的调整量。
DISCRETE_ERROR_FACTOR <#> 垂直标准差
输入数据 z 值的随机误差量。
VERTICAL_STANDARD_ERROR <#> 容差
第一个容差反映出高程数据相对于表面地形的准确性,而另一个容差则通过极大的界限值防止产生地形间隙。
TOLERANCES <#> <#> Z 限制
高度的下限和上限。
ZLIMITS <#> <#> 范围
最小 x、最小 y、最大 x 和最大 y 坐标限制。
EXTENT <#> <#> <#> <#> 像元大小
最终输出栅格的分辨率。
CELL_SIZE <#> 边距
像元中在指定输出范围和边界外进行插值的距离。
MARGIN <#> 输出:
输出河流要素
河流折线要素和山脊线要素的输出线要素类。
OUT_STREAM 输出汇点要素
其余汇点要素的输出点要素类。
OUT_SINK 输出诊断文件
诊断文件的位置和名称。
OUT_DIAGNOSTICS <Path> -
不要在参数文件中指定可选的输出要素数据集的路径。而要使用本工具对话框中的输出河流折线要素和输出其余汇点要素识别这些输出。
-
示例参数文件的内容如下所示:
Contour D:\data\contours2\arc HEIGHT Point D:\data\points2\point SPOTS Sink D:\data\sinks_200.shp Stream D:\data\streams\arc Lake D:\data\lakes\polygon Boundary D:\data\clipcov\polygon ENFORCE ON DATATYPE CONTOUR ITERATIONS 40 ROUGHNESS_PENALTY 0.00000000000 DISCRETE_ERROR_FACTOR 1.00000000000 VERTICAL_STANDARD_ERROR 0.00000000000 TOLERANCES 2.50000000000 100.00000000000 ZLIMITS -2000.00000000000 13000.00000000000 EXTENT -810480.62500000000 8321785.00000000000 810480.62500000000 10140379.00000000000 CELL_SIZE 1800.00000000000 MARGIN 20 OUT_STREAM OUT_SINK OUT_DIAGNOSTICS D:\data\ttr_diag.txt
语法
参数 | 说明 | 数据类型 |
in_parameter_file |
包含插值中所用输入和参数的待输入 ASCII 文本文件。 通常,此文件在上次运行地形转栅格时创建,同时还将指定可选的输出参数文件。 为了测试参数更改的结果,对此文件进行编辑并重新运行插值比每次正确地启用地形转栅格工具更容易。 | File |
out_stream_features (可选) |
河流折线要素的输出要素类。 | Feature Class |
out_sink_features (可选) |
其余汇点要素的输出要素类。 | Feature Class |
返回值
名称 | 说明 | 数据类型 |
out_surface_raster |
输出插值后的表面栅格。 | Raster |
代码示例
该示例根据定义输入点、线和面数据的参数文件创建符合真实地表的 TIFF 表面栅格。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outTTRByFile = TopoToRasterByFile("topotorasterbyfile.txt", "C:/sapyexamples/output/out_streams.shp") outTTRByFile.save("C:/sapyexamples/output/ttrbyfout.tif")
该示例根据定义输入点、线和面数据的参数文件创建符合真实地表的 Grid 表面栅格。
# Name: TopoToRasterByFile_Ex_02.py # Description: Interpolates a hydrologically correct # surface from point, line, and polygon data using # parameters specified in a file. # Requirements: Spatial Analyst Extension # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inParameterFile = "topotorasterbyfile.txt" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute TopoToRasterByFile outTTRByFile = TopoToRasterByFile(inParameterFile) # Save the output outTTRByFile.save("C:/sapyexamples/output/ttrbyfout02")