マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme) (サーバー)

サマリー

タイル スキーマは、キャッシュ内のタイルの参照方法を示し、ソース マップ ドキュメントの空間参照とタイル グリッドの間のマッピングを行います。タイル グリッドは、スキーマに参照付けられた詳細レベル (縮尺)、行、および列を使用します。スキーマは、キャッシュのタイルの縮尺レベル (詳細レベル)、タイルのサイズ (ピクセル単位)、および最もよく表示されるタイルの画面解像度も定義します。タイル スキーマは、マップ キャッシュを生成するために必要です。

使用法

  • デフォルトでは、タイル原点は、サービスのソース マップ ドキュメントによって使用される座標系の左上隅が開始場所になっています。

パラメーター

ラベル説明データ タイプ
タイルの原点 (マップ単位)

ソース データ フレームの空間参照座標でのタイル スキーマ (左上隅)。

Point
出力タイル スキーマ

作成するタイル スキーマ ファイルのパスとファイル名。

File
縮尺レベル数

タイル スキーマの縮尺レベルの数。

Long
縮尺

タイル スキーマ内に含める縮尺レベル。これらは分数としては表されません。代わりに、500 を使用して 1:500 などの目盛を表します。

Value Table
解像度 (DPI または PPI)

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

Long
タイル サイズ

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

  • 128 x 128128 x 128 ピクセル
  • 256 x 256256 x 256 ピクセル
  • 512 x 512512 x 512 ピクセル
  • 1024 x 10241024 x 1024 ピクセル
String

arcpy.management.GenerateMapServerCacheTilingScheme(tile_origin, output_tiling_scheme, num_of_scales, scales, dots_per_inch, tile_size)
名前説明データ タイプ
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 の標準寸法から外れないようにしてください。

  • 128 x 128128 x 128 ピクセル
  • 256 x 256256 x 256 ピクセル
  • 512 x 512512 x 512 ピクセル
  • 1024 x 10241024 x 1024 ピクセル
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.server.GenerateMapServerCacheTilingScheme(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 as 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(str(e))

print("Created Map server Cache Tiling schema ")

report.close()