マップ サービス キャッシュ タイル スキーマの生成(Generate Map Server Cache Tiling Scheme) (サーバ)
サマリ
マップ サービス キャッシュの縮尺レベル、タイル サイズ、およびその他のプロパティを定義する、XML タイル スキーマ ファイルを生成します。このツールは、複数のキャッシュで使用されるタイル スキーマを作成する場合に便利です。ArcGIS for Desktop または ArcGIS Server Manager でキャッシュを作成するときにタイル スキーマ ファイルを読み込むか、[マップ サービス キャッシュの作成(Create Map Server Cache)] を実行してタイル スキーマ ファイルをパラメータとして受け渡すことができます。
タイル スキーマは、キャッシュ内のタイルの参照方法を示し、ソース マップ ドキュメントの空間参照とタイル グリッドの間のマッピングを行います。タイル グリッドは、スキーマに参照付けられた詳細レベル(縮尺)、行、および列を使用します。スキーマは、キャッシュのタイルの縮尺レベル(詳細レベル)、タイルのサイズ(ピクセル単位)、および最もよく表示されるタイルの画面解像度も定義します。タイル スキーマは、マップ キャッシュを生成するために必要です。
使用法
ArcGIS for Desktop または ArcGIS Server Manager でキャッシュをすでに定義している場合は、このツールを実行する必要はありません。キャッシュ フォルダ内にタイル スキーマ(conf.xml)が設定されるので、他のキャッシュを作成する際に参照することができます。
-
デフォルトでは、タイル原点は、サービスのソース マップ ドキュメントによって使用される座標系の左上隅が開始場所になっています。
-
一度キャッシュが作成されると、縮尺レベルはタイルスキーマの中で唯一変更ができる項目です。縮尺レベルの追加または削除を行うには、[マップ サービス キャッシュの縮尺を管理(Manage Map Server Cache Scales)] を使用します。
構文
パラメータ | 説明 | データ タイプ |
map_document |
タイルスキーマに使用されるソース マップ ドキュメント | File |
data_frame |
タイルスキーマに使用されるデータ フレーム | String |
tile_origin |
ソース データ フレームの空間参照座標でのタイル スキーマ(左上隅)。 | Point |
output_tiling_scheme |
作成するタイル スキーマ ファイルのパスとファイル名。 | File |
num_of_scales |
タイル スキーマの縮尺レベルの数。 | Long |
scales [scales,...] |
タイルスキーマ内に含める縮尺レベル。これらは分数としては表されません。代わりに、500 を使用して 1:500 などの目盛を表します。 | Value Table |
dots_per_inch |
対象となる出力デバイスの 1 インチあたりのドット数。選択した DPI が出力デバイスの解像度と一致していない場合、その縮尺のマップ タイルは正しく表示されません。デフォルト値は 96 です。 | Long |
tile_size |
キャッシュ タイルの幅と高さ(ピクセル単位)。デフォルトは 256 x 256 です。パフォーマンスと管理容易性の最適なバランスを得るには、256 x 256 または 512 x 512 の標準寸法から外れないようにしてください。
| String |
コードのサンプル
GenerateMapServerCacheTilingScheme(マップ サービス キャッシュ タイル スキーマの作成)の例
マップ キャッシュ タイル スキーマを 4 つの縮尺で作成します。
# Name: GeneateMapServerCacheTilingScheme.py
# Description: The following stand-alone script demonstrates how to create map
# server cache schema using a given map document at a given
# "pathForOutputXml"
# 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, datetime, traceback, string
# Set environment settings
env.workspace = "C:/data"
# List of input variables for map service properties
mapDocument = "C:/data/101/Portland/mxd/_M_Portland_classic_FGDB_Local.mxd"
dataFrame = ""
outputTilingScheme = "C:/data/port.xml"
tileOrigin = ""
numOfScales = "4"
scales = "500000,250000,125000,64000"
tileSize = "256 x 256"
dotsPerInch = "96"
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = r'C:/data/report_%s.txt' % arg1
# print results of the script to a report
report = open(file,'w')
try:
starttime = time.clock()
result = arcpy.GenerateMapServerCacheTilingScheme_server(mapDocument, dataFrame,
tileOrigin, outputTilingScheme,
numOfScales, scales,
dotsPerInch, tileSize)
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 MapServer cache tiling schema successfully using"
mapDocument + " at "+ outputTilingScheme + " 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 "Created Map server Cache Tiling schema "
report.close()