部分的な出力

<< 目次を表示 >>

ページ位置:  その他の記法・モデリング > 地理情報のモデリング > ArcGISのモデリング > ArcGISプロファイル >

部分的な出力

Enterprise Architectでは、ArcGISのワークスペース全体を出力する機能だけでなく、部分的なスキーマを出力することもできます。ある産業のリファレンスモデルを定義する場合など、大きな地理データベースのスキーマがある場合などに便利です。ある状況では全体のスキーマが必要になり、別の状況の場合には特定の部分のみが必要な場合にも便利です。状況により、利用するフィールドを持つフィーチャークラス・テーブル・ドメインのみを含むスキーマを出力したいかもしれません。このような場合に、«ArcGISSchemaView»のステレオタイプを持つパッケージ要素を利用することができます。

 

«ArcGISSchemaView»パッケージは、ArcGISのワークスペースパッケージの子パッケージとして定義します。必要に応じて、多数の«ArcGISSchemaView»パッケージを作成することもできます。この場合には、それぞれのパッケージが異なるサブセットを示すことになります。このパッケージについて、どの部分を含むのか、含む先のパッケージと依存の接続を利用して定義します。この状況で«ArcGISSchemaView»パッケージに対して出力を実行すると、依存の接続があるパッケージのみが出力対象となります。

 

下の図は、部分的なスキーマの定義例です。

 

 

 

ArcGISSchemaパッケージの作成方法

#

操作方法

1

ArcGISワークスペース内にArcGISダイアグラムを作成します。

2

ツールボックスから 「ArcGIS Schema View」 をダイアグラム内にドロップします。

パッケージの名前を入力するダイアログが表示されます。

3

適切なパッケージ名を入力し、OKボタンを押します。

4

出力したい対象となるパッケージをモデルブラウザ内からダイアグラムにドロップします。

5

«ArcGISSchemaView»パッケージと、配置したパッケージの間に依存の接続を作成します。

 

注意:

  • ダイアグラム内で依存の接続を作成して関係を定義する方法は便利ですが、必ずしもこの方法で定義する必要はありません。モデルとして定義があれば、いずれかのダイアグラム内で表示されるようにする必要はありません。例えば、関係マトリックスを利用して依存の接続を追加することもできます。Enterprise Architectは、モデルの関係としての依存の情報を利用し、スキーマを出力します。
  • ダイアグラムの配置位置は、任意に変えることができます。例えば、対象の«ArcGISSchemaView»パッケージ内にダイアグラムを作成し、関係を定義することもできます。

 

 

定義した内容を出力する

#

操作方法

1

対象のArcGIS Schema Viewパッケージを、ダイアグラム内かモデルブラウザ内で選択します。

2

右クリックし、 「アドイン・拡張 | ArcGIS | ArcGISのワークスペースXMLを出力」 を選択します。

3

対象のファイルを指定し、出力ボタンを押します。

Enterprise Architectは、定義した内容に基づき、ワークスペースXMLファイルを出力します。

 

 

ArcGISのスキーマビューパッケージを出力する際に、要素が含まれる要素

ArcGISのスキーマビューパッケージを出力する際には、以下のルールが適用されます。

 

 

 

部分的なスキーマをモデリングする例

以下のような例を考えます。この例では、フィーチャーデータセットとしてA, B, Cの3つがあり、Coded Value Domainのパッケージとして、DomainsA, DomainsB, DomainsCの3つがあります。

 

 

 

ここで、フィーチャーデータセットAと、それに必要な要素のみを出力したいとします。この場合には、以下の図のように部分スキーマを定義します。

 

 

(この図は、このページの最初の図と同じ内容です。) なお、ここでPointAの要素は他の要素との依存関係はないとします。この場合には、PointAフィーチャークラスのみを含むスキーマ FeatureDataset A が出力されます。

 

ここで、別の仮定として、PointAが別の抽象クラス AbstractClassB(FeatureDatasetBパッケージで定義されている)を継承していて、 A のフィールドの一つの型がDomainsAパッケージで定義されるCodedValueDomainA1 だとします。このような場合にスキーマを出力すると、Bパッケージや DomainsAパッケージと明示的な関係が定義されていない場合でも、これらの定義がスキーマに含まれるようになります。ですので、このような場合でも適切なスキーマが出力されます。

 

 

もし、DomainsAのすべての CodedValueDomain FeatureDataset B パッケージ内のすべてのフィーチャークラスを含むようにしたい場合には、以下の図のように依存の接続を結ぶことになります。

 

 

最後に、NestedPackage1に含まれる要素のみをスキーマに含みたいと仮定します。このような場合には、以下のような定義になります。

 

 

この結果、NestedPackage1内のすべての要素を含むCのフィーチャーデータセットがスキーマに含まれます。NestedPackage2内の要素は出力の対象外となります。(NestedPackage1パッケージ内の要素と関係がない場合)