演習 4: スケマティック属性を構成する

複雑さ: 上級者 データ要件: ArcGIS チュートリアル データのセットアップ データ パス: C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data 目的: スケマティック属性を作成する方法および削除する方法を学ぶ

この演習では、スケマティック属性の構成について理解します。次の作業を行う方法を学びます。

注意注意:

この演習を行うには、Schematics の詳細構成チュートリアルの演習 1 と 2 を完了している必要があります。ここでは、これまでの演習ですでに行った構成に基づいて作業します。

スケマティック データセットを編集する

手順:
  1. ArcCatalog を開きます。
  2. Schematics のチュートリアル ディレクトリ(C:\ArcGIS\ArcTutor\Schematics)を参照し、選択します。
  3. AdvancedSchematicDB ジオデータベースをダブルクリックして、その中にある AdvancedSchematic スケマティック データセットを表示します。
  4. [AdvancedSchematic] スケマティック データセットを右クリックし、ポップアップ メニューから スケマティック データセットの編集ボタン [編集] を選択します。

    スケマティック データセット エディタ アプリケーションが起動します。

  5. スケマティック エディタのツリーで [BrazilTemplate] ダイアグラム テンプレートが選択されていない場合は選択し、その下のスケマティック フィーチャクラスがすべて表示されるように展開します。

スケマティック属性を作成する

Schematics では、属性にはさまざまな用途があり、シンボルやラベリングのほか、接続性やリレーションシップのための高度な構成アイテムなどに使用されます。

構成ツールで属性を作成する前に、本当に属性が必要かどうかを判断する必要があります。Schematics では、ニーズやデータに応じて、いくつかの選択肢があります。

この演習では、いくつかの属性タイプの操作を簡単に説明するだけです。使用可能な他の属性タイプの詳細については、「スケマティック属性の管理」をご参照ください。

属性を使用して接続性を定義する方法の詳細と例については、Schematics の基本構成チュートリアルの「演習 6」をご参照ください。

手順:
  1. スケマティック データセット エディタのツリーで [pug_PUG_gas_plants] スケマティック フィーチャクラスを右クリックし、ポップアップ メニューから [新規属性] を選択します。

    エディタ ウィンドウの右側に、新しいスケマティック属性の [プロパティ] タブが自動的に表示されます。

    新しいスケマティック属性 - 初期の [プロパティ] タブ
    次の 2 つの手順を実行するまで、属性は設定されません。
    • [OK] ボタンをクリックします(これによって、属性のタイプが固定されます)。
    • 保存します(これによって、実際にシステム内に属性が作成されます)。

  2. [OK] をクリックします。

    スケマティック データセット エディタのツリーの [pug_PUG_gas_plants] の下に [NewAttribute] エントリが表示されます。

    新しいスケマティック属性 - 最終的な [プロパティ] タブ

属性を削除する

属性の削除については、次の点に注意してください。

手順:
  1. スケマティック データセット エディタのツリーで [NewAttribute] エントリを右クリックし、ポップアップ メニューから [削除] アイコン [削除] を選択します。

関連フィールド タイプの属性を作成して構成する

関連付けられたオブジェクト クラス(演習 1 で *.mxd をインポートしたときに自動的に設定されています)があるスケマティック フィーチャクラスを使用する場合は、関連フィールド属性が最も一般的です。関連フィールド属性を使用すると、GIS フィーチャクラスのフィールドを選択して、基本的にはスケマティック フィーチャクラスに追加することができます。その後、ラベリングやシンボルについては、前の演習で行ったように ArcMap で結合を作成する代わりに、スケマティック レイヤのそのフィールドを指定すればよいだけです。ここでは、pug_PUG_gas_plants GIS フィーチャクラスに関連付けられている pug_PUG_gas_plants スケマティック フィーチャクラスの NAME フィールドを使用して、この作業を行います。

