依据文件实现地形转栅格 (3D Analyst)

需要 Spatial Analyst 许可。

需要 3D Analyst 许可。

摘要

通过文件中指定的参数将点、线和面数据插值成符合真实地表的栅格表面。

了解有关地形转栅格工具工作原理的详细信息

使用情况

  • 参数文件的结构为:首先列出输入数据集,然后列出各种参数设置,最后列出输出选项。

    输入数据用于识别输入数据集及各个字段(如果适用)。共有九种输入类型:等值线、点、汇、河流、湖泊、边界、悬崖、排除的区域和沿海面。您可以根据需要选择使用合理数量的输入。输入数据的键入顺序不会对结果造成任何影响。<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 <ON | OFF | ON_WITH_SINK>

    数据类型

    输入数据的主要类型。

    DATATYPE <CONTOUR | SPOT>

    迭代

    算法执行的最大迭代次数。

    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

参数

标注说明数据类型
输入参数文件

包含插值中所用输入和参数的待输入 ASCII 文本文件。

通常,此文件在上次运行地形转栅格时创建,同时还将指定可选的输出参数文件。

为了测试参数更改的结果,对此文件进行编辑并重新运行插值比每次正确地启用地形转栅格工具更容易。

File
输出表面栅格

输出插值后的表面栅格。

其总为浮点栅格。

Raster Dataset
输出河流折线要素
(可选)

河流折线要素的输出要素类。

折线要素按如下方式编码:

1. 不在悬崖上的输入河流线。

2. 在悬崖上的输入河流线(瀑布)。

3. 清除伪汇的地形强化。

4. 从等值线拐角确定的河流线。

5. 从等值线拐角确定的山脊线。

6. 未使用代码。

7. 数据河流线边条件。

8. 未使用代码。

9. 表示大型高程数据间隙的线。

Feature Class
输出遗留汇点要素
(可选)

遗留汇点要素的输出要素类。

Feature Class
输出残差点要素
(可选)

由局部离散误差进行衡量的所有大高程残差的输出点要素类。

应对所有大于 10 的比例缩放残差进行检查,查看输入高程和河流数据是否存在错误。大比例缩放残差表示输入高程数据和河流线数据之间存在冲突。这可能也与不良的自动地形强化有关。这些冲突可以通过在首次检查和纠正现有输入数据中的错误后提供附加的流线和/或点高程数据来进行修复。未大比例缩放的残差通常表示存在输入高程误差。

Feature Class
输出河流和悬崖误差点要素
(可选)

可能出现河流和悬崖错误的位置的输出点要素类。

可从点要素类来识别其河流有闭合环、支流和悬崖上河流的位置。还可识别相邻像元与悬崖高低边不一致的悬崖。这可以理想地指出方向错误的悬崖。

点按如下方式编码:

1. 数据河流线网络中的真回路。

2. 以外栅格编码的河流网络中的回路。

3. 通过连接湖泊的河流网络中的回路。

4. 支流点。

5. 悬崖上的河流(瀑布)。

6. 表示从湖泊流出多条河流的点。

7. 未使用代码。

8. 悬崖旁高度与悬崖方向不一致的点。

9. 未使用代码。

10. 已移除圆形支流。

11. 无流入河流的支流。

12. 不同于出现数据河流线支流位置的输出像元中的栅格化支流。

13. 处理边条件时出错 - 非常复杂的河流线数据的指示符。

Feature Class
输出等值线错误点要素
(可选)

可能发生的与输入等值线数据相关的错误的输出点要素类。

高度偏差达到输出栅格所示等值线值标准偏差五倍以上的等值线会报告至此要素类。与不同高程值的等值线相连接的等值线在此要素类中会使用代码 1 进行标记,这是等值线标注错误的明确标志。

Feature Class

arcpy.ddd.TopoToRasterByFile(in_parameter_file, out_surface_raster, {out_stream_features}, {out_sink_features}, {out_residual_feature}, {out_stream_cliff_error_feature}, {out_contour_error_feature})
名称说明数据类型
in_parameter_file

