FLOW-3D使用和导入光栅文件
就GIS应用而言,栅格数据是真实世界的抽象,其中空间数据表示为单元矩阵。数据的位置隐含在值的顺序中,并使用统一的x和y位置,以ASCII格式组织成行和列。行和列中的每个数据值表示一个数量。在FLOW-3D中,这可以是表面高程或表面粗糙度。如果是曲面高程,FLOW-3D将使用该信息基于高程值创建拓扑。如果是粗糙度,则数据表示表面变化的大小,或可与曼宁n相关。该信息最终用于施加流动阻力(摩擦系数)。本文介绍如何在FLOW-3D中对拓扑和表面粗糙度使用光栅文件。格式
此处显示将光栅文件读入FLOW-3D所需的格式。有六行标题数据,后面是表示表面高程或表面粗糙度的值的行和列矩阵。标题数据包括以下内容:
- ncols=数据列数(即x方向上的位置)
- nrows=数据行数(即y方向上的位置)
- xllcorner=标识光栅栅格中的x最小坐标。请注意,这些值右移半个光栅单元。它不在牢房边缘。
- yllcorner=标识光栅栅格中的y最小坐标。请注意,这些值向上移动了半个光栅单元。它不在牢房边缘。
- cellsize=每个数据点之间的x和y间距
- nodata_value=表示给定位置没有值

图1 光栅文件ASC格式
导入光栅文件
要导入光栅文件,请选择“网格和几何体”选项卡下的ASC按钮作为新组件,如图2所示。然后选择“添加”按钮并导航到该文件。添加文件并选择“确定”后,将出现一个提示,提示添加为实体或表面粗糙度。

图2 – 使用“网格和几何体”下的ASC按钮导入光栅文件
图3中的对话框用于选择是作为实体曲面还是作为表面粗糙度导入,它仅在添加新组件时显示。每当添加到现有组件时,都会自动确定类型以匹配现有组件定义的类型。如果类型为Solid,则每次导入都会添加一个子构件,该子构件被视为拓扑。如果类型为“表面粗糙度”,则每次导入都会添加一个子构件,该子构件被视为表面粗糙度。

图3 – 将光栅文件作为实体曲面或曲面拓扑导入
作为实体导入
要作为实体导入,请选择“实体”单选按钮并提供名称(如果需要)。请注意,对于光栅文件中的所有nodata_值数据点,GUI中有一个选项,用于将丢失的数据替换为表示高度的值。因此,创建一个地板。在GUI中,它位于表示拓扑的导入子组件的列表下方。
作为粗糙度导入
要导入为粗糙度,请选择“表面粗糙度”单选按钮并提供名称(如果需要)。导入后,组件类型将为“表面粗糙度”。还将提示输入所需的图例文件。该文件将光栅粗糙度文件中的整数粗糙度代码与FLOW-3D的组件粗糙度值相关联。
图例文件的格式是灵活的。标题中的文本信息是允许的,因为相关数据是从第一行数字开始读取的。数据由两列组成,可以用空格、制表符或逗号分隔。第一列对应于粗糙度文件中的整数代码,第二列定义FLOW-3D的粗糙度。
图例文件将添加到全局列表下的几何图形树结构下。

图4 – 与光栅粗糙度数据一起使用的图例文件

图5 – 网格和几何图形下粗糙度文件的路径
将粗糙度应用于组件
图6显示了设置的树结构,其中组件1使用作为拓扑导入的光栅文件表示实体。组件2使用作为粗糙度导入的光栅文件定义空间变化的表面粗糙度,该光栅文件还包括关联的图例文件。如图所示,全局列表下有一个指向图例文件的路径。组件1的组件类型为“实体”。部件2的部件类型为“表面粗糙度”。

图6 – 组件1是高程, 组件2 是粗糙度
“表面粗糙度”组件(组件2)定义的空间变化表面粗糙度通过在组件1的“表面属性”部分中选择“使用粗糙度文件”标志映射到拓扑组件(组件1)(如图7所示)。此标志指示解算器在零部件2与零部件1重叠的位置使用光栅数据定义的表面粗糙度。如果拓扑光栅文件在该位置具有“nodata_值”,则它将使用为零部件1定义的零部件/子零部件粗糙度。

图7 – 组件1是高程, 根据组件2使用复选框应用粗糙度
变换中心
由于导入的光栅数据的坐标通常会远离坐标中心0,0,0,因此可以选择将旋转中心更改为有利于旋转和缩放的位置。如果未设置,则围绕坐标轴中心进行旋转和缩放。这使得在导入的几何体周围导航变得困难。
若要使零部件围绕局部坐标中心旋转,请选择其在每个方向上的最小范围和最大范围的平均值。例如,如果x-min为9.98e6米,x-max为9.96e6米,则平均值(中间)为9.97e6米。相同的逻辑适用于y方向。图8是为组件1设置转换中心的示例。

图8 –设置用于旋转和缩放的变换中心
总结
光栅文件是一种常见的地理信息形式,可用于拓扑和表面粗糙度。能够将这些数据直接导入FLOW-3D,使得导入数据的过程简单明了。本教程介绍了该过程,以便用户了解如何将光栅数据导入并应用于其模型。
