前页 后页

导出模块化ArcGIS架构

在Enterprise Architect ,除了导出整个ArcGIS工作区之外,还可以导出部分架构。如果您拥有大型的地理数据库架构(如行业参考模型中所定义),这将非常有用。在某些情况下,您可能需要整个架构,但对于特定的空间应用(例如字段数据收集)只需要一小部分即可。在这种情况下,您将希望导出仅包含字段数据应用程序使用的要素类,表和域的架构,而无需复制原始架构模型的某些部分。为此,可以使用“ ArcGISSchemaView”构造型包。

«ArcGISSchemaView»包被建模为ArcGIS Workspace包的子包。您可以定义任意数量的«ArcGISSchemaView»程序包-每个程序包代表地理数据库架构的不同子集。通过从“ ArcGISSchemaView”包到每个包含的包绘制一个UML依赖关系连接器,可以指定要包含模式的哪些部分。导出«ArcGISSchemaView»程序包时,系统会包含您所包含的程序包所依赖的其他任何程序包(通过“依赖关系”连接器)。

该图显示了部分方案,该方案仅包含来自完整方案的三个功能数据集之一。

ArcGIS partial schema with Feature Datasets modeled using Sparx Systems Enterprise Architect.

创建一个ArcGISSchema包

行动

也可以看看

1个

在ArcGIS Workspace中创建或打开ArcGIS图。

2

将“ ArcGIS Schema View”图标从“ Core Diagram Toolbox”拖到您的图上。

出现提示,输入软件包名称。

3

输入有意义的包名称,然后单击确定按钮。

4

将要包含在导出模式中的任何其他Package拖到该图上。

(使用«ArcGISSchema View»包的子图来绘制包含的包,可以达到相同的结果)。

5

从«ArcGISSchema View»包中绘制一个依赖关系连接器到其他每个包。

笔记

  • 在图上定义依赖关系很方便,但不是必需的。只要在模型中定义了依赖关系(无论它们是否存在于关系图上),ArcGIS模式导出器都将使用它们
  • 您可以将依存关系图安排在ArcGIS Workspace中任何合适的部分–这些图可以位于«ArcGISSchema View»程序包本身下,也可以位于ArcGIS Workspace内的任何其他元素下

导出ArcGIS架构视图以用于ArcCatalog

行动

也可以看看

1个

在图或浏览器窗口中选择ArcGIS Schema View Package。

2

右键点击并选择“专业化| ArcGIS |导出到ArcGIS Workspace XML”菜单选项。

3

确定目标文件,然后单击“导出”按钮。

系统生成仅包含与ArcGIS Schema View Package相关联的元素的Workspace XML文档。

导出ArcGIS Schema View包时包括哪些相关元素?

这些规则在导出ArcGIS Schema View包时适用:

  • 依赖关系是使用UML依赖关系连接器建模的
  • 生成的架构中包括ArcGIS架构视图所依赖(直接或间接)的包的所有元素
  • 无论包含抽象类的Package是什么,都将导出包含元素从Abstract类继承的所有字段。
  • 导出包含元素所引用的所有编码值域元素,而不管编码值域元素所在的包如何
  • 如果ArcGIS Schema View包依赖于要素数据集包的一个或多个子包,则仅使用链接的子包中包含的那些元素导出要素数据集-不会导出直接包含在FeatureDataset包中的要素类,域和表。 ,因为对其子包之一的依赖性;因此,如果要导出整个功能数据集,则必须对功能数据集包本身使用依赖关系
  • 如果包含元素的字段引用“编码值域”元素,则无论“ ArcGIS Schema View包”是否对“编码值域”元素的包有显式依赖,都将导出该“编码值域”元素。
  • 如果包含的元素具有到另一个元素X的“关系类”连接器,并且ArcGIS Schema View中尚未包含元素X,则不会导出元素X和“关系类”连接器。日志文件将包含一个关系类连接器的名称列表,由于这个原因,该名称未导出

对部分模式进行建模的示例

考虑这个完整的工作区,其中包括三个名为A,B和C的要素数据集,以及三个名为DomainsA,DomainsB和DomainsC的编码值域包:

Complete ArcGIS schema workspace with Feature Datasets modeled in Sparx Systems Enterprise Architect.

“浏览器”窗口中的相应模型层次结构类似于以下内容:

如果仅要导出要素数据集A及其必需的元素,则可以将模式建模为包含单个要素数据集的部分模式,如下所示:

Partial ArcGIS schema

(此图等效于本主题开头提供的第一个图。)假定点A不依赖其他元素,则生成的模式将仅包括FeatureDataset A及其要素类PointA。

现在假定点A继承自Abstract类AbstractClassB(在FeatureDataset程序包B中定义),并且A的一个字段在DomainsA程序包中定义了类型CodedValueDomainA1(如在下一个模型图中所示)。现在,即使部分模式A不明确依赖于Package B或Package DomainsA,相同的部分模式模型也将导致导出的模式包含AbstractClassB和CodedValueDomainA1的字段,因为部分模式自动包含通过继承或继承相关的元素。由字段类型引用。因此,导出器通过包含此类必需元素来帮助您生成有效的ArcGIS模式。

Partial dependencies in ArcGIS schema modeled using Sparx Systems Enterprise Architect.

如果要在DomainsA中包括所有CodedValueDomain,在FeatureDataset B中包括所有要素类(包括它们依赖的任何域),则可以对此情况进行UML ,以通过直接和间接UML依赖关系连接器在部分模式中包括整个元素包,如图所示。 。

Coded Value Domains in ArcGIS schema

您还可以通过间接依赖关系连接器包含软件包。例如,通过将包链接到要素数据集A,而不是将它们直接链接到ArcGIS Schema View,可以达到与上一示例相同的结果。

ArcGIS Indirect Schema

最后,如果要创建仅包含NestedPackage1中的元素的部分架构,则可以将场景建模为引用了Feature Dataset中的嵌套Packages的部分架构Package。

Partial ArcGIS schema

结果模式将包含一个名为C的功能数据集,其中包含NestedPackage1中的所有元素。 NestedPackage2中的元素将被排除,PolygonC也将被排除(假定与NestedPackage1的元素不存在显式关系)。