マップ サービス キャッシュの作成(Generate Map Server Cache) (サーバ)
サマリ
ArcGIS Server マップ サービスに対して、静的なイメージ タイルのキャッシュを生成します。
このツールは非推奨のツールです。新しいワークフローでは、[マップ サービス キャッシュの作成(Create Map Server Cache)] を使ってキャッシュを初期化し、その後 [マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles)] を使用してキャッシュにタイルを追加します。
使用法
-
このツールは、ArcGIS Server のマップ サービスに対してのみ機能します。
-
このツールを実行する前に、できるだけ多くのインスタンスを使用するようにマップ サービスを構成します。これによりキャッシュの生成時間を劇的に短縮します。
-
一度に表示できるデータ フレームは 1 つだけです。別のデータ フレームが必要な場合には、各マップ サービスに関連付けられたキャッシュを個別に生成する必要があります。
-
タイル スキーマは、クライアントに対してキャッシュ内のタイルの参照方法を決定します。新しいタイル スキーマを作成することができます。または、[マップ サービス キャッシュ タイル スキーマの作成(Generate Map Server Cache Tiling Scheme)] ツールで作成された既存のタイル スキーマを使用することができます。
-
ほとんどの場合に使用できる融合キャッシュ。マップ内のすべてのレイヤは、指定された各縮尺レベルで、単一のイメージに合成された後、多くのタイルに分割されます。
-
レイヤ表示のオン/オフを切り替えたい場合には、マルチ レイヤ キャッシュを使用します。
-
縮尺パラメータの数は、ツールがキャッシュ内でレイヤを作成する際の異なるマップ縮尺の数です。
-
非常に広い範囲のマップ(大きな国、州など)の高い縮尺レベルを計算することは、多くの作成時間を要するおそれがあります。例として、北米全体を 1:100,000 よりも大きなマップの縮尺レベル用のタイル サイズを計算する場合などです。
-
キャッシュ内でイメージ圧縮を使用する主な利点は、イメージ タイルのサイズを削減して、ネットワークのパフォーマンスを向上させることです。クライアントとサーバ間で送信するデータの量が少なくなるため、大きくシームレスなラスタ データセット(数テラバイト レベル)をキャッシュし、それらをクライアントにすばやく提供して表示することができます。さらに、ディスク上のキャッシュ サイズが大幅に小さくなるという利点もあります。
-
このツールを使用して、既存のキャッシュに(縮尺)レベルの追加をする場合には、必ず元の縮尺レベルに使用されていたものと同じ圧縮係数を指定するようにしてください。
-
JPEG はラスタ データで使用するのに最も適しています。ベクタ データで使用すると、ラインやテキストにぼやけが生じる可能性があります。
-
JPEG ファイル形式は、マルチ レイヤ キャッシュではサポートされていません。
-
キャッシュのタイル形式は、キャッシュが一度生成されると変更することはできません。別のファイル形式に切り替える前に、キャッシュをまず最初に削除しなければなりません。
-
クライアントへのキャッシュ タイルのストリーミング パフォーマンスを最適化するには、JPEG イメージ形式を選択します。パフォーマンスと透過表示の両者に対する最高のサポートを得るためには、PNG8 イメージ形式を選択します。
-
[アンチエイリアス] オプションがオンの場合、ラインとテキストのエッジはなめらかになります。ただし、ラスタ イメージに対しては画質向上の効果はほとんどありません。
-
このツールは、指定された環境設定を受け入れません。
構文
パラメータ | 説明 | データ タイプ |
server_name |
キャッシュを生成するときに使用される ArcGIS Server のホスト名。 | String |
object_name |
キャッシュを生成するときに使用されるマップ サービスの名前。 | String |
data_frame |
キャッシュするマップ ドキュメントのデータ フレーム。必ずマップ サービスのために選択したものと同じデータ フレームを選択するようにしてください。 | String |
out_folder |
このマップ サービス キャッシュの親ディレクトリ。 | String |
tiling_scheme_type |
新しい(NEW)タイル スキーマまたは定義済み(PREDEFINED)のタイル スキーマの使用を選択します。このツールの中に新しいタイル スキーマを定義するか、または定義済みタイル スキーマ(*.xml)をロードすることができます。定義済みスキーマは、[マップ サービス キャッシュ タイル スキーマの作成(Generate Map Server Cache Tiling Scheme)] ジオプロセシング ツールを実行することによって作成することができます。 NEW がデフォルトです。 | Boolean |
scales_type |
縮尺レベルを設定します。
| Boolean |
num_of_scales |
キャッシュ内に作成される縮尺レベルの数。 | Long |
dpi |
対象となる出力デバイスの 1 インチあたりのドット数。選択した DPI が出力デバイスの解像度と一致していない場合、その縮尺のマップ タイルは正しく表示されません。デフォルト値は 96 です。 | Long |
tile_width |
出力マップ タイルの幅(ピクセル単位)。マップの幅が小さければ、ネットワーク経由で転送するデータ量が少なくてすむので、キャッシュからタイルを取得するアプリケーションのパフォーマンスが向上する可能性があります。ただし、タイルのサイズを小さくするとキャッシュ全体のデータ量が大きくなり、その分作成に時間がかかるようになります。デフォルトのタイル幅は 512 です。 | Long |
tile_height |
出力マップ タイルの高さ(ピクセル単位)。マップの高さが小さければ、ネットワーク経由で転送するデータ量が少なくてすむので、キャッシュからタイルを取得するアプリケーションのパフォーマンスが向上する可能性があります。ただし、タイルのサイズを小さくするとキャッシュ全体のデータ量が大きくなり、その分作成に時間がかかるようになります。デフォルトのタイルの高さは 512 です。 | Long |
map_or_layers (オプション) |
融合キャッシュまたはマルチレイヤ キャッシュを生成対象として選択します。
| Boolean |
tiling_schema (オプション) |
定義済みタイル スキーマへのパス。 | String |
tile_origin (オプション) |
ソース マップ ドキュメントの空間参照座標での、タイル スキーマの原点(左上隅)を指定します。ソース マップ ドキュメントの範囲は、この原点の内側であることが条件となります(ただし、この領域と一致している必要はありません)。 | String |
levels Scale; Scale... (オプション) |
マップ サービスをキャッシュする縮尺レベル。 | String |
layer Layer; Layer... (オプション) |
マルチレイヤ キャッシュ タイプを選択した場合に、キャッシュ内に含めるレイヤ。 | String |
thread_count (オプション) |
キャッシュの生成中に使用するマップ サービスのインスタンス数。 | Long |
Antialiasing (オプション) |
タイルのレンダリング時にアンチエイリアスを使用するかどうかを選択します。アンチエイリアスを選択した場合、ライン、境界線、テキストのエッジがなめらかになります。このオプションを使用すると、パフォーマンスが低下します。ラスタ データの場合は無意味です。 | Boolean |
cache_format (オプション) |
キャッシュ内のタイル用に PNG8、PNG24、PNG32 または JPEG のうちのいずれかのファイル形式を選択します。PNG24 がデフォルトです。
| String |
tile_compression_quality (オプション) |
JPEG 圧縮品質を得るには、値を 1 ~ 100 の範囲で入力します。JPEG タイル フォーマットのデフォルト値は 75 で、他のフォーマットのデフォルト値は 0(ゼロ)です。 圧縮は JPEG 形式だけでサポートされます。圧縮レベルはデータに左右されますが、圧縮品質を変更することで制御することもできます。高い値を選択すると、圧縮率は低くなりますが、画像の品質は向上します。低い値を選択すると、圧縮率は高まりますが、画像の品質は低下します。 | Long |
コードのサンプル
# Script Name: Generate Fused Map Server Cache
# Description: Generates a fused map server cache using PNG8 image format
# Uncomment sys.argv[] lines to accept arguments from the command line.
# Import standard library modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
# Set the path to the cache.
# Example: \\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\
out_folder = "\\\\myServer\\arcgiscache\\MyServiceFolder_MyService\\"
#out_folder = sys.argv[1]
# Set the SOM server name
# Example: "mySOM"
server_name = "mySOM"
#server_name = sys.argv[2]
# Set the object_name
# Example: "MyServiceFolder/MyService"
object_name = "MyServiceFolder/MyService"
#object_name = sys.argv[3]
# Set the data frame
# Example: "Layers"
data_frame = "Layers"
#data_frame = sys.argv[4]
# Set the map cache tiling origin
# Example: "-180 90"
tile_origin = "-180 90"
#tile_origin = sys.argv[5]
# Set the scale levels for the cache.
# Example: "2000000;500000;250000"
scales = "2000000;500000;250000"
#scales = sys.argv[6]
# Set the layers to cache.
# Example: "My First Layer;My Second Layer;My Third Layer"
layers = "My First Layer;My Second Layer;My Third Layer"
#layers = sys.argv[7]
# Set number of instances to use while updating the cache
# Example: "3"
thread_count = "3"
#thread_count = sys.argv[8]
# Set cache tile image format.
# Example: "PNG8"
cache_format = "PNG8"
#layers = sys.argv[9]
# Non-argument variable declarations
tiling_scheme_type = "NEW"
tiling_schema = ""
scales_type = "STANDARD"
num_of_scales = "3"
dpi = "96"
tile_width = "512"
tile_height = "512"
map_or_layers = "FUSED"
antialiasing = "ANTIALIASING"
tile_compression_quality = "0"
try:
print 'Starting Cache Generation'
gp.GenerateMapServerCache(server_name, object_name, data_frame, out_folder, tiling_scheme_type, scales_type, num_of_scales, dpi, tile_width, tile_height, map_or_layers, tiling_schema, tile_origin, scales, layers, thread_count, antialiasing, cache_format, tile_compression_quality)
print 'Finished Cache Generation'
except:
gp.AddMessage(gp.GetMessages(2))
print gp.GetMessages(2)