前页 | 后页 |
将ArcGIS构造型应用于抽象类
使用用于ArcGIS的Enterprise Architect UML配置文件,可以在地理数据库架构中的要素类上指定几何Enterprise Architect型。几何构造型包括“点”,“折线”,“多边形”和“多点”等。 ArcGIS Toolbox为每种几何提供方便的图标,因此您可以将原型化的类拖放到可立即导出的地理数据库设计模型中。这些类称为具体类。由于其UML属性IsAbstract的值为False,因此将直接在地理数据库模式中实现它们。
但是,有时在抽象UML类上指定几何构造型很有用,以便多个具体类可以继承几何以及Tagged值和抽象类中定义的任何字段。本示例将房屋和车库建模为点要素类。 “房屋”类和“车库”类都继承自名为“建筑”的抽象类的“ StreetAddress”字段。
您可以通过在抽象类上指定构造型并为“房屋”和“车库”使用未定型的具体类来创建等效模型,如下所示:
刻板化抽象类而不是每个具体类的定型的优点(尤其是当您拥有许多此类派生的要素类时):
- 在设计期间更容易更改几何形状;您只需对抽象的类构造型进行一次更改,然后自动将其应用于每个具体的类
- 首先,创建模型更快,因为您只需要编辑一组与构造型相关的标记值。具体的类可能不必复制(或覆盖)与其继承的几何构造型相关的任何标记值
- 出于同样的原因,整体模型更小,更简单
在模型中创建带有几何图形的抽象类
当一个类的UML属性“ Abstract”设置为True时,它被认为是抽象的。使用ArcGIS工具箱中的“抽象类”图标创建类时,“抽象”属性将自动设置为True。您还可以在“类”“属性”对话框的“详细信息”选项卡上为任何类手动设置属性。
步 |
行动 |
也可以看看 |
---|---|---|
1个 |
在模型中打开相关图。 |
|
2 |
选择ArcGIS Toolbox的“ Core”页面(单击以显示“ Find Toolbox Item”对话框并指定“ ArcGIS Core”),然后将“ Abstract Class”图标拖到该图上以创建该元素。 |
|
3 |
如果“属性”对话框未自动显示,请双击“抽象类”元素。 |
|
4 |
在“属性”对话框的“常规”页面上,单击“定型”字段按钮,然后在“定型为类”对话框中,将“配置文件”设置为“ ArcGIS”,然后根据需要单击复选框几何定型。 |
刻板印象选择器 |
创建一个继承抽象类的几何构造型的具体类
当您将模型导出为地理数据库架构时,系统会将抽象类的几何构造型应用于其任何派生的具体类。此外,导出器将添加任何缺少的“系统级别”字段。例如,一个类不必指定或继承一个名为“ OBJECTID”的字段。对于“形状”,“形状长度”和“形状区域”字段也是如此。尽管如果导出器在继承层次结构中的某个位置建模,则将使用这些字段,但是它将根据需要自动生成它们的有效实例。
步 |
行动 |
也可以看看 |
---|---|---|
1个 |
打开包含抽象类的图。 |
|
2 |
选择ArcGIS Toolbox的“ Core”页面(单击以显示“ Find Toolbox Item”对话框并指定“ ArcGIS Core”),然后将“ Concrete Class”图标拖动到图上以创建元素。 |
|
3 |
单击工具箱中的Generalization图标,然后单击并将光标从具体的Class拖到抽象的Class。 |
|
4 |
保存您的图。 |
笔记
- 任何没有构造型且不继承构造型的具体类都将作为表(ObjectClass)导出;如果未在模型中定义,则还将插入其OBJECTID字段
- 具体的类只能继承抽象祖先类的几何构造型或«ObjectClass»构造型。当前, Enterprise Architect不支持从其他具体类的Enterprise Architect型继承
- 除了继承构造型,具体类还继承祖先抽象类的字段
- 您可以在继承层次结构的任何级别上从抽象类继承构造型。例如,指定几何的抽象类可以是具体类的祖父母,而不是父类
- ArcGIS或Enterprise Architect的ArcGIS配置文件都不支持单个要素类的多个形状。因此,如果一个具体的类继承了多个几何定型抽象类,那将是一个建模错误。
- 如果您在其父抽象类之一中已经存在的具体类上指定给定标签,则具体类具有优先级,并且其标记值将导出到架构
- Enterprise Architect不需要您在图表上显示对象和要素Esri类,甚至不需要将它们包括在模型中,因为当您将几何或ObjectClass构造型应用于类时,系统会隐式地应用它们的特征
- 但是,包括对象和要素Esri类以及与它们的模型通用链接并不是错误,即使它们通常未标记为抽象