マップ サービス キャッシュ タイル スキーマの作成(Generate Map Server Cache Tiling Scheme) (サーバ)
サマリ
マップ サービス キャッシュの縮尺レベル、タイル サイズ、およびその他のプロパティを定義する、XML タイル スキーマ ファイルを生成します。このツールは、複数のキャッシュで使用されるタイル スキーマを作成する場合に便利です。ArcCatalog または Manager でのキャッシュ作成時に、タイル スキーマ ファイルを読み込むことも、あるいは [マップ サービス キャッシュの作成] を実行し、タイル スキーマ ファイルをパラメータとして受け渡すこともできます。
タイル スキーマは、キャッシュ内のタイルの参照方法を示し、ソース マップ ドキュメントの空間参照とタイル グリッドの間のマッピングを行います。タイル グリッドは、スキーマに参照づけられた縮尺レベル、行、および列を使用します。スキーマは、キャッシュのタイルの縮尺レベル(詳細レベル)、タイルのサイズ(ピクセル単位)、および最もよく表示されるタイルの画面解像度も定義します。タイル スキーマは、マップ キャッシュを生成するために必要です。
使用法
ArcCatalog または Manager でキャッシュをすでに定義した場合には、このツールを実行する必要はありません。キャッシュ フォルダ内にタイル スキーマ(conf.xml)が設定されるので、他のキャッシュを作成する際に参照することができます。
-
デフォルトでは、タイル原点は、サービスのソース マップ ドキュメントによって使用される座標系の左上隅が開始場所になっています。
-
一度キャッシュが作成されると、縮尺レベルはタイルスキーマの中で唯一変更ができる項目です。縮尺レベルの追加または削除を行うには、[マップ サービス キャッシュの縮尺を管理] を使用します。
構文
| パラメータ | 説明 | データ タイプ |
map_document |
タイルスキーマに使用されるソース マップ ドキュメント | File |
data_frame |
タイルスキーマに使用されるデータ フレーム | String |
tile_origin |
ソース データ フレームの空間参照座標でのタイル スキーマ(左上隅) | Point |
tiling_schema |
作成するタイル スキーマ ファイルのパスとファイル名 | File |
cache_levels |
タイル スキーマの縮尺レベルの数 | Long |
levels [levels,...] |
タイルスキーマ内に含める縮尺レベルこれらは分数としては表されません。代わりに、500 を使用して 1:500 などの目盛を表します。 | Value Table |
dpi |
対象となる出力デバイスの 1 インチあたりのドット数。選択した DPI が出力デバイスの解像度と一致していない場合、その縮尺のマップ タイルは正しく表示されません。デフォルト値は 96 です。 | Long |
tile_width |
キャッシュ タイルの幅(ピクセル単位)デフォルト値は 256 です。パフォーマンスと管理容易性の最適なバランスを得るには、256 または 512 の標準幅から外れないようにしてください。 | Long |
tile_height |
キャッシュ タイルの高さ(ピクセル単位)デフォルト値は 256 です。パフォーマンスと管理容易性の最適なバランスを得るには、256 または 512 の標準幅から外れないようにしてください。 | Long |
コードのサンプル
この例では、マップ キャッシュ タイル スキーマを 4 つの縮尺で作成します。
# GeneateMapServerCacheTilingScheme example (stand-alone script)
# 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
pathToMapDocument = "C:/data/94/Portland/mxd/_M_Portland_classic_FGDB_Local.mxd"
dataFrame = ""
pathForXml = "C:/data/port.xml"
tileOrigin = ""
scales = "4"
scaleValues = "500000,250000,125000,64000"
tileWidth = "256"
tileHeight = "256"
dpi = "96"
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.GenerateMapServerCacheTilingScheme_server( pathToMapDocument,
dataFrame, tileOrigin,
pathForXml,scales,
scaleValues, dpi,
tileWidth, tileHeight)
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"
+ pathToMapDocument + " at "+ pathForXml + " 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()