演習 1 では、Montgomery ジオデータベース内にある既存のフィーチャクラスを参照しました。これらのフィーチャクラスのうちの 1 つには、Distribmains フィーチャクラス内のフィーチャにリンクされたアノテーションが格納されていました。その後、カバレッジから給水管の円弧を Water フィーチャ データセットにインポートしました。今度は、ArcMap で水道管ラベルを作成し、そのラベルを給水管にリンクされたアノテーション フィーチャクラスに変換しましょう。
lateral サブタイプのラベルの作成
ArcMap を閉じた場合は起動して、Laterals フィーチャクラスをマップに追加します。
- ArcMap を起動します。
- [標準] ツールバーの [カタログ] ボタン をクリックして、[カタログ] ウィンドウを開きます。
- [カタログ] ウィンドウで Montgomery ジオデータベースを展開し、Water フィーチャ データセットを展開します。
- Laterals フィーチャクラスを [カタログ] ウィンドウからマップにドラッグします。
- ArcMap の [コンテンツ] ウィンドウで、Laterals レイヤーを右クリックし、[プロパティ] をクリックします。
[レイヤー プロパティ] ダイアログ ボックスが表示されます。
- [ラベル] タブをクリックします。
- [このレイヤーのラベルを表示] 用のチェックボックスをオンにします。
- [方法] ドロップダウン リストの矢印をクリックして、[フィーチャのクラスを定義し、クラスごとに異なるラベリングを行います。] をクリックします。
- [シンボル クラスの取得] をクリックします。
Laterals フィーチャクラス用のサブタイプを作成したので、各サブタイプは個別値シンボルで自動的に描画されるようになりました。これから、サブタイプ用にいくつかのラベルクラスを作成しましょう。
ここでは、レイヤー用にいくつかのラベルクラス (各サブタイプ用に 1 つずつ、他の値用に 1 つ) を定義しました。
[レイヤー プロパティ] ダイアログ ボックスは、次のセクションで使用するので、開いたままにしておいてください。
給水栓給水管のラベルの定義
水道システムでは、給水管の各サブタイプの役割が異なっています。たとえば、一般給水管は配水管から住宅やオフィスに給水を行い、給水栓給水管は主管から消化栓に給水を行います。ここでは、給水栓給水管のラベルを赤色に設定して、マップを見たときに給水栓給水管とその他の給水管とを簡単に区別できるようにします。
- [レイヤー プロパティ] ダイアログ ボックスで、[ラベル] タブにある [クラス] ドロップダウン リストをクリックし、[給水栓給水管] をクリックします。
- [フォントの色] ドロップダウン矢印をクリックし、パレットから赤い色見本を選択します。
- ボールド体用の [B] ボタンをクリックし、イタリック体用の [I] ボタンをクリックします。
- [条件式] をクリックします。
[ラベル条件式] ダイアログ ボックスが表示されます。
- [読み込み] をクリックします。
読み込み対象のファイルを選択できるダイアログ ボックスが表示されます。
- 「BuildingaGeodatabase」チュートリアル フォルダー内の「Layers」フォルダーを参照します。
- lateral_exp.lxp ファイルを選択し、[開く] をクリックします。
- [ラベル条件式] ダイアログ ボックスの [条件式] ボックス内をクリックして、If ステートメント内の値を 200 から 100 に変更します。
- [確認] をクリックします。
条件式がテストされ、サンプルが表示されます。
- [ラベル条件式の確認] ダイアログ ボックスで [OK] をクリックして、このダイアログ ボックスを閉じます。
- [ラベル条件式] ダイアログ ボックスで [OK] をクリックします。
給水栓給水管ラベルクラス用の条件式を作成しました。
- [レイヤー プロパティ] の [レイヤー] タブにある [適用] をクリックして、変更内容を適用します。
フィールドの内容を使用して、フィーチャにラベルを適用したい場合があります。[ラベル フィールド] ドロップダウン リストでは、フィーチャにラベルを適用する単一のフィールドを選択することができます。また、場合によっては複雑なラベルを作成したいこともあります。[ラベル条件式] ダイアログ ボックスを使用すると、1 つ以上のフィールドやその他のテキストを連結して、ラベルを作成することができます。この他、スクリプトを使用してラベル条件式にロジックを追加することも可能です。
給水栓給水管のラベルを作成するには、ファイルに保存しておいたラベル条件式を読み込みます。
このスクリプト条件式では、各給水管の長さが評価されます。長さの値が 200 を超える給水管に対しては、[DIAMETER] フィールドの内容、空白文字、および [MATERIAL フィールド] の内容がラベルとして設定されます。長さの値が 200 未満の給水管に対しては、[DIAMETER] フィールドの内容がラベルとして設定されます。
この給水栓給水管用の条件式を調整して、長さが 100 フィートを超える給水栓給水管に対しては詳細なラベルが設定されるようにしましょう。
次に、ラベル クラスの他のサブタイプ用の条件式を作成しましょう。
一般給水管のラベルの定義
一般給水管は、給水栓給水管よりも短い傾向があります。この演習で、材質タイプの表示が重要となるのは、長さが 200 フィートを超える場合だけです。そのため、もう一度ラベル条件式を読み込んで、変更せずに使用しましょう。
- [レイヤー プロパティ] ダイアログ ボックスで [クラス] ドロップダウン リストをクリックし、[一般給水管] をクリックします。
- 給水栓給水管のラベルの定義に使用したのと同じ手順を使用しますが、今度はラベルの色を黒にします。
- [適用] をクリックして、変更した内容を保存します。
これで、このラベル クラス用のラベル パラメーターをセット アップできるようになりました。
その他の給水管のラベルの定義
「給水栓給水管」と「一般給水管」のラベル条件式をすでに読み込みました。ここでは、「消火栓給水管」、「不明」、および <その他の値すべて> クラスについて、ラベルを定義しましょう。これらのクラスは共通性が少なく、重要なのは直径だけであるため、[Diameter] フィールドだけを使用してフィーチャにラベルを設定します。
- [クラス] ドロップダウン矢印をクリックし、[消火栓給水管] をクリックします。
- [ラベル フィールド] ドロップダウン矢印をクリックし、[DIAMETER] をクリックします。
- [適用] をクリックします。
- 同じ手順を使用して、[不明] および [<その他の値すべて>] ラベル クラス用のラベルを設定します。
- [レイヤー プロパティ] ダイアログ ボックスの [OK] をクリックします。
ラベルがマップに表示されます。給水栓給水管に設定されているラベルの色は赤です。ラベル条件式を調整したため、長い給水栓給水管に対しては材質タイプが記入されたラベルが設定されます。
ArcMap のシンボル クラスを使って給水管の各種サブタイプ用のラベルを作成して、ラベル クラスを派生させました。
今度は、ラベルをジオデータベース内のアノテーションに変換しましょう。
ラベルの基準縮尺の設定
ラベルは動的であるため、マップを画面移動したり拡大したりすると、リアルタイムに再生成されます。デフォルトでは、拡大する縮尺に関係なく同じサイズのシンボルで描画されます。フィーチャクラスの全体表示においては、必ずしもすべてのフィーチャが 8 ポイントのフォントで表示されるとは限りませんが、拡大すると、フィーチャの周囲にスペースが生まれるため、多くのラベルが描画されます。
ラベルと異なり、アノテーションは静的です。アノテーション フィーチャは保存されています。アノテーション フィーチャでは、位置と基準縮尺が固定されているので、拡大すると画面上のテキストも拡大します。ラベル表示の振舞いをアノテーションと同じようにするには、基準縮尺を設定します。基準縮尺は、頻繁に使用するマップ縮尺に合わせるようにします。ラベルをアノテーションに変換する場合は、作成するマップ上のフィーチャに対して適切なサイズで描画されるように、アノテーションの基準縮尺を設定してください。
- ArcMap の [ツール] ツールバーの [拡大] ツールをクリックし、データの東端のいくつかの給水管を囲むボックス形状をクリック アンド ドラッグします。
- [縮尺] ボックスに「100」を入力し、Enter キーを押します。
これで、ディスプレイ画面で描画できる最大ラベル数が増えました。
- ArcMap の [コンテンツ] ウィンドウで、[描画順にリスト] ボタンをクリックします。
- [コンテンツ] ウィンドウの [レイヤー] を右クリックし、[基準縮尺] をポイントして、[基準縮尺の設定] をクリックします。
ここで、拡大または縮小を行うと、ラベルも拡大または縮小されます。
ラベルのアノテーションへの変換
このセクションは、ArcGIS Desktop Standard および ArcGIS Desktop Advanced にのみ該当します。
基準縮尺を設定し終わったので、ラベルをアノテーションに変換してジオデータベースに保存できます。ここでは、ラベル クラスを単一のフィーチャリンク アノテーション フィーチャクラスのサブタイプに変換します。この処理には、ArcGIS for Desktop Standard または Advanced のラインセンスが必要です。ArcGIS for Desktop Basic ライセンスでは、ラベルからアノテーションを作成できますが、フィーチャリンク アノテーションは作成できません。
- [コンテンツ] ウィンドウで [レイヤー] を右クリックして、[ラベルをアノテーションに変換] をクリックします。
[ラベルをアノテーションに変換] ダイアログ ボックスが表示されます。
- Water laterals フィーチャ レイヤーの [アノテーション フィーチャクラス] 列をクリックし、出力アノテーション フィーチャクラスの名前を [LateralsAnno] に変更します。
- [アノテーション フィーチャクラス] プロパティ アイコン をクリックします。
[アノテーション フィーチャクラス プロパティ] ダイアログ ボックスが表示されます。
- [シンボル テーブルからシンボルを選択] のチェックボックスをオンにします。
シンボル テーブルを使用することにより、ジオデータベース内の使用領域を節約できます。各アノテーション フィーチャは、固有のシンボル情報をすべて格納するのではなく、ジオデータベースのシンボル テーブルを参照します。このアノテーション フィーチャクラスには、グラフィックスを格納することはできません。
- [OK] をクリックして [アノテーション フィーチャクラス プロパティ] ダイアログ ボックスを閉じます。
- [ラベルをアノテーションに変換] ダイアログ ボックスで [変換] をクリックします。
変換プロセスの進捗状況を示すメッセージ ボックスが表示されます。
ラベルは、単一アノテーション フィーチャクラス内のアノテーション クラスのセットに変換されます。このフィーチャクラスがマップに追加されました。
アノテーションを給水管にリンクするリレーションシップ クラスも作成されます。これを表示するには、[カタログ] ウィンドウで Montgomery ジオデータベース内の Water フィーチャ データセットを右クリックして、[更新] をクリックします。Water フィーチャ データセットの下に、新しい Anno リレーションシップ クラスが表示されます。
- 残りの 2 つの演習は ArcCatalog で実行するので、ArcMap を閉じます。
フィーチャリンク アノテーションの編集時の振舞いに関する 2 つのオプションは、デフォルトではチェックされています。これにより、新しい給水管を追加すると新規アノテーションが作成され、給水管を移動したり形状変更したりすると、既存のアノテーションも移動します。
この演習では、ジオデータベース内にアノテーション フィーチャクラスを作成しました。ジオデータベース内のアノテーション クラスは、給水管フィーチャクラスのサブクラスに対応します。これらのアノテーション クラスの中には、特殊なシンボルがある他、特定のフィーチャに追加情報のアノテーションを付加するロジックがあります。ArcMap で給水管 (Laterals) フィーチャクラスを編集すると、定義したシンボルやアノテーション条件式を使用して、対応するアノテーション フィーチャが作成または変更されます。