传递位移 (制图)

描述

解决道路冲突工具和合并分开的道路工具中的道路校正所产生的位移传递到相邻要素,以重新建立空间关系。

解决道路冲突工具和合并分开的道路工具的可选输出是位移要素类。位移要素存储运行这些工具前数据的初始状态所发生的变化量和方向。然后,可从不同专题将位移信息应用于近处要素,以确保使用该工具保留空间关系。例如,如果道路被解决道路冲突工具分隔,通常有必要沿着道路相应平移相邻的建筑物。

警告:
该工具不会生成输出图层,而是更改输入图层源要素类的几何。强烈建议您在运行此工具前先复制输入要素。

警告:

如果对同一数据集多次运行此工具,则将传递累积的位移。在某些情况下,可能会将要素移动到距其原始位置越来越远的位置,这样可能导致异常和不需要的结果。

使用方法

  • 将根据位移要素中包含的矢量位移对输入要素的位置进行校正。校正是对所有位移的折衷处理,这样,距输入要素非常近的较大位移会比距输入要素较远的较小位移具有更大影响。概念上,此操作类似橡皮页变换过程,这一过程会将各要素在不同方向上移动不同的幅度,从而重新调整到它们与道路的原始空间关系。

  • 此工具无法解决图形冲突,实际上还可能产生新的冲突。可使用检测图形冲突工具检查所产生的拓扑错误。如果要使用此工具传递位移从而构建要素,请考虑在传递操作后运行解决建筑物冲突工具。

  • 该工具用于由解决道路冲突工具和合并分开的道路工具生成的位移输出,在处理大型数据集时,可以将这两样工具启用为通过分区运行(使用 Cartographic Partitions 地理处理环境变量)。在这种情况下,会生成一个单独的无缝位移要素类。尽管如果生成时带有分区,该要素类可能会很大,它保存的信息却并不复杂。该工具能够在不使用分区的情况下,将位移面作为输入管理。有关处理大型数据集的详细信息,请参阅使用分区概化大型数据集

语法

arcpy.cartography.PropagateDisplacement(in_features, displacement_features, adjustment_style)
参数说明数据类型
in_features

包含可能存在冲突的要素的输入要素图层。所包含的要素可以是点、线或面。

Feature Layer
displacement_features

解决道路冲突工具或合并分开的道路工具创建的位移面要素,其中包含发生的道路位移的程度和方向。将通过这些面确定要传递到输入要素的位移量。

Feature Layer
adjustment_style

定义移动输入要素时所要使用的校正类型。

  • AUTO此工具将确定各输入要素是适合 SOLID 校正还是适合 ELASTIC 校正。通常,具有正交形状的要素将应用 SOLID 校正,而有机形状的要素将应用 ELASTIC 校正。这是默认设置。
  • SOLID要素将被转换。所有折点将向同一方向移动相同的距离。可能会产生拓扑错误。当输入要素有着规则几何形状时,此选项最有用。
  • ELASTIC可单独移动要素的各折点以使要素最大程度地适应道路网。可能会略微修改要素的形状。不太可能产生拓扑错误。此选项仅应用于线和面输入要素。此选项对有机形状的输入要素最有用。
String

派生输出

名称说明数据类型
out_features

更新后的输入要素。

要素图层

代码示例

PropagateDisplacement 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 PropagateDisplacement 工具。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.PropagateDisplacement_cartography("footprints.lyr", "displacement.lyr", 
                                        "AUTO")
PropagateDisplacement 示例 2(独立脚本)

此独立脚本显示的是使用 PropagateDisplacement 工具的示例。

# Name: PropagateDisplacement_standalone_script.py
# Description: Propagate the displacement of road features to nearby buildings
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
in_features = "footprints.lyr"
displacement_features = "displacement.lyr"
adjustment_style = "AUTO"

# Execute Propagate Displacment
arcpy.PropagateDisplacement_cartography(in_features, displacement_features, adjustment_style)

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 是

相关主题