マップ サービス キャッシュの作成(Create Map Server Cache) (サーバ)

サマリ

マップ サービス キャッシュ用のタイル スキーマおよびフォルダを作成します。このツールの実行後は、[マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles)] を実行して、タイルをキャッシュに追加できます。

使用法

構文

CreateMapServerCache_Server (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}, {levels}, {Layer}, {Antialiasing}, {cache_format}, {tile_compression_quality}, {storage_format}, use_local_cache_dir)
パラメータ説明データ タイプ
server_name

キャッシュを作成するサービスをホストする ArcGIS Server コンピュータ。

String
object_name

キャッシュを作成するマップ サービス。

String
data_frame

キャッシュを作成するマップのデータ フレーム。

String
out_folder

キャッシュの親ディレクトリ。この ArcGIS Server キャッシュ ディレクトリは、登録済みのものでなければなりません。

String
tiling_scheme_type

新しい(NEW)タイル スキーマまたは定義済み(PREDEFINED)のタイル スキーマの使用を選択します。このツールで新しいタイル スキーマを定義するか、または定義済みタイル スキーマ(*.xml)を参照することができます。定義済みスキーマは、[マップ サービス キャッシュ タイル スキ-マの作成(Generate Map Server Cache Tiling Scheme)] ツールを実行することによって作成することができます。

  • NEW縮尺レベル、イメージ形式、格納形式その他を定義するために、このツールのさまざまなパラメータを使用して新しいタイル スキーマを定義します。これがデフォルトです。
  • PREDEFINEDすでにディスク上に名前が存在するタイル スキーマ *.xml ファイルを指定します。[マップ サービス キャッシュ タイル スキーマの作成(Generate Map Server Cache Tiling Scheme)] を使用して、タイル スキーマ ファイルを作成することができます。
String
scales_type

タイルの縮尺を定義する方法を指定します。

  • STANDARD[縮尺レベル数] フィールドで定義された数値に基づいて、縮尺レベルが自動的に生成されます。1:1000000 から 0.5 倍ずつ増減するレベルが使用されます。開始レベルとしては、ソース マップ ドキュメントの範囲に最も近いレベルが使用されます。たとえば、ソース マップ ドキュメントの範囲が 1:121,000,000 で、3 つの縮尺レベルが定義されている場合を考えてみましょう。マップ サービスは、1:128,000,000、1:64,000,000、1:32,000,000 の縮尺レベルでキャッシュを作成します。これがデフォルトです。
  • CUSTOMキャッシュ設計者が希望する縮尺を入力することを許可します。
String
num_of_scales

キャッシュ内に作成される縮尺レベルの数。縮尺のカスタム リストを作成した場合、このオプションは無効です。

Long
dpi

対象となる出力デバイスの 1 インチあたりのドット数。選択した DPI が出力デバイスの解像度と一致していない場合、その縮尺のマップ タイルは正しく表示されません。デフォルト値は 96 です。

Long
tile_width

キャッシュ タイルの幅(ピクセル単位)。デフォルト値は 256 です。パフォーマンスと管理容易性の最適なバランスを得るには、256 または 512 の標準幅から外れないようにしてください。

Long
tile_height

キャッシュ タイルの高さ(ピクセル単位)。デフォルト値は 256 です。パフォーマンスと管理容易性の最適なバランスを得るには、256 または 512 の標準幅から外れないようにしてください。

Long
map_or_layers
(オプション)

融合 キャッシュ(FUSED)またはマルチレイヤ キャッシュ(MULTI_LAYER)を生成対象として選択します。

  • FUSED ソース マップ ドキュメントのすべてのレイヤの融合イメージとして各タイルを作成する場合に選択します。これは、マップのキャッシュとしては最も効率のよい方法で、デフォルトで選択されています。すべてのレイヤが 1 つの画像に融合されるため、このサービスを利用するクライアント アプリケーションで個々のレイヤのオン/オフを切り替えることはできません。レイヤの表示設定を切り替える必要がある場合には、それぞれのサービスとキャッシュに分離しなければなりません。
  • MULTI_LAYERサブキャッシュ内にタイルを整理する場合にこのオプションを選択します。サブキャッシュはそれぞれソース マップ ドキュメント内のレイヤを表現します。このキャッシュ方法では、このサービスを利用するクライアント アプリケーションで個々のレイヤのオン/オフを切り替えることができます。ただし、さらに多くのタイルが作成されて、クライアントは、別々の画像を取得しオーバーレイするタスクを実行することが必要になります。このオプションは、Web クライアントで利用するキャッシュには避けるべきです。
String
tiling_schema
(オプション)

