フィーチャ アウトライン マスク (Feature Outline Masks) (カートグラフィ)

サマリー

入力レイヤー内でシンボル表示されたフィーチャの周囲に、指定した距離および形状でポリゴン マスクを作成します。

フィーチャ アウトライン マスクおよびインターセクト レイヤー マスクの詳細

使用法

  • このツールでは、ポイント フィーチャ レイヤー、ライン フィーチャ レイヤー、ポリゴン フィーチャ レイヤー、およびジオデータベース アノテーション レイヤーを入力として指定できます。

  • マップにマスクを追加するとマップが複雑になり、マップの描画が遅くなるため、マップの印刷やエクスポートに影響が及びます。 マップ用にマスクを作成する際の一般的な考慮点は、マスクの数、マスクの複雑度、マーカーまたはライン シンボルで塗りつぶされているポリゴン フィーチャをマスクするために使用するかどうかの 3 つです。 これらにより、画面上の描画速度が遅くなります。 さらに、印刷やエクスポートのパフォーマンスが低下し、有効な出力を生成できなくなるおそれもあります。 この理由は、マスク付きマップの印刷とエクスポートでは大量の処理を行う必要があることと、複雑なマスクが多用されたマップをグラフィック ファイル形式にエクスポートする方法には既知の制限があるためです。

  • 描画のパフォーマンスや、印刷/エクスポートのパフォーマンスと信頼性を向上させるためにも、マップの用途に必要なだけの最も単純なマスクを使用してください。 特に [マスク タイプ] パラメーターを使用してアノテーション テキストをマスクする場合、多くのマップの目的では [凸包] オプションで十分です。 より詳細なテキスト マスクには、[正確 (単純化)] オプションを使用します。 比較的大きなマップで多くのテキストをマスクする場合は通常、[正確] オプションを使用しないでください。なぜなら、複雑なマスクが大量に作成され、有効な出力を効率的に生成できないからです。

  • このツールは、デフォルトで非常に小さなマスク フィーチャを出力から除外します。 マップの基準縮尺では表示されないような小さなマスクは消去され、管理しやすく効率的なフィーチャクラスが作成されます。 ワークフローで非常に小さなマスクが必要な場合は、[小規模フィーチャを保持] パラメーターをオンにし、サイズに関係なく出力フィーチャクラスのすべてのマスクを保持します。 小さなマスクが多数あると、マップとマップ出力が複雑になることがあります。

  • 通常、余白値はページ単位で指定されますが、マップ単位も使用できます。

  • 通常、余白は 0 より大きい値です。 余白サイズが 0 の場合、シンボル表示されたフィーチャの正確な形状を表すマスクが作成されます。

  • 入力レイヤーがアノテーション レイヤーである場合、基準縮尺はレイヤーのフィーチャクラスの基準縮尺に自動設定されるので、結果としてマスクを高い精度で計算できます。

  • リアルタイムで投影されたアノテーションをマスクするときは、マップの空間参照を使用して [マスク レイヤーの空間参照] パラメーターで正しく設定して、マスクを作成する必要があります。 リアルタイムでテキストを投影しても読みやすさが保持されます。この理由から、投影ごとにテキストが占有する空間領域はそれぞれ異なることがあります。

  • アノテーション フィーチャのマスクは、フォント固有です。 テキストにマスクを使用するときは必ず、画面のフォントに出力と同じフォントを使用してください。 そのためには、ベクター出力にフォントを埋め込むか、または SoftFonts をプリンターまたはプロッターにダウンロードしてください。

  • マスクが現在のマップの回転に基づいて作成され、マスクの作成後にマップが別の回転に設定されると、マスクが無効になる可能性があります。

パラメーター

ラベル説明データ タイプ
入力レイヤー

マスクを作成する対象の、シンボル表示された入力レイヤー。

Annotation Layer
出力フィーチャクラス

マスク フィーチャの格納先となるフィーチャクラス。

Feature Class
基準縮尺

