マップ サービス キャッシュ タイル スキーマ → ポリゴン(Map Server Cache Tiling Scheme To Polygons) (カートグラフィ)
サマリ
既存のタイル スキーマに基づいて新しいポリゴン フィーチャクラスを作成します。
このツールは、既存のマップ サービス キャッシュ タイル スキーマと同じ縮尺を使用してデータ フレーム範囲を細分化します。また、大規模領域に「スーパータイル」と呼ばれるタイルを作成します。スーパータイル範囲は、スキーム内に定義されている実際のタイルに比べて大規模です。そのため、[ラベル → タイル分割されたアノテーション(Tiled Labels To Annotation)] ツールへの入力として使用されたタイルに基づいて、ラベルを大規模領域に対応したアノテーションに一括変換できるようになっています。このプロセスによって、タイル全体のアノテーションの複製が最小化されます。
使用法
-
既存のタイル スキーマを読み込むためのオプションとして、次のものがあります。
- ArcGIS Online、Google Maps、Bing Maps、Yahoo などのオンライン マッピング サービスからタイル スキーマを読み込みます。これらのタイル スキーマは、ArcGIS for Desktop のインストール ディレクトリ(例: C:\Program Files\ArcGIS\Desktop10.1\TilingSchemes)にあります。
- 既存のマップ サービス キャッシュからタイル スキーマ ファイルを読み込みます。すべてのマップ キャッシュには、キャッシュ ディレクトリ(C:\arcgisserver\arcgiscache\MyService\MyDataFrame\conf.xml)にタイル スキーマ ファイル conf.xml があります。
- 独自のタイル スキーマ ファイルを作成します。詳細については、ArcGIS for Server ヘルプの「使用可能なマップ キャッシュ プロパティ」をご参照ください。
-
このツールからの出力フィーチャクラスは、[ラベル → タイル分割されたアノテーション(Tiled Labels to Annotation)] ツールへの入力として使用できます。
-
[タイルを座標系の水平線上にクリップ] パラメータで、特定の地理座標系または投影座標系の有効使用領域を、座標系の水平線として指定します。
構文
パラメータ | 説明 | データ タイプ |
map_document |
ソース マップ ドキュメント | ArcMap Document |
data_frame |
ソース マップ ドキュメントからのデータ フレーム | String |
tiling_scheme |
定義済みタイル スキーマ *.xml ファイルへのパス | File |
output_feature_class |
出力ポリゴン フィーチャクラス | Feature Class |
use_map_extent |
タイル スキーマ範囲全体にタイルを生成するか、それともデータ フレームの全範囲と交差するタイルのみを生成するかを選択します。
| Boolean |
clip_to_horizon |
データ フレームの地理座標系、または投影座標系のどちらの有効使用領域に対して、ポリゴンを拘束するかを選択します。
| Boolean |
antialiasing (オプション) | アンチエイリアスが有効化されたマップ サービス キャッシュと一致するポリゴンを、生成するかどうかを選択します。マップ サービス キャッシュのスーパータイルのサイズは 2048 x 2048 ピクセル(アンチエイリアスを使用)、または 4096 x 4096 ピクセル(アンチエイリアスを不使用)です。アンチエイリアスが既存のキャッシュで使用されているかどうかを確認するには、conf.xml というタイル スキーマ ファイルを開いて、<Antialiasing> タグが True に設定されているかどうかを確認してください。
| Boolean |
levels [level,...] (オプション) | ポリゴンを作成する基準となる縮尺レベル。タイル スキーマに収録されているすべての縮尺レベルでポリゴンを作成する場合は、このパラメータを空白のままにしてください。タイル スキーマに収録されている縮尺レベルの全部、または一部のみに対してポリゴンを作成するように選択できます。しかし、別途に縮尺レベルを追加する場合は、タイル スキーマ ファイルを変更するか、新規に作成する必要があります。 | Double |
コードのサンプル
次のスタンドアロン スクリプトは、MapServerCacheTilingSchemeToPolygons(マップ サービス キャッシュ タイル スキーマ → ポリゴン)関数の使用方法を、例を挙げて示したものです。
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.MapServerCacheTilingSchemeToPolygons_cartography("C:/data/Annotation.mxd",
"Layers",
"C:/Program Files/ArcGIS/Desktop10.1/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml",
"Tiles","USE_MAP_EXTENT","CLIP_TO_HORIZON", "NONE", "")
次のスクリプトは、MapServerCacheTilingSchemeToPolygons(マップ サービス キャッシュ タイル スキーマ → ポリゴン)関数と TiledLabelsToAnnotation(ラベル → タイル分割されたアノテーション)関数を使用するワークフローを示しています。
# Name: MapServerCacheTilingSchemeToPolygons_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.
# Requirements: ArcGIS for Desktop Advanced license
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inTilingScheme = "C:/Program Files/ArcGIS/Desktop10.1/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml"
outFeatureClass = "C:/data/data.gdb/Tiles"
inTileExtent = "USE_MAP_EXTENT"
inClipping = "CLIP_TO_HORIZON"
inAntialiasing = "NONE"
inScales = ""
# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(inMapDocument, inDataFrame, inTilingScheme, outFeatureClass,
inTileExtent, inClipping, inAntialiasing, inScales)
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inPolygonIndexLayer = "Tiles"
inOutGeodatabase = "C:/data/data.gdb"
outOutLayer = "GroupAnno"
inAnnoSuffix = "Anno"
inRefScaleValue = ""
inRefScaleField = "Tile_Scale"
inTileIDField = "OID"
inCoordSysField = ""
inMapRotationField = ""
inFeatureLinked = "STANDARD"
inGenerateUnplaced = "GENERATE_UNPLACED_ANNOTATION"
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(inMapDocument, inDataFrame, inPolygonIndexLayer, inOutGeodatabase,
outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField,
inTileIDField, inCoordSysField, inMapRotationField,inFeatureLinked,
inGenerateUnplaced)