VPF 切片拓扑 (Coverage)
摘要
为矢量产品格式 (VPF) 数据库中的所有切片的 Coverage 创建交叉切片拓扑,或为 VPF 数据库中的单独切片创建拓扑。
此工具可用于 coverage 的后处理,以便导出到 VPF 输出。为提高效率,建议仅在将 VPF 库中的所有 coverage 从 ArcInfo 转换到 VPF 后,再构建交叉切片拓扑。
用法
-
军事标准 MIL-STD-2407(1996 年 6 月 28 日)可对交叉切片拓扑的定义进行优化。为符合新规范,“VPF 切片拓扑”命令已经更新。您可以使用可选参数来选择 93 或 96 VPF 标准。
-
“VPF 切片拓扑”既适用于 VPF 库中所有切片的 coverage,也适用于单个 coverage。最后一个可选参数 VPF_cover 可用于对应在其中填充交叉切片拓扑的特定 coverage 进行选择。不过,在将库中所有 coverage 从 ARC/INFO 转换到 VPF 格式后再执行“VPF 切片拓扑”,效率会更高。
-
使用 1993 VPF 标准的“VPF 切片拓扑”不会处理多条边在一个切片边界上重合的情况。“VPF 切片拓扑”无法了解到如何为每条边分配“左面”值和“右面”值。
-
1996 VPF 标准要求在连接的结点上执行交叉切片拓扑。为了能够正常地使用交叉切片,连接结点表中“first_edge”列的类型必须为 Triplet。
-
因为“VPF 切片拓扑”会对 VPF 数据库中的原始文件进行修改,所以在交叉切片处理之前了解 VPF 数据的要求对于该处理的正常进行很重要。创建 1996 交叉切片拓扑最重要的注意事项如下:
- 如果边与切片边界相接触,则接触点必须为结点。
- 切片边界上出现的所有结点必须存在于相邻切片(如果存在)内。
- 与内部切片重合的所有边必须同时存在于两个切片中。
- 所有切片边界的边必须是完全笔直的边。
语法
参数 | 说明 | 数据类型 |
VPF_library |
要为其创建交叉切片拓扑的 VPF 数据库的位置。 | Folder; VPF Library |
sig_digits (可选) |
软件在尝试匹配切片边界处的结点坐标时将要使用的数字位数。该数值越大,搜索容差越小。默认值为 4。 | Long |
VPF_standard (可选) |
要使用的 VPF 标准。VPF 标准可以通过两种方式定义交叉切片拓扑。
| Long |
spec_cover (可选) |
指定是要处理 VPF 库中的所有 coverage,还是只处理指定的 coverage。
| Folder;VPF Library |
代码示例
以下独立脚本演示如何将两个 coverage 导出到 VPF,然后为 VPF coverage 创建交叉切片拓扑。
# Name: VPFTile_Example.py # Description: Exports two coverages to VPF format then builds tile topology # Requirements: ArcInfo Workstation # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inCover1 = "coastb" inCover2 = "coastc" outFile1 = "C:/output/vpfdb/wlib/coast2" outFile2 = "C:/output/vpfdb/wlib/coast3" vpfLibrary = "C:/output/vpfdb" vpfStandard = 96 specCover = "ALL" # Execute VPFExport arcpy.VPFExport_arc(inCover1, outFile1) arcpy.VPFExport_arc(inCover2, outFile2) # Execute VPFTile arcpy.VPFTile_arc(vpfLibrary, "", vpfStandard, specCover)