手順:
  1. ツリー ビューで [pug_PUG_gas_plants] スケマティック フィーチャクラスを右クリックし、ポップアップ メニューから [新規属性] を選択します。

    [関連フィールド] がデフォルトの属性タイプです。必要に応じて、[タイプ] リストで別の属性タイプを選択します。この属性は、演習の後半で使用します。

  2. [名前] フィールドに、「GasPlantName」と入力します。

    • [ストレージ モード] オプションが [フィールド] に設定されている場合(デフォルト)、新しいフィールドがスケマティック フィーチャクラスに追加されます。そのフィールドには、[名前] フィールドに入力した名前(この場合は GasPlantName)が割り当てられます。他のストレージ モードは、別の内部アイテムや、アルゴリズムを作成する開発者が必要とする情報には役立ちますが、実際のフィールドが必要なので、エンド ユーザのラベリングやシンボルを目的とする場合は使用しないでください。
    • [評価モード] は、Schematics で追跡されている値の更新時期を指定するために使用します。デフォルトの [生成/更新時] は、ダイアグラムの生成時またはダイアグラムの更新時にのみ、GIS フィーチャからスケマティック フィーチャに値が同期されることを意味します。[編集の開始時] を選択すると、ユーザがダイアグラムで編集セッションを開始するたびに、値が強制的に同期されます。[再描画/最新の情報に更新時] を選択した場合は、値が常に同期された状態になります。[再描画/最新の情報に更新時] を選択すると、ダイアグラムにパフォーマンス上の影響が生じるので、非常に特殊な状況に限って使用するようにしてください。

  3. [フィールド] ドロップダウン リストから [NAME] を選択します。

    このリストには、pug_PUG_gas_plants で使用可能なすべての GIS フィーチャクラス フィールドが表示されます。

    新しい属性 - GasPlantName

  4. [OK] をクリックして、この属性を設定します。
  5. Rel_Electric フィールドを取得する別の関連フィールド属性を作成します。この属性は、クエリ属性の定義の一環としてすぐに使用します。スケマティック データセット エディタのツリーで [pug_PUG_gas_plants] スケマティック フィーチャクラスを右クリックし、ポップアップ メニューから [新規属性] を選択します。
  6. [名前] フィールドに、「RelElecID」と入力します。
  7. [フィールド] ドロップダウン リストから [Rel_Electric] を選択します。

    新しい属性 - RelElecID

  8. [OK] をクリックします。

クエリ タイプの属性を作成して構成する

手順:
  1. スケマティック データセット エディタのツリーで [pug_PUG_gas_plants] スケマティック フィーチャクラスを右クリックし、ポップアップ メニューから [新規属性] を選択します。
  2. [プロパティ] タブの[名前] フィールドに、「RelElecName」と入力します。
  3. [タイプ] ドロップダウン リストで [クエリ] を選択します。

    新しい属性 - RelElecName - フェーズ 1

  4. [OK] をクリックして、この属性を設定します。

    このバージョンでは、クエリ属性タイプに [関連するフィーチャのデータ ソースを使用] チェックボックスが追加されています。バージョン対応データを使用しており、各フィーチャと同じバージョンに基づく別のテーブルに対してクエリを実行する必要がある場合は、このチェックボックスをオンにします。これにより、関連するフィーチャの元となったバージョンを使用して、クエリが実行されます。これまでのバージョンには、このオプションはありませんでした。クエリは常にデフォルト バージョンに対して実行されていました。別のデータベースのデータに対してクエリを実行する場合、このボックスをオンにしないでください。オンにすると、構成が無視され、関連付けられたフィーチャと同じデータ ソースを使用してクエリの実行が試みられ、クエリを実行しようとしている目的のテーブルが見つからなくなります。ここではバージョン対応環境で作業していないので、このオプションを使用する必要はありません。次に、クエリを構成する必要があります。

  5. [プロパティ] タブの [クエリ] セクションで [クエリ/識別子エディタ] ボタン [クエリ/識別子エディタ] ボタン をクリックします。

    [クエリ/識別子エディタ] ダイアログ ボックスが開きます。

  6. [データ ソース] ドロップダウン リストで、ソース データが保存されている [Brazil.gdb] を選択します。

    そのデータ ソースで使用可能なテーブルのリストが表示されます。

  7. [テーブル] リストをスクロールして、[pug_PUG_electric] エントリをダブルクリックします。

    [クエリ] セクションにデフォルト クエリが表示されます。

    新しい属性 - RelElecName - テーブル
    次に、ユーザ ダイアグラムでガス プラントに基づくレコードを返すように、このクエリをフィルタリングする必要があります。そのため、上で定義した RelElecID 属性から取得される objectID に基づく行を取得します。

  8. 既存の文字列の最後に「where objectid = ?」を追加して、クエリ文字列を変更します。

    [パラメータ] セクションが新しく開きます。

    新しい属性 - RelElecName - パラメータ

  9. [パラメータ] セクションの [名前] ドロップダウン フィールドで [RelElecID] を選択します。
  10. これは数値なので、[テキスト] チェックボックスをオフにします。
  11. [テスト値] フィールドに「1」と入力します。
  12. [クエリ] セクションの [結果の表示] ボタンをクリックします。

    [結果] セクションに、CAMACARI 電気プラントを表す 1 行が表示されます。確認するには、名前フィールドまでスクロールする必要があります。

    新しい属性 - RelElecName - 結果の表示

  13. フォームの下にある [識別子] ドロップダウンで [NAME_] を選択します。

    新しい属性 - RelElecName - 最終
    これで、ユーザ ダイアグラムの各 pug_PUG_gas_plant について、関連フィールド属性から関連する電気プラント ID が取得され、pug_PUG_electric テーブルに対して、その電気プラントの名前を取得するクエリ属性が実行されます。

  14. [OK] をクリックして [クエリ/識別子エディタ] フォームを閉じます。