定義済みタイル スキーマ ファイル(ファイル名は通常 conf.xml)へのパス。

File
tile_origin
(オプション)

ソース マップ ドキュメントの空間参照座標での、タイル スキーマの原点(左上隅)。ソース マップ ドキュメントの範囲は、この原点の内側であることが条件となります(ただし、この領域と一致している必要はありません)。

Point
levels
[levels,...]
(オプション)

利用可能なキャッシュの縮尺レベル。これらは分数としては表されません。代わりに、500 を使用して 1:500 などの目盛を表します。

String
Layer
[Layer,...]
(オプション)

マルチレイヤ キャッシュ タイプを選択した場合に、キャッシュ内に含めるレイヤ。

String
Antialiasing
(オプション)

タイルのレンダリング時にアンチエイリアスを使用するかどうかを指定します。アンチエイリアスを選択した場合、ライン、境界線、テキストのエッジがなめらかになります。このオプションを使用すると、パフォーマンスが低下します。MXD ベースのマップ サービス(MSD ファイル内にアンチエイリアスが定義されている MSD ベースのマップ サービスとは対照的)を利用している場合、パフォーマンスの低下が著しくなります。ラスタ イメージに対しては、アンチエイリアスを使用してもメリットがありません。

マップ サービスのソースが MSD ファイルである場合、その MSD 内にアンチエイリアスを定義してある限り、このツールのオプションを選択したかどうかに関係なく、アンチエイリアスがキャッシュに適用されます。

  • NONEアンチエイリアスは適用されません。これがデフォルトです。
  • ANTIALIASINGアンチエイリアスは適用されます。
Boolean
cache_format
(オプション)

キャッシュ内のタイル用に PNG8、PNG24、PNG32、JPEG または MIXED のうちのいずれかのファイル形式を選択します。PNG8 がデフォルトです。

  • PNG88 ビット カラーの可逆イメージ形式で、インデックス カラー パレットとアルファ テーブルを使用します。各ピクセルには、値(0 ~ 255)が格納されていて、カラー パレット内のカラー、およびアルファ テーブル内の透過表示色のルックアップに使用されます。8 ビット PNG は、GIF イメージと類似しており、ほとんどの Web ブラウザによって、背景の透過に対する最高のサポートを得ることができます。
  • PNG243 チャンネルの可逆イメージ形式で、多くのカラー バリエーション(1,600 万色)をサポートし、透過表示も限定的にサポートします。各ピクセルには 8 ビット カラー チャンネル 3 つが格納されていて、ファイル ヘッダーには透明な背景を表す単一色が格納されています。ArcMap 内では、透明背景色を表すカラーを設定できます。バージョン 7 より前の Internet Explorer のバージョンでは、この種類の透過表示はサポートされていません。PNG24 を使用したキャッシュは、PNG8 または JPEG を使用したものに比べはるかに容量が大きいため、クライアントの処理に費やすディスク容量も、帯域幅の所要量も多くなります。
  • PNG324 チャンネルの可逆イメージ形式で、多くのカラー バリエーション(1,600 万色)と透過表示をサポートします。各ピクセルには、8 ビット カラー チャンネル 3 つと、各ピクセルの透過表示レベルを表す 8 ビット アルファ チャンネル 1 つが格納されています。PNG32 フォーマットでは、0 ~ 255 の範囲で部分的に透明なピクセルが得られるのに対し、ArcGIS Server キャッシュ生成ツールが透過表示チャンネルに書き込む値は、0(完全に透明)または 255(完全に不透明)に限られます。PNG32 を使用したキャッシュは、サポートされている他のフォーマットに比べはるかに容量が大きいため、クライアントの処理に費やすディスク容量も、帯域幅の所要量も多くなります。
  • JPEG3 チャンネルの非可逆イメージ形式で、多くのカラー バリエーション(1,600 万色)をサポートしますが、透過表示はサポートしません。各ピクセルには、8 ビット カラー チャンネル 3 つが格納されています。JPEG を使用したキャッシュは、出力品質とサイズを制御します。
  • MIXED透過表示が適用された場所すべて(つまり、データ フレームの背景が見える場所すべて)で PNG 32 を作成します。残りのタイル用に JPEG を作成します。これにより、他のキャッシュ上への重ね合わせをしつつ、平均ファイル サイズを小さく抑えられます。
String
tile_compression_quality
(オプション)

JPEG 圧縮品質を得るには、値を 1 ~ 100 の範囲で入力します。JPEG タイル フォーマットのデフォルト値は 75 で、他のフォーマットのデフォルト値は 0 です。

