配置 XML 构建器

XML 构建器的操作对象是基于 XMLBuilderDiagram XML 模式定义文件对 XML 数据进行操作。此 XML 数据可以来自于生成/更新逻辑示意图过程中所指定的输入文件,也可以使用外部组件在内存中自动生成。由同一 XML 数据生成的逻辑示意图的内容可能有所不同,这取决于 XML 属性页上的配置属性。

以下步骤主要介绍 XML 构建器属性页的配置。

首次显示 XML 构建器属性页时,打开的构建器属性 对话框如下所示:

XML 构建器属性页的默认状态
XML 构建器属性页 对话框分为四个部分:

步骤:
  1. 如果用于生成逻辑示意图内容的 XML 数据输入是由外部组件自动构建的,请在生成框中输入可用于生成此 XML 数据的 COM 类的 ProgID。

    ProgID 是由项目名称和组件类的类名称所组成的字符串。

    警告警告:

    指定的类必须实现 esriSchematicUI.olb 组件的 ISchematicXMLGenerate 接口。

    注注:

    如果未指定此“生成”参数,则用户必须在逻辑示意图开始生成时浏览至所需的输入 XML 文件并将其选中。

  2. 如果用于更新逻辑示意图内容的 XML 数据输入是由外部组件自动构建的,请在更新框中输入将用于更新此 XML 数据的 COM 类的 ProgID。

    ProgID 是由项目名称和组件类的类名称所组成的字符串。

    警告警告:

    指定的类必须实现 esriSchematicUI.olb 组件的 ISchematicXMLUpdate 接口。

    注注:

    如果未指定此“更新”参数,则用户必须在逻辑示意图开始更新时浏览至所需的输入 XML 文件并将其选中。

  3. 如果希望逻辑示意图链接与折点(如果输入 XML 数据中存在“折点”项)在 XML 构建器所构建的逻辑示意图中一同显示,请在几何选项部分选中初始化链接折点

    如果未选中此复选框(默认状态),即使输入 XML 数据中存在“折点”项,逻辑示意图链接也会绘制为端点之间的直线。

    警告警告:

    一些逻辑示意图布局算法会根据逻辑示意图中线段的实际方向执行 - 例如:“Geo – 部分重叠链接”、“相对主线”。如果要对逻辑示意图内容执行此类算法,需要选中“初始化链接折点”以获得理想的结果。

  4. 输入 XML 数据中的折点项包含大量折点时,如果希望 XML 构造器自动简化逻辑示意图链接形状,请选中简化线。然后,配置如何进行该简化:
    1. 指定可用于消除折点的最大允许偏移量
    2. 从右侧的下拉列表中选择偏移单位。
      注注:
      • 仅当选中初始化链接折点时,简化线复选框才启用。
      • 仅当选中简化线时,最大允许偏移量文本框及其右侧的偏移单位下拉列表才启用。

    逻辑示意图线简化应用针对“简化线”地理处理工具(当其配置为处理点移除运算符时)实施的相同的道格拉斯-普克算法。此简化是在不破坏其基本形状的前提下,移除逻辑示意图链接上多余的折弯和小的凹进和凸出。它将保留描绘逻辑示意图线基本形状的关键点,并移除其他所有点。

    注注:

    XML 构建器通常不需要进行逻辑示意图线简化,因为您可以控制用于逻辑示意图生成/更新的输入 XML 数据中的折点项。

  5. 在逻辑示意图模板尚不存在用于管理输入 XML 数据中不同 SchematicFeatureClass 项的逻辑示意图要素类时,如果希望 XML 构建器自动创建此类逻辑示意图要素类,请在其他部分选中自动创建逻辑示意图要素类

    如果未选中此复选框(默认状态),则 XML 构建器在运行时不会新建任何逻辑示意图要素类。例如,如果在输入 XML 数据中存在值为 Stations 的 SchematicFeatureClass 项,并且逻辑示意图模板中不存在用于管理这些 SchematicFeatureClass 项的逻辑示意图要素类,则在所生成的逻辑示意图中将不包括这些 XML 项的任何逻辑示意图要素。

    注注:

    选中此复选框后,如果在输入 XML 数据中检测到由某个逻辑示意图要素类管理的任何 LinkFeature 或 NodeFeature 项对应的 PropertySetProperty 项,并且该逻辑示意图要素类尚不存在 PropertySet 属性,则 XML 构建器还会自动创建 PropertySet 属性。如果未选中此复选框,并且在无相关 PropertySet 属性的情况下检测到 PropertySetProperty 项,则将忽略此信息。

  6. 如果输入 XML 数据中的 FeatureClassName 项与逻辑示意图模板的关联逻辑示意图要素类的名称不匹配,则必须在逻辑示意图要素类映射部分指定对应规则。

    如果希望输入 XML 文件中值为 FeatureClassNameN_InXMLFile 的所有 FeatureClassName 项自动匹配与逻辑示意图模板相关联的名为 SchematicFeatureClassNameN_ForSchDiagTemp 的逻辑示意图要素类,则必须按如下方式指定“逻辑示意图要素类映射”部分:

    FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
    
    如果输入 XML 文件中存在多个要指定关联逻辑示意图要素类名称的不同 FeatureClassName 项,则必须按下例所示每行指定一条映射规则:
    FeatureClassName1_InXMLFile=SchematicFeatureClassName1_ForSchDiagTemp
    FeatureClassName2_InXMLFile=SchematicFeatureClassName2_ForSchDiagTemp
    FeatureClassNameN_InXMLFile=SchematicFeatureClassNameN_ForSchDiagTemp
    

    也可以在此部分设置脚本,以便将输入 XML 数据中与特定 FeatureClassNameK_InXMLFile 要素类项关联的所有项目分派到若干个 SchematicFeatureClassNameN_ForSchDiagTemp 逻辑示意图要素类中。例如,如果指定以下脚本:

    Stations=StationsFeeder1 (Feeder="1")
    Stations=StationsFeeder2 (Feeder="2")
    Stations=StationsFeeder3 (Feeder="3")
    
    逻辑示意图要素类 StationsFeeder1、StationsFeeder2 和 StationsFeeder3 将自动用于要素类 XML 项 Stations,其中 Feeder 的 PropertySetProperty 值分别为 1、2 或 3。

相关主题

9/15/2013