预订演示
前页 后页

导出Modular ArcGIS Schemas

在Enterprise Architect中,除了导出整个 ArcGIS 工作空间之外,您还可以导出部分模式。如果您有一个大型地理数据库方案,这将很有用,如行业参考模型中定义的那样。在某些情况下,您可能需要整个模式,但只需要其中的一小部分用于特定的空间应用程序,例如字段数据收集。在这种情况下,您可能希望导出仅包含字段数据应用程序使用的特征表和域的模式,而不复制原始模式模型的部分内容。为此,您使用 «ArcGISSchemaView» 原型包。

«ArcGISSchemaView»包被建模为 ArcGIS工作空间包的子包包。您可以定义任意数量的 «ArcGISSchemaView»包- 每个包代表地理数据库方案的不同子集。您可以通过从 «ArcGISSchemaView»包到每个包含的包中绘制一个UML依赖连接器来指定包含模式的哪些部分。当您导出 «ArcGISSchemaView»包时,系统会包含您包含的包所依赖的任何其他包(通过依赖关系连接器)。

此图显示了一个部分模式,其中仅包含完成模式中的三个特征数据集之一。

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

创建 ArcGISSchema包

行动

也见

1

在您的 ArcGIS工作空间中创建或打开 ArcGIS 图表。

2

将 ArcGIS架构视图图标从 Core图表工具箱您的图表上。

将显示A提示以输入包名。

3

类型一个有意义的包名,然后点击确定按钮。

4

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

(您可以使用«ArcGISSchema View»包的子图来绘制包含的包来获得相同的结果)。

5

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

注记

  • 在图上定义依赖关系很方便,但不是必需的;只要在模型中定义了依赖关系——无论它们是否存在于图表中——ArcGIS 模式导出器都会使用它们
  • 您可以将依赖关系图安排在 ArcGIS工作空间中任何合适的部分——这些图可以位于“视图”包本身或 ArcGIS工作空间内的任何其他元素下

导出一个 ArcGIS架构视图,用于 ArcCatalog

行动

也见

1

在图表或浏览器窗口中选择 ArcGIS架构视图包。

2

右键单击并选择“特定| ArcGIS |导出到ArcGIS工作空间XML'菜单选项。

3

识别目标文件并点击导出按钮。

系统会生成一个工作空间XML 文档,其中仅包含与 ArcGIS架构视图包相关的元素。

导出 ArcGIS架构视图包时包含哪些相关元素?

这些规则在您导出 ArcGIS架构视图包时适用:

  • 依赖关系是使用UML依赖关系连接器建模的
  • ArcGIS架构视图依赖(直接或间接)的包的所有元素都包含在生成的模式中
  • 导出包含元素从抽象类继承的所有字段,而不管抽象类所在的包
  • 包含的元素所引用的所有编码值域元素都将被导出,而不管编码值域元素所在的包
  • 如果ArcGIS架构视图包依赖于特征数据集包的一个或多个子包,则特征数据集仅导出链接子包中包含的元素 - 不导出特征数据集包中直接包含的特征类、域和表,因为对其子包之一的依赖关系;因此,如果要导出整个特征数据集,则必须使用对特征数据集包本身的依赖关系
  • 如果包含元素的字段引用编码值域元素,则导出编码值域元素,无论 ArcGIS架构视图包是否对编码值域元素包有显式依赖
  • 如果包含的元素具有与另一个元素X 的关系类连接器,并且元素X 尚未包含在 ArcGIS架构视图中,则不会元素X 和关系类连接器; log文件将保存关系类连接器的名称列表,因此不会导出这些连接器

建模部分模式的示例

考虑这个完成工作空间,其中包括三个名为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及其特征类Point A 。

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

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

如果您想包含 DomainsA 中的所有 CodedValueDomains 和 FeatureDataset B中的所有特征类(包括它们所依赖的任何域),您可以模型这种情况,通过直接和间接UML依赖连接器在部分模式中包含整个元素包,如图所示.

Coded Value Domains in ArcGIS schema

您还可以通过间接依赖连接器包含包。例如,您可以通过将包链接到特征数据集A而不是将它们直接链接到 ArcGIS架构视图来获得与上一个示例相同的结果。

ArcGIS Indirect Schema

最后,如果要创建仅包含嵌套包 1 等元素的部分模式,则可以将模型建模为部分模式包,该部分模式包指特征数据集中的嵌套包。

Partial ArcGIS schema

生成的模式将包括一个名为 C 的特征数据集,其中包含 NestedPackage1 中的所有元素。 NestedPackage2 中的元素将被排除,PolygonC 也将被排除(假设与 NestedPackage1 的元素不存在显式关系)。