ArcGISのステレオタイプを抽象クラスに適用

<< 目次を表示 >>

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

ArcGISのステレオタイプを抽象クラスに適用

UML Profile for ArcGISを利用して、地理データベースのスキーマにある特性クラスに地理ステレオタイプを適用できます。地理ステレオタイプには«Point», «Polyline», «Polygon», «Multipoint»などがあります。ArcGISのツールボックスにはそれぞれのステレオタイプに対応するアイコンが格納されていますので、ドラッグ&ドロップでこれらのクラスを作成できます。作成した内容は外部に出力できます。これらのクラスはプロパティIsAbstractがtrueの具象クラスから参照されます。これらの抽象クラスは地理データベーススキーマ内で直接実装されます。

 

しかし、場合によってはこうした抽象クラスをモデル内で利用することが有用な場合もあります。抽象クラスは、複数の具象クラスが継承します。継承すると、抽象クラスで定義されるタグ付き値などは具象クラスに引き継がれます。次のモデルはステレオタイプ<<Point>>のHouseとGarageクラスがBuildingクラスを継承しています。この場合には、Buildingクラスが持つ特性StreetAddressが具象クラスでも利用できるようになります。

 

 

また、抽象クラスにステレオタイプを設定することで、以下のようなモデルにできます。上のモデルとは同じ意味になります。

 

 

 

個々のクラスにステレオタイプを設定するよりも抽象クラスにステレオタイプを設定することのメリットは以下の通りです。

 

 

 

モデル内に抽象クラスを定義する

要素のプロパティ「抽象」がTrueに設定されている場合には、その要素は抽象要素であることを示します。ArcGISのツールボックスからAbstract Classを作成する場合には、この抽象のプロパティの値が自動的にTrueに設定されます。なお、他のクラスについてもこの項目を変更することで、抽象クラスにできます。

#

操作方法

1

モデル内の対象のダイアグラムを開きます。

2

ArcGISツールボックスのCoreページを開きます。

そして、Abstract Classのアイコンをダイアグラム内にドロップし、要素を作成します。

3

要素をダブルクリックしてプロパティダイアログを開きます。

4

ステレオタイプの入力欄の右端に表示される[選択]ボタンを押し、ArcGISプロファイルで定義されたステレオタイプから希望するステレオタイプを選択します。

 

抽象クラスを継承する具象クラスを定義する

この内容でモデルの内容を地理データベーススキーマとして出力すると、抽象クラスに定義されたステレオタイプを、すべての具象クラスに対して適用します。また、具象クラスが持つべきプロパティが存在しない場合には、自動的に必要なプロパティを追加して出力します。例えば、具象クラスはOBJECTIDを明示的に定義する必要はありません。また、Shapeの場合には、Shape_LengthやShape_Areaの情報がない場合には、自動的に具象クラスに追加します。

#

操作方法

1

抽象クラスが配置されている図を開きます。

2

ArcGISツールボックスのCoreページを開きます。そして、Concrete Classのアイコンをダイアグラム内にドロップし、要素を作成します。

3

ツールボックス内にある汎化(Generalization)のアイコンをクリックし、具象クラスから抽象クラスにドラッグ&ドロップして関係を追加します。

4

ダイアグラムの変更内容を保存します。

 

 

注意:

  • ステレオタイプの設定がなく、継承しているクラスもない具象クラスは、Table (ObjectClass)として出力されます。OBJECTIDがモデル内で定義されていない場合には、自動的に追加されます。
  • 具象クラスは、地理ステレオタイプか、«ObjectClass» ステレオタイプを持つクラスからのみ継承できます。他の具象クラスからの継承には対応していません。
  • 具象クラスは、ステレオタイプだけでなく、抽象クラスの属性も継承します。
  • 継承関係は複数階層にできます。例えば、ある抽象クラスは、2階層下の具象クラスに情報を継承できます。
  • 1つのFeature Classが複数のShapeを持つことはArcGISでは認められていません。Enterprise Architectでも同様で、複数の抽象クラスから多重継承できません。
  • 抽象クラスが持つタグ付き値と同名のタグを具象クラスで定義した場合には、具象クラスでの定義が優先されます。
  • ダイアグラム内にObject and Feature Esri Classesを明示する必要はありません。地理ステレオタイプやObjectClassステレオタイプを適用した場合に、自動的にこれらの情報があるとして出力内容を作成します。
  • なお、明示的にObject and Feature Esri Classesとの間に汎化関係を定義しても、正しく処理されるようになっています。