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

概要

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

使用法

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

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

  • 描画の速度や印刷/エクスポートのパフォーマンスと信頼性を向上させるためにも、マップの用途に必要なだけの最も単純なマスクを使用することが最も重要になります。マップのほとんどの用途には (アノテーション テキストをマスクするときは特に)、CONVEX_HULL タイプのマスクを使えば十分です。より詳細なテキスト マスクが必要な場合は、EXACT_SIMPLIFIED タイプを使用します。比較的大きなマップにかなり多くのテキストをマスクする場合は通常、EXACT タイプのマスクを使用しないでください。このようなマスクを使用してしまうと、複雑なマスクが大量に作成されるため、有効な出力を効率的に生成できないためです。

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

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

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

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

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

構文

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

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

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

コードのサンプル

FeatureOutlineMasks (フィーチャ アウトライン マスク) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.FeatureOutlineMasks_cartography("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: いいえ
  • Standard: いいえ
  • Advanced: はい

関連トピック