圧縮は JPEG 形式だけでサポートされます。高い値を選択すると、作成されるファイルのサイズは大きくなり、画像の品質は向上します。低い値を選択すると、作成されるファイルのサイズは小さくなり、画像の品質は低下します。

Long
storage_format
(オプション)

各タイルを「エクスプロード」形式を使用して別々のファイルに格納する代わりに、「コンパクト」格納形式を使用して、タイルを大きな *.bundle ファイルにグループ化するかどうかを選択します。コンパクト格納形式は、格納と移動の点で、より効率的です。

String
use_local_cache_dir

コンパクト キャッシュを作成する際に、バンドル ファイルを共有キャッシュ ディレクトリに直接書き込む代わりに、サーバのローカル ディレクトリに書き込むかどうかを選択します。このオプションを選択した場合、バンドルが完成次第、共有キャッシュ ディレクトリにコピーされます。このオプションにより、複数のコンピュータがキャッシュ作業を実行している際にパフォーマンスが向上します。

  • TRUEバンドルに格納されているタイルがローカル ディレクトリに書き込まれ、バンドルが完成次第、共有キャッシュ ディレクトリにコピーされます。格納形式がコンパクト形式である場合、これがデフォルトです。
  • FALSEタイルは直接、共有キャッシュ ディレクトリに書き込まれます。格納形式がエクスプロード形式である場合、このオプションのみが有効です。
Boolean

コードのサンプル

この例では、「標準」タイプの縮尺を使って、マップ キャッシュを作成します。

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# Requirements: os, sys, time & traceback modules

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
#                                                           "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, string, datetime, traceback

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

# List of input variables for map service properties
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/data/report_%s.txt' % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    finishtime = time.clock()
    elapsedtime = finishtime - starttime

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print "Created cache schema with custom scales successfully for "
    + service + " in " + str(elapsedtime) + " sec \n on " + arg2 

except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
print "Executed creation of map server Cache schema using custom scales"

report.close()

この例では、「カスタム」縮尺を使って、マップ キャッシュを作成します。

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# Requirements: os, sys, time & traceback modules

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
#                                                           "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, string, datetime, traceback

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

# List of input variables for map service properties
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/data/report_%s.txt' % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    finishtime = time.clock()
    elapsedtime = finishtime - starttime

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print "Created cache schema with custom scales successfully for "
    + service + " in " + str(elapsedtime) + " sec \n on " + arg2 

except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
print "Executed creation of map server Cache schema using custom scales"

report.close()

この例では、定義済みタイル スキーマを使って、マップ キャッシュを作成します。

# CreateMapServerCache example (stand-alone script)

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using Custom scales & jpg image format with Antialiasing feature turned on
# Requirements: os, sys, time & traceback modules

# Any line that begins with a pound sign is a comment and will not be executed
# Empty quotes take the default value.
# To accept arguments from the command line replace values of variables to
#                                                           "sys.argv[]"

# Import system modules
import arcpy
from arcpy import env
import os, sys, time, string, datetime, traceback

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

# List of input variables for map service properties
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
cacheDir = "C:\\arcgisserver\\arcgiscache\\"
tilingScheme = "NEW"
scalesType = "CUSTOM"
extents = ""
tileOrigin = ""
scales = "4"
dpi = "96"
scaleValues = "600265;350200;225400;44000"
tileWidth = "256"
tileHeight = "256"
cacheType = "FUSED"
inputLayers = ""
pathToXML = ""
antialiasing = "ANTIALIASING"
tileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "Compact"
useLocalCacheDir = "True"

currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/data/report_%s.txt' % arg1

# print results of the script to a report
report = open(file,'w')

try:
    starttime = time.clock()
    result = arcpy.CreateMapServerCache_server(server, service, dataFrame, cacheDir,
                                      tilingScheme, scalesType, scales, dpi,
                                      tileWidth, tileHeight, cacheType,
                                      pathToXml, tileOrigin, scaleValues,
                                      inputLayers, antialiasing, tileFormat,
                                      tileCompressionQuality,
                                      storageFormat, useLocalCacheDir)
    finishtime = time.clock()
    elapsedtime = finishtime - starttime

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print "Created cache schema with custom scales successfully for "
    + service + " in " + str(elapsedtime) + " sec \n on " + arg2 

except Exception, e:
    # If an error occurred, print line number and error message
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
print "Executed creation of map server Cache schema using custom scales"

report.close()

環境

このツールは、ジオプロセシング環境を使用しません

関連項目

ライセンス情報

ArcView: 必須 ◎
ArcEditor: 必須 ◎
ArcInfo: 必須 ◎

7/10/2012