上次我们对使用地形转栅格工具创建一个具有高层数据的插值面进行了初步的了解。

这次我们就来举例说明一下。

练习:创建一个水文表面

水上流动的计算机模拟非常依赖于输入高程表面的质量;表面的误差会降低分析的质量。在本练习中,将使用地形转栅格插值工具,在太浩湖附近为一个7平方公里的小区域创建准确的水文高程表面

预计完成时间:55分钟

要完成练习,您需要以下内容:

•ArcGIS Desktop 10.6(基本,标准或高级)

•ArcGIS Geostatistical Analyst

•ArcGIS Spatial Analyst

第1步:下载数据(https://www.esri.com/training/courses/57630433851d31e02a43eec8-16470/Content/dataDownload.html)

第2步:打开地图文档并启用Spatial Analyst扩展模块

启动ArcMap,浏览到C:\ EsriTraining \ PredictionSurfaces并打开TopoData.mxd。

所有要素图层均来自USGS数字线图(DLG)数据,并将作为地形转栅格工具的输入。山体阴影和海拔层来自30米的USGS DEM,供参考。

从“自定义”菜单中,选择“扩展”,选中“Spatial Analyst”复选框,单击关闭。

第3步:使用地形转栅格工具

在接下来的两个步骤中,将使用在地图中看到的点,线和面数据插值高程表面。

在ArcToolBox中打开地形转栅格工具

添加所有输入要素图层并设置每个输入的类型,如果它具有高程值,则必须设置包含这些高程值的字段的名称。

添加TopoSpots要素图层表。设置如下:

•“字段”:“Spot_Meter”。

•“类型”;“PointElevation”。

此要素类中的点是表面上未在轮廓数据中显示的重要位置(如山峰)的高程样本,并以海拔高度为单位进行测量。

添加TopoContours到要素图层表,设置如下:

•“字段”:“Spot_Meter”

•“类型”:“轮廓”。

轮廓线是最重要的输入。它们的顶点不仅用作高程样本,而且算法还分析它们的形状以检测脊和谷。但是,需要注意它们的z值通常有误差。例如,在USGS地形图上,z误差通常是轮廓间隔的正负的一半。有时,一张纸上的轮廓以米为单位,而另一张纸中的轮廓以英尺为单位。此外,有些情况下轮廓突然结束,这表明缺少数据或疏忽。

添加TopoStream到要素图层表,设置如下:

•“类型”:Stream。

流线是下一个最重要的输入。虽然它们没有高程值,但它们的位置用于调整表面插值以确保适当的排水。将溪流定向下坡至关重要。

添加TopoLakes到要素图层表设置如下: •“类型”:Lake。

•没有高程值。

在插值之后使用湖多边形以确保湖中的所有位置具有相同的高度:湖边界上的最低位置的高度。

添加TopoBoundary到要素图层表设置如下:

•“类型”:Boundary。

查看结果:

这里没有高程值。

此单个多边形之外的所有单元格都被赋予NoData值。多边形应小于其他输入的区域,以便工具可以剪切边缘错误。

在本练习中,您不会使用接收层。水槽是识别内部排水的真实区域的点特征,如沙子和砾石坑。它们很重要,因为该工具假定内插器创建的所有未识别的接收器都是错误的,并且填充它们。

输出表面栅格位置:自行设置

输出像元大小:键入10。

数据在UTM Zone 10N中,线性单位为米,这意味着单元格大小以米为单位。输出DEM也应该以米为单位,因为所有x,y,z坐标都是相同的单位。看一下轮廓,你可以看到,在最密集的部分,它们是正负10米。如果它们太大,则单元格中存在多个轮廓,ArcMap必须对它们进行平均。

输出范围:接受默认坐标。

像元间距:接受默认值20。

此参数控制在剪切曲面之前插值延伸到边界之外的距离。距离在单元格中指定,默认为20.如果插值超出范围(输入要素也应如此),则输出曲面的边缘更准确。当区域太大时经常使用此参数,在这种情况下,DEM创建必须是块。

插值中使用的最小和最大Z值:接受默认值(无)。

地形转栅格工具可以创建山丘和山谷。这些参数限制了插补器可以创建的z值的范围。通过将这些字段留空,使用默认值20%的实际输入范围。

地形强化:接受默认的Enforce。

此参数控制接收器的处理方式。 Enforce选项会删除所有接收器,包括真实接收器和虚假接收器。 No_Enforce选项不会删除任何接收器。 Enforce_With_Sink选项仅保留在Sink层中标识的那些接收器。

输入数据主要类型:接受Contour的默认值。

此参数指定轮廓线(轮廓线)或高程点(点)在算法内部生成流和脊的方式中更为重要。默认值为Contour。

最大迭代次数:接受默认值(无)。

此参数控制“地形转栅格”工具在内部创建曲面的次数。该工具使用多分辨率插值方法。可以增加更少接收器的迭代次数,但是,对于本练习,保留默认值。

它创建了第一个具有较大单元大小的表面,应用排水强制执行和接收器删除,然后再使用较小的单元进行插值。它将继续此过程,直到达到用户指定的单元格大小。

粗糙度惩罚系数:接受默认值(无)。

该参数对表面的粗糙度(斜率变化率)进行加权,并有助于使拟合表面更适当地跟随地形的突然变化,如脊和溪流。如果轮廓是主要输入,则默认值为0;如果点是主要输入,则默认值为0.5。通常接受默认值。

离散误差系数:接受默认值1。

此参数调整算法在内部栅格化输入要素时发生的平滑量。小于1的值不会平滑。

垂直标准差:接受默认值0。

此参数指定输入数据中随机z值错误的数量。如果您知道数据中存在严重的非系统垂直错误,则应将此参数设置为错误的标准偏差。通常,错误量未知,使用默认值0。

容差1:键入6。

此参数很重要,应始终进行设置。它控制排水执法和水槽清除。该算法不会删除比此值更深的接收器,这是输入数据中的系统误差量,以英尺或米为单位的z单位。

如果主输入是轮廓,则通常将该值设置为轮廓间隔的一半。如果主要输入是点,则将其设置为已知的标准错误。轮廓的默认值为2.5,点的默认值为0。轮廓间隔约为12米,因此将此参数设置为6米。轮廓实际上具有40英尺的间隔,但是z值被转换为米,因此它们将与x,y坐标具有相同的单位。

容差2:保留默认值100。

此参数可防止算法通过高于指定值(以z单位表示)的障碍创建流通道,例如尝试移除阻挡山谷的大坝。如果主输入是轮廓,则默认值为100;如果主输入是点,则默认值为200。

第4步:设置可选的输出参数

输出河流折线要素:浏览到.. \ EsriTraining \ PredictionSurfaces \ MyWork并键入Streams。

您可以生成脊的形状文件和算法在内部确定曲面形状的内部流线。可以将它们与现有的流和脊数据进行比较,以检查插值的质量。

输出剩余汇点要素:浏览到.. \ EsriTraining \ PredictionSurfaces \ MyWork并键入Sinks。

您可以生成未被算法删除的接收点的shapefile。任何剩余的接收器都可以帮助您找到排水执行算法无法解决的输入数据中的错误。将包含来自接收器输入的真实接收器,并且可用于验证它们未被移除。

输出诊断文件:浏览到.. \ EsriTraining \ PredictionSurfaces \ MyWork和typeDiagnostics.TXT。

您可以将所有设置保存到一个文件,当您在命令行或脚本中运行“按文件转换为栅格转换器”工具时,可以使用该文件来保存键入内容。

您可以将输出文本文件命名为包含指定的所有输入和参数的报告,以及在插值和排水执行的每次迭代期间生成的信息,例如已删除的接收器的数量。

输出河流和悬崖错误点要素:浏览到.. \ EsriTraining \ PredictionSurfaces \ MyWork并键入StreamErrors。

输出点要素类显示可能发生流和悬崖错误的位置。可以从点要素类中识别流在悬崖上具有闭环,分流和流的位置。这里没有悬崖,但可能存在流错误。

输出等值线错误点要素:浏览到.. \ EsriTraining \ PredictionSurfaces \ MyWork并键入ContourErrors。

可能错误的输出点要素类与输入轮廓数据有关。高度偏差超过轮廓值标准偏差五倍的轮廓(如输出栅格中所示)将报告给此要素类。通过代码1在此要素类中标记连接具有不同高程的其他轮廓的轮廓,这是轮廓标签错误的标志。

单击“确定”以运行“地形转栅格”工具。

查看结果

第5步:探索结果

在目录中,将结果图层移到顶部。

在目录中,关闭除结果图层和Sinks之外的所有图层。

将Sinks移动到目录的顶部。

查看结果

结果表面仍有一个水槽。然而,将它与八个相邻的单元进行比较,它并不重要(0.5米超过10米),输入轮廓通过这些单元中的许多单元。如果有更多的接收器,那么使用填充工具是个好主意。但是,您应该注意不要填充任何现有的水体,例如湖泊。

保存你的地图。

退出ArcMap。