描述
为矢量产品格式 (VPF) 数据库中的所有切片的 Coverage 创建交叉切片拓扑,或为 VPF 数据库中的单独切片创建拓扑。
可使用此工具对导出到 VPF 输出的 VPF coverage 或库进行后处理。为提高效率,建议仅在完成转换 VPF 库中的所有 coverage 后构建交叉切片拓扑。
使用方法
军事标准 MIL-STD-2407(1996 年 6 月 28 日)可对交叉切片拓扑的定义进行优化。为符合新规范,“VPF 切片拓扑”命令已经更新。您可以使用可选参数来选择 93 或 96 VPF 标准。
“VPF 切片拓扑”既适用于 VPF 库中所有切片的 coverage,也适用于单个 coverage。最后一个可选参数 VPF_cover 可用于对应在其中填充交叉切片拓扑的特定 coverage 进行选择。不过,在将库中所有 coverage 从 VPF 格式转换后执行“VPF 切片拓扑”效率会更高。
使用 1993 VPF 标准的“VPF 切片拓扑”不会处理多条边在一个切片边界上重合的情况。“VPF 切片拓扑”无法了解到如何为每条边分配“左面”值和“右面”值。
1996 VPF 标准要求在连接的结点上执行交叉切片拓扑。为了能够正常地使用交叉切片,连接结点表中“first_edge”列的类型必须为 Triplet。
因为“VPF 切片拓扑”会对 VPF 数据库中的原始文件进行修改,所以在交叉切片处理之前了解 VPF 数据的要求对于该处理的正常进行很重要。创建 1996 交叉切片拓扑最重要的注意事项如下:
- 如果边与切片边界相接触,则接触点必须为结点。
- 切片边界上出现的所有结点必须存在于相邻切片(如果存在)内。
- 与内部切片重合的所有边必须同时存在于两个切片中。
- 所有切片边界的边必须是完全笔直的边。
语法
arcpy.arc.VPFTile(VPF_library, {sig_digits}, {VPF_standard}, {spec_cover})
参数 | 说明 | 数据类型 |
VPF_library | 要为其创建交叉切片拓扑的 VPF 数据库的位置。 | Folder |
sig_digits (可选) | 软件在尝试匹配切片边界处的结点坐标时将要使用的数字位数。该数值越大,搜索容差越小。默认值为 4。 | Long |
VPF_standard (可选) | 要使用的 VPF 标准。VPF 标准可以通过两种方式定义交叉切片拓扑。
| Long |
spec_cover (可选) | 指定是要处理 VPF 库中的所有 coverage,还是只处理指定的 coverage。
| String |
代码示例
VPFTile 示例(独立脚本)
以下独立脚本演示如何将两个 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)
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 已安装 ArcInfo Workstation