マスクをページ単位で指定する場合に、マスキング ジオメトリの計算に使用される基準縮尺。 これは通常、マップの基準縮尺です。

Double
マスク レイヤーの空間参照

マスキング ポリゴンが作成されるマップの空間参照。 これは、出力フィーチャクラスに割り当てられる空間参照とは異なります。 フィーチャを投影したときにシンボルの位置が変わる場合があるので、マスキング ポリゴンが使用されるマップの空間参照を指定します。

Spatial Reference
余白

シンボル表示された入力フィーチャを囲むページ単位のスペース。マスキング ポリゴンの作成に使用されます。 マスキング ポリゴンを作成する際は通常、見栄えを良くするためにシンボルの周囲に小幅の余白を確保します。 余白の値をページ単位またはマップ単位のどちらかで指定できます。

余白は負にできません。

Linear Unit
マスク タイプ

作成するマスキング ジオメトリのタイプを指定します。

  • シンボル表示されたフィーチャの範囲を表すポリゴンが作成されます。
  • 凸包フィーチャのシンボル表示されたジオメトリの凸包が作成されます。 これがデフォルトです。
  • 正確 (単純化)シンボル表示されたフィーチャの正確な形状を表す、単純化ポリゴンが作成されます。 この方法で作成されたポリゴンは、[正確] オプションで作成されたポリゴンと比較して、頂点の数がはるかに少なくなります。
  • 正確シンボル表示されたフィーチャの正確な形状を表すポリゴンが作成されます。
  • シンボル表示されたフィーチャの範囲を表すポリゴンが作成されます。
  • 凸包フィーチャのシンボル表示されたジオメトリの凸包が作成されます。 これがデフォルトです。
  • 正確 (単純化)シンボル表示されたフィーチャの正確な形状を表す、単純化ポリゴンが作成されます。 この方法で作成されたポリゴンは、EXACT オプションで作成されたポリゴンと比較して、頂点の数がはるかに少なくなります。
  • 正確シンボル表示されたフィーチャの正確な形状を表すポリゴンが作成されます。
String
未配置アノテーションのマスクの作成

未配置アノテーション用のマスクを作成するかどうかを指定します。 このパラメーターが使用されるのは、ジオデータベース アノテーション レイヤーをマスクしている場合だけです。

  • すべてのアノテーション フィーチャマスクはすべてのアノテーション フィーチャに対して作成されます。 これがデフォルトです。
  • 配置アノテーション フィーチャのみマスクは、配置済みの状態のフィーチャに対してのみ作成されます。
String
属性の割り当て (Transfer Attributes)
(オプション)

入力フィーチャから出力フィーチャに渡す属性を指定します。

  • FID フィールドのみ入力フィーチャの FID フィールドのみを出力フィーチャに渡します。 これがデフォルトです。
  • すべての属性 (FID フィールドを除く)入力フィーチャの FID フィールドを除いたすべての属性を、出力フィーチャに渡します。
  • すべての属性入力フィーチャのすべての属性を出力フィーチャに渡します。
String
小規模フィーチャを保持
(オプション)

小さいマスク フィーチャが出力フィーチャクラスに含まれるかどうかを指定します。

  • オフ - 小さいマスク フィーチャは出力フィーチャクラスに含まれません。 これがデフォルトです。
  • オン - すべてのマスク フィーチャが出力フィーチャクラスに含まれます。

Boolean

arcpy.cartography.FeatureOutlineMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes}, {preserve_small_sized_features})
名前説明データ タイプ
input_layer

マスクを作成する対象の、シンボル表示された入力レイヤー。

Annotation Layer
output_fc

マスク フィーチャの格納先となるフィーチャクラス。

Feature Class
reference_scale

マスクをページ単位で指定する場合に、マスキング ジオメトリの計算に使用される基準縮尺。 これは通常、マップの基準縮尺です。

Double
spatial_reference

