模式编辑器

使用模式编辑器可以查看或更改整个模式层次结构(模式、要素类和特性)的设置。

用户不能通过模式编辑器控制模式的每个方面。例如,不能创建对象或关联特性或指定系统自动生成特性值。但是,如果已设置模式的这些属性,则模式编辑器将显示当前设置。

用户会看到哪些设置取决于提供程序支持哪些设置。例如,如果提供程序不支持版本控制,则不会显示“长事务”

输入模式

输入用户输出 XML 模式,并使用该模式为其他数据存储定义新模式。这一功能对于基于同一模式创建多个数据存储非常有用

输出模式

将选定的模式输出为 XML 文件,可以与其他 AutoCAD Map 3D 工具集或 GIS 软件用户共享在模式编辑器中创建的模式、将在模式编辑器中创建的模式备份为 XML 文件,或在原始数据源或目录变为不可用时保存正在进行的工作。

新建模式

在新的或现有的要素源中,为数据库 FDO Provider(Microsoft SQL Server、MySQL 或者 Oracle)或 SDF 数据存储定义一个新模式。用户不能为现有的 SHP 要素源创建模式,但是可以创建基于文件的新数据存储,并在创建过程中为其创建一个新模式。

新建要素类

在右侧选择模式条目,单击“新建要素类”,然后在窗口的左侧指定新要素类的信息。

新建特性

为右侧的特性选择要素类条目,然后单击“新建特性”。在窗口左侧指定特性的信息。

模式设置

输入模式名称

输入将显示在“模式”树中的名称。它必须符合提供程序的命名规则。

注:

您不能更改 SQLite 数据存储的模式名称。模式名称必须为“默认”。此外,对于 SQLite 模式,您不能在模式或要素类的“说明”字段中添加注释。

说明

输入模式的说明(可选)。

要素类设置

名称

输入将显示在“模式”树中的要素类名称。它必须符合提供程序的命名规则。

说明

输入要素类的说明(可选)。

类型

为具有关联几何图形的类选择“要素类”。为可用作独立或包含的类的非空间数据选择“非要素类”

对于大多数提供程序,要素类均需要具有唯一的标识符以与其他要素相区别(除非要素类具有从中继承标识符的基本类)。

非要素类与其他类没有关联,而且需要一个唯一标识符。用作包含的类时,它定义另一个非要素类或要素类的特性。例如,Sidewalk 可以是 Road 要素类的一个特性;而 Sidewalk 类定义 Road.Sidewalk 特性。在这种情况下,Sidewalk 类不需要标识特性,尽管可以具有一个标识特性。

基本要素类

如果此要素类继承自其他要素类,请选择该超级类;否则,请选择“无”。此设置仅适用于要素类(不适用于非要素类),而且只有在提供程序支持继承的情况下才可用。

抽象

如果该要素类为抽象类,请单击“是”。不能为抽象类创建要素,但可以将抽象类用作基本类。此设置仅适用于要素类(不适用于非要素类),而且只有在提供程序支持继承的情况下才可用。

指定标识符特性和顺序

指定构成此要素类唯一标识符(适用于非空主键值)的特性。为简单标识符指定一个特性,或为复杂标识符指定多个特性。(某些提供程序仅支持简单标识符)。在创建任何其他特性之前,请先创建这些特性。使用箭头按钮记录特性。

将要素检入数据存储之前,必须为该要素的任何非空特性指定一个值。如果不这样做,则无法检入要素。

通常,标识符特性使用一个自动生成的整数。这表示向该要素类添加新要素时,这些新要素将自动接收自动生成的、唯一的标识符。如果没有为该特性指定自动生成的整数,则必须为使用该特性的每个新要素手动输入一个唯一标识符。

指定唯一约束和顺序

指定将要素添加至该要素类必须满足的条件。在“约束”框中为该要素类输入一个约束,然后单击“新建”应用该约束。如有必要,可创建其他约束。使用箭头按钮记录约束。要删除一个约束,请将其选定,然后单击“删除”。此设置仅在提供程序支持约束时可用。约束的语法由提供程序指定。

锁定

指定检出要素的用户是否控制该要素检回前不被其他用户使用。此设置仅应用到支持锁定的提供程序。

长事务

指定是否启用长事务。长事务将有条件更改分组为一个或多个要素。长事务可以创建一个或一组要素的不同版本。此设置仅应用到支持版本控制的提供程序。

特性设置

名称

输入将显示在“模式”树中的特性的名称。它必须符合提供程序的命名规则。

每个特性均是要素类的单个属性。例如,“道路”要素类可以具有“名称”、“修筑日期”或“位置”特性。

类型

为非空间数据选择“数据”。为定义对象形状的特性选择“几何图形”

数据特性的数据类型为布尔运算、字节、日期/时间、小数、单精度、双精度、Int16、Int32、Int64 或字符串。例如,“道路”要素可以具有称为“修筑日期”(其数据类型为日期/时间)的数据特性。

默认的“几何图形”特性指定以下四种形状之一:点(零维)、曲线/直线(一维)、曲面/多边形(二维)和实体(三维)。要素类具有一个主几何图形特性,但是还可以具有其他几何图形特性。几何图形特性与空间上下文相关联。几何图形特性的所有实例必须具有相同的坐标尺寸。并非所有提供程序均支持所有几何图形类型或所有维度;例如,SHP 仅支持 XY 点,而 Oracle 支持 XY、XYZ、XYZM 和 XYM 点。默认为 XY。此外,它可以具有说明高程和测量的属性:适用于 Z 的 HasElevation 和适用于 M 的 HasMeasure。

要素类具有一个主几何图形特性,但是还可以具有其他几何图形特性。几何图形特性与空间上下文相关联。几何图形特性的所有实例必须具有相同的坐标尺寸。并非所有提供程序均支持所有几何图形类型或所有维度;例如,SHP 仅支持 XY 点,而 Oracle 支持 XY、XYZ、XYZM 和 XYM 点。默认为 XY。此外,它可以具有说明高程和测量的属性:适用于 Z 的 HasElevation 和适用于 M 的 HasMeasure。

关联特性可能会显示在列表中,但 AutoCAD Map 3D 工具集不支持此特性。仅当现有数据使用此特性类型并要在将其移动到其他的数据存储后仍保留该数据时,才选择此特性类型。

说明

输入特性的说明(可选)。

系统生成

用户无法设置该选项,其表示该特性在现有模式下的当前设置。“是”表示系统将为该特性自动生成值。通常,将自动生成标识符特性,其值用于唯一标识每个要素。

数据属性

单击“模式”树中的属性名称可显示其说明。如果可以更改或指定某个特性的值,则会在其字段中显示向下箭头或闪烁的光标,可以从中选择或输入值。

列表会动态更改,以显示适用于选定特性类型的不同属性。

注:
以下警告适用于某些提供程序:
  • 您可以在 SQLite 模式下约束字符串特性的默认长度。但是,违反约束时,AutoCAD Map 3D 工具集不会生成错误。此违反会降低数据存储的性能。例如,您将字符串字段约束为 2 个字符,然后输入 3 个字符,系统不会生成错误消息。AutoCAD Map 3D 工具集会保留约束信息,举例来说,这样便于到其他数据提供程序的海量复制可以生成所需的约束。
  • 您不能将 SQLite 特性设置为只读。
  • 十进制数据类型实际上使用的是双精度数据类型。因此,许多提供程序不会在检入数据时检查小数位数。