既定属性を作成して構成する

既定属性を使用すると、複数の属性を組み合わせて、場合によってはテキストを追加することができます。この例では、2 つの属性を組み合わせます。さらにテキストを追加して、pug_PUG_gas_plant レコードに、「電力供給プラント: <電気プラント番号> - <電気プラント名>」のようなラベルが表示されるようにします。

手順:
  1. スケマティック データセット エディタのツリーで [pug_PUG_gas_plants] スケマティック フィーチャクラスを右クリックし、ポップアップ メニューから [新規属性] を選択します。
  2. [プロパティ] タブの[名前] フィールドに、「ElectricFormat」と入力します。
  3. [タイプ] ドロップダウン リストから [既定] を選択します。

    新しいスケマティック属性 - ElectricFormat

  4. 形式フィールドに、「電力供給プラント: %s - %s」と入力します。

    %s は、他の属性 1 つを渡すために使用するプレースホルダです。この場合は、関連する電気プラントの ID と名前を使用します。

  5. [パラメータ] グリッドで、上のドロップダウン リストから [RelElecID] を選択します。
  6. [パラメータ] グリッドで、下のドロップダウン リストから [RelElecName] を選択します。

    ElectricFormat - 最終

  7. [OK] をクリックして、この属性を設定します。
  8. [スケマティック データセット エディタ] ツールバーの [保存] ボタン[保存] ボタン アイコン をクリックします。
  9. スケマティック データセット エディタを閉じます。

属性の変更をテストする

手順:
  1. ArcMap を使用して Brazil.mxd ファイルを開きます。

    このファイルは C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data にあります。

  2. ArcMap の選択ツールを使用して、現在のビューのすべてのアイテムを選択します。
  3. [スケマティック] ツールバーの [スケマティック ダイアグラムの新規作成] ボタン [スケマティック ダイアグラムの新規作成] ボタン アイコン をクリックします。

    [スケマティック ダイアグラムの新規作成] ダイアログ ボックスが開きます。

  4. [スケマティック データセットまたはフォルダ] ドロップダウン リストの横にある参照ボタン 参照ボタン アイコン をクリックします。

    [スケマティック データセット、またはスケマティック フォルダを選択] ダイアログ ボックスが開きます。

  5. このダイアログ ボックスを使用して、C:\ArcGIS\ArcTutor\Schematics にある AdvancedSchematicDB ジオデータベース内の AdvancedSchematic スケマティック データセットを参照し、選択します。
  6. [追加] ボタンをクリックします。

    構成に含まれているダイアグラム テンプレートは 1 つ(BrazilTemplate)だけなので、[スケマティック ダイアグラムのテンプレート] セクションでそのテンプレートが自動的に選択されます。

  7. [スケマティック ダイアグラム名] テキスト ボックスに「TestAttributes」と入力します。

    新しいスケマティック ダイアグラム - TestAttributes

  8. [OK] をクリックします。

    階層図 - コンパクト ツリー レイアウトがダイアグラム テンプレートのデフォルトとして設定されているため、ダイアグラムはこのレイアウトで表示されます。[スケマティック エディタ] ツールバーで、[レイアウト タスク][階層図 - コンパクト ツリー] に設定されます。

    生成された TestAttributes ダイアグラム

  9. コンテンツ ウィンドウで、TestAttributes ダイアグラム レイヤの下にある [pug_PUG_gas_plants] エントリをダブルクリックします。

    [レイヤ プロパティ] ウィンドウが開きます。

  10. [フィールド] タブをクリックします。
  11. フィールド リストを一番下までスクロールして、新しく作成した属性を表示します。

    これは、それらの属性のストレージ モードをフィールドとして指定したためです。

    TestAttributes ダイアグラム - [フィールド] タブ

  12. [ラベル] タブをクリックします。
  13. [このレイヤのラベルを表示] チェックボックスがオンになっていない場合は、オンにします。
  14. [ラベル フィールド] ドロップダウン リストから [SCH1E_pug_PUG_gas_plants.ElectricFormat] フィールドを選択します。

    TestAttributes ダイアグラム - [ラベル] タブ

  15. [OK] をクリックします。

    「電力供給プラント: 1 - CAMACARI」というラベルが付いたガス プラントが表示されます。これは、3 つの異なる属性(電気プラント番号を取得する関連フィールド属性、電気プラント名を取得するクエリ属性、およびこの 2 つを組み合わせる既定属性)によって作成されました。

    TestAttributes ダイアグラム - ラベル付き

  16. ArcMap と ArcCatalog を閉じ、すべての保存ダイアログ ボックスで [いいえ] をクリックします。

7/10/2012