マスキング ポリゴンが作成されるマップの空間参照。 これは、出力フィーチャクラスに割り当てられる空間参照とは異なります。 フィーチャを投影したときにシンボルの位置が変わる場合があるので、マスキング ポリゴンが使用されるマップの空間参照を指定します。

Spatial Reference
margin

シンボル表示された入力フィーチャを囲むページ単位のスペース。マスキング ポリゴンの作成に使用されます。 マスキング ポリゴンを作成する際は通常、見栄えを良くするためにシンボルの周囲に小幅の余白を確保します。 余白の値をページ単位またはマップ単位のどちらかで指定できます。

余白は負にできません。

Linear Unit
method

作成するマスキング ジオメトリのタイプを指定します。

  • BOXシンボル表示されたフィーチャの範囲を表すポリゴンが作成されます。
  • CONVEX_HULLフィーチャのシンボル表示されたジオメトリの凸包が作成されます。 これがデフォルトです。
  • EXACT_SIMPLIFIEDシンボル表示されたフィーチャの正確な形状を表す、単純化ポリゴンが作成されます。 この方法で作成されたポリゴンは、EXACT オプションで作成されたポリゴンと比較して、頂点の数がはるかに少なくなります。
  • EXACTシンボル表示されたフィーチャの正確な形状を表すポリゴンが作成されます。
String
mask_for_non_placed_anno

未配置アノテーション用のマスクを作成するかどうかを指定します。 このパラメーターが使用されるのは、ジオデータベース アノテーション レイヤーをマスクしている場合だけです。

  • ALL_FEATURESマスクはすべてのアノテーション フィーチャに対して作成されます。 これがデフォルトです。
  • ONLY_PLACEDマスクは、配置済みの状態のフィーチャに対してのみ作成されます。
String
attributes
(オプション)

入力フィーチャから出力フィーチャに渡す属性を指定します。

  • ONLY_FID入力フィーチャの FID フィールドのみを出力フィーチャに渡します。 これがデフォルトです。
  • NO_FID入力フィーチャの FID フィールドを除いたすべての属性を、出力フィーチャに渡します。
  • ALL入力フィーチャのすべての属性を出力フィーチャに渡します。
String
preserve_small_sized_features
(オプション)

小さいマスク フィーチャが出力フィーチャクラスに含まれるかどうかを指定します。

  • DO_NOT_PRESERVE_SMALL_SIZED_FEATURES小さいマスク フィーチャは出力フィーチャクラスに含まれません。 これがデフォルトです。
  • PRESERVE_SMALL_SIZED_FEATURESすべてのマスク フィーチャが出力フィーチャクラスに含まれます。
Boolean

コードのサンプル

FeatureOutlineMasks の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで FeatureOutlineMasks 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.cartography.FeatureOutlineMasks("C:/data/cartography.gdb/transportation/roads",
                                "C:/data/cartography.gdb/transportation/fom_polys",
                                "25000", sr, "5 meters","EXACT_SIMPLIFIED", 
                                "ALL_FEATURES", "ALL")
FeatureOutlineMasks の例 2 (スタンドアロン スクリプト)

このスタンドアロン スクリプトは、FeatureOutlineMasks 関数の使用例を示しています。

# Name: FeatureOutlineMasks_standalone_script.py
# Description: Creates mask polygons at a specified distance and shape
#           around symbolized features. 
 
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
input_layer = "roads.lyrx"
output_fc = "cartography.gdb/transportation/roads_fom_polys"
reference_scale = "25000"
spatial_reference = arcpy.SpatialReference(4326) 
margin = "5 meters"
method = "EXACT_SIMPLIFIED"
mask_for_non_placed_anno = "ONLY_PLACED"
attributes = "ALL"

# Execute Feature Outline Masks
arcpy.FeatureOutlineMasks_cartography(input_layer,
                                      output_fc,
                                      reference_scale,
                                      spatial_reference,
                                      margin, method,
                                      mask_for_non_placed_anno,
                                      attributes)

ライセンス情報

  • Basic: No
  • Standard: No
  • Advanced: Yes

関連トピック