包含插值中所用输入和参数的待输入 ASCII 文本文件。

通常,此文件在上次运行地形转栅格时创建,同时还将指定可选的输出参数文件。

为了测试参数更改的结果,对此文件进行编辑并重新运行插值比每次正确地启用地形转栅格工具更容易。

File
out_surface_raster

输出插值后的表面栅格。

其总为浮点栅格。

Raster Dataset
out_stream_features
(可选)

河流折线要素的输出要素类。

折线要素按如下方式编码:

1. 不在悬崖上的输入河流线。

2. 在悬崖上的输入河流线(瀑布)。

3. 清除伪汇的地形强化。

4. 从等值线拐角确定的河流线。

5. 从等值线拐角确定的山脊线。

6. 未使用代码。

7. 数据河流线边条件。

8. 未使用代码。

9. 表示大型高程数据间隙的线。

Feature Class
out_sink_features
(可选)

遗留汇点要素的输出要素类。

Feature Class
out_residual_feature
(可选)

由局部离散误差进行衡量的所有大高程残差的输出点要素类。

应对所有大于 10 的比例缩放残差进行检查,查看输入高程和河流数据是否存在错误。大比例缩放残差表示输入高程数据和河流线数据之间存在冲突。这可能也与不良的自动地形强化有关。这些冲突可以通过在首次检查和纠正现有输入数据中的错误后提供附加的流线和/或点高程数据来进行修复。未大比例缩放的残差通常表示存在输入高程误差。

Feature Class
out_stream_cliff_error_feature
(可选)

可能出现河流和悬崖错误的位置的输出点要素类。

可从点要素类来识别其河流有闭合环、支流和悬崖上河流的位置。还可识别相邻像元与悬崖高低边不一致的悬崖。这可以理想地指出方向错误的悬崖。

点按如下方式编码:

1. 数据河流线网络中的真回路。

2. 以外栅格编码的河流网络中的回路。

3. 通过连接湖泊的河流网络中的回路。

4. 支流点。

5. 悬崖上的河流(瀑布)。

6. 表示从湖泊流出多条河流的点。

7. 未使用代码。

8. 悬崖旁高度与悬崖方向不一致的点。

9. 未使用代码。

10. 已移除圆形支流。

11. 无流入河流的支流。

12. 不同于出现数据河流线支流位置的输出像元中的栅格化支流。

13. 处理边条件时出错 - 非常复杂的河流线数据的指示符。

Feature Class
out_contour_error_feature
(可选)

可能发生的与输入等值线数据相关的错误的输出点要素类。

高度偏差达到输出栅格所示等值线值标准偏差五倍以上的等值线会报告至此要素类。与不同高程值的等值线相连接的等值线在此要素类中会使用代码 1 进行标记,这是等值线标注错误的明确标志。

Feature Class

代码示例

TopoToRasterByFile 示例 1(Python 窗口)

该示例根据定义输入点、线和面数据的参数文件创建符合真实地表的 TIFF 表面栅格。

import arcpy
from arcpy import env  
env.workspace = "C:/data"
arcpy.TopoToRasterByFile_3d("topotorasbyfile.txt", "c:/output/ttrbf_out.tif",
                            "c:/ouput/outstreams.shp", "#", "c:/ouput/outresid.shp")
TopoToRasterByFile 示例 2(独立脚本)

该示例根据定义输入点、线和面数据的参数文件创建符合真实地表的 Grid 表面栅格。

# Name: TopoToRasterByFile_3d_Ex_02.py
# Description: Interpolates a hydrologically correct surface from 
#    point, line, and polygon data using parameters specified in a file.
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"

# Set local variables
inParameterFile = "topotorasterbyfile.txt"
outRaster =  "C:/output/ttrbyfout02"

# Execute TopoToRasterByFile
arcpy.ddd.TopoToRasterByFile(inParameterFile, outRaster)

相关主题