依据文件实现地形转栅格 (空间分析)
用法
-
参数文件的结构为:首先列出输入数据集,然后列出各种参数设置,最后列出输出选项。
输入数据用于识别输入数据集及各个字段(如果适用)。共有九种输入类型:等值线、点、汇点、河流、湖泊、边界、悬崖、排除的区域和沿海面。您可以根据需要选择使用合理数量的输入。输入数据的键入顺序不会对结果造成任何影响。<Path> 表示到数据集的路径,<Item> 表示字段名,而 <#> 则表示要输入的值。
下表列出了所有参数、每个参数的定义及其语法。
参数
定义
语法
输入数据集:
等值线
包含具有高度值项的等值线数据集。
Contour <Path> <Item> 点
包含具有高度值项的点数据集。
Point <Path> <Item> 汇点
包含汇位置的点数据集。如果数据集包含汇的高程值,请将该字段名称指定为 <Item>。如果仅使用汇的位置,请将 <Item> 设为 NONE。
Sink <Path> <Item> 河流
河流线数据集。不需要高度值。
Stream <Path> 湖泊
湖泊面数据集。不需要高度值。
Lake <Path> 边界
边界面数据集。不需要高度值。
Boundary <Path> 悬崖
悬崖的线数据集。Cliff 没有 Field 选项。
Cliff <Path> 排除
输入数据应被忽略的区域的排除面数据集。Exclusion 没有 Field 选项。
Exclusion <Path> 海岸
包含沿海地区轮廓的海岸面数据集。Coast 没有 Field 选项。
Boundary <Path> 参数设置:
Enforce
控制是否应用地形强化。
ENFORCE <ON | OFF | ON_WITH_SINK> 数据类型
输入数据的主要类型。
DATATYPE <CONTOUR | SPOT> Iterations
算法执行的最大迭代次数。
ITERATIONS <#> 粗糙度惩罚系数
表面粗糙度的测量指标。
ROUGHNESS_PENALTY <#> 剖面曲率粗糙度惩罚系数
剖面曲率粗糙度惩罚系数是一个可用于部分地替换总曲率的局部适用惩罚系数。
PROFILE_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> 输出残差点要素
由局部离散误差进行衡量的所有大高程残差的输出点要素类。
OUT_RESIDUALS 输出河流和悬崖点要素
可能出现河流和悬崖错误的位置的输出点要素类。
OUT_STREAM_CLIFF_ERRORS 输出等值线错误点要素
可能发生的与输入等值线数据相关的错误的输出点要素类。
OUT_CONTOUR_ERRORS -
不要在参数文件中指定可选的输出要素数据集的路径。而要使用本工具对话框中的输出河流折线要素和输出其余汇点要素识别这些输出。
-
示例参数文件的内容如下所示:
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 Cliff D:\data\cliffs.shp ENFORCE ON DATATYPE CONTOUR ITERATIONS 40 ROUGHNESS_PENALTY 0.0 PROFILE_PENALTY 0.5 DISCRETE_ERROR_FACTOR 1.0 VERTICAL_STANDARD_ERROR 0.0 TOLERANCES 2.5 100.0 ZLIMITS -2000.0 13000.0 EXTENT -810480.625 8321785.0 810480.625 10140379.0 CELL_SIZE 1800.00000000000 MARGIN 20 OUT_DIAGNOSTICS D:\data\ttr_diag.txt
语法
参数 | 说明 | 数据类型 |
in_parameter_file |
包含插值中所用输入和参数的待输入 ASCII 文本文件。 通常,此文件在上次运行地形转栅格时创建,同时还将指定可选的输出参数文件。 为了测试参数更改的结果,对此文件进行编辑并重新运行插值比每次正确地启用地形转栅格工具更容易。 | File |
out_stream_features (可选) |
河流折线要素的输出要素类。 拆线要素按如下方式编码:
| Feature Class |
out_sink_features (可选) |
其余汇点要素的输出要素类。 | Feature Class |
out_residual_feature (可选) |
由局部离散误差进行衡量的所有大高程残差的输出点要素类。 应对所有大于 10 的比例缩放残差进行检查,查看输入高程和河流数据是否存在错误。大比例缩放残差表示输入高程数据和河流线数据之间存在冲突。这可能也与不良的自动地形强化有关。这些冲突可以通过在首次检查和纠正现有输入数据中的错误后提供附加的流线和/或点高程数据来进行修复。未大比例缩放的残差通常表示存在输入高程误差。 | Feature Class |
out_stream_cliff_error_feature (可选) |
可能出现河流和悬崖错误的位置的输出点要素类。 可从点要素类来识别其河流有闭合环、支流和悬崖上河流的位置。还可识别相邻像元与悬崖高低边不一致的的悬崖。这可以理想地指出方向错误的悬崖。 点按如下方式编码:
| Feature Class |
out_contour_error_feature (可选) |
可能发生的与输入等值线数据相关的错误的输出点要素类。 高度偏差达到输出栅格所示等值线值标准偏差五倍以上的等值线会报告至此要素类。与不同高程值的等值线相连接的等值线在此要素类中会使用代码 1 进行标记,这是等值线标注错误的明确标志。 | 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", "#",
"C:/sapyexamples/output/out_resids.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, "#", "C:/sapyexamples/output/out_resids2.shp")
# Save the output
outTTRByFile.save("C:/sapyexamples/output/ttrbyfout02")