マップ サービス キャッシュのタイルを管理(Manage Map Server Cache Tiles) (サーバ)

サマリ

タイルを既存のマップ サービス キャッシュ内に作成し、更新します。このツールは、新しいタイルの作成、欠落したタイルの補充、古くなったタイルの上書き、またはタイルの削除に使用します。

使用法

構文

ManageMapServerCacheTiles_Server (server_name, object_name, data_frame, Layer, levels, update_mode, {constraining_extent}, {thread_count}, {Antialiasing}, {update_feature_class}, {ignore_status})
パラメータ説明データ タイプ
server_name

タイルを更新するマップ サービスをホストする、ArcGIS Server コンピュータ。

String
object_name

タイルを更新するマップ サービス。

注意注意:

このツールを使用する前に、マップ サービスのタイル スキーマが定義されているか確認してください。[サービス プロパティ] ダイアログ ボックスの [キャッシュ] タブ、または [マップ サービス キャッシュの作成(Create Map Server Cache)] ツールを使用してタイル スキーマを作成することができます。

String
data_frame

マップ サービス用のソース データ フレーム。

String
Layer
[Layer,...]

キャッシュから削除する対象のレイヤ。

String
levels

このツールの実行中に、更新モードにしたがって、タイルを作成または削除する縮尺レベル。

Double
update_mode

キャッシュを更新するときのモードを選択します。次の 3 つのモードがあります。

  • Recreate Empty Tiles空タイルだけを作成します。既存のタイルは未変更のままです。
  • Recreate All Tiles範囲が変化した場合、またはレイヤがマルチレイヤ キャッシュに追加された場合には、既存のタイルは置き換えられ、新しいタイルが追加されます。
  • Delete Tilesタイルはキャッシュから削除されます。キャッシュ フォルダ構造は削除されません。キャッシュをフォルダ構造も含めて完全に削除したい場合には、[マップ サービス キャッシュの削除(Delete Map Server Cache)] ツールを使用します。
String
constraining_extent
(オプション)

更新モードにしたがって、タイルを作成または削除する、矩形の表示範囲枠

Extent
thread_count
(オプション)

このツールの実行時に使用するマップ サービスのインスタンス数。デフォルトでは、インスタンスの最大数が使用されます(ArcGIS Server サービスの場合、デフォルトは 2 です)。サーバ リソースに余裕がある場合は、最大許容インスタンス数を引き上げることができます。それには、サービスの [サービス プロパティ] ダイアログ ボックスで最大インスタンス数を引き上げてから、ツールの実行時にこのパラメータ値を増分してください。

Long
Antialiasing
(オプション)

これは除外された非推奨のパラメータです。タイル スキーマのアンチエイリアス プロパティは、アンチエイリアスをキャッシュに適用するかを決定します。

Boolean
update_feature_class
(オプション)

ポリゴン フィーチャクラスを使用して、フィーチャクラス内のフィーチャの範囲に基づいて、タイルを管理(作成、更新、削除)することができます。たとえば 1 つの国をキャッシュしている場合は、主要都市部のフィーチャクラスを指定することができます。そうすることで、それらの都市部をカバーするタイルだけをサーバに事前に作成するよう要求できます。残りのエリアは、クライアントによってリクエストされたときにオンデマンドでキャッシュすることができます。これにより、郊外地域のタイルの作成に費やす時間とディスク領域を節約することができます。

Feature Class
ignore_status
(オプション)

このパラメータを使用すると、フィーチャクラスの境界線に基づいてタイルを作成している場合に、キャッシングのステータスを追跡することができます(update_feature_class パラメータを参照)。

  • IGNORE_COMPLETION_STATUS_FIELDフィーチャクラスの [Completed] フィールドを無視し、フィーチャクラス内のすべてのフィーチャにタイルを作成します。これはデフォルトです。
  • TRACK_COMPLETION_STATUSフィーチャクラスの [Completed] フィールドを読み取ります(まだ存在していない場合は作成します)。このフィールドが [No](いいえ) または NULL にマークされているフィーチャは、フィーチャのキャッシングが完了したときに [Yes](はい) にマークされます。このフィールドがすでに [Yes](はい) にマークされているフィーチャは、キャッシュ対象外になります。
Boolean

コードのサンプル

この例では、[Recreate All Tiles] オプションを使用して、キャッシュ内のすべてのタイルを作成または更新します。

# ManageMapServerCacheTiles example (stand-alone script)

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all 
#               cache tiles for the default number of scales in the cache tiling
#               scheme.
# Requirements: os, sys, time and 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
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
inputLayers = ""
scaleValues = ""
extents = ""
updateMode = "Recreate All Tiles"
antialiasing = "NONE"
threadCount = "2"
pathToFeatureClass = ""
ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD"

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.ManageMapServerCacheTiles_server(server, service, dataFrame,
                                           inputLayers, scaleValues, updateMode,
                                           extents, threadCount ,Antialiasing,
                                           pathToFeatureClass, ignoreStatus)
    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 tiles for given schema 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)
report.close()
    
print "Created Map server Cache Tiles "

この例では、[Recreate Empty Tiles] オプションを使用して、空のタイルを一部の縮尺で更新します。

# ManageMapServerCacheTiles example (stand-alone script)

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all 
#               cache tiles for the default number of scales in the cache tiling
#               scheme.
# Requirements: os, sys, time and 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
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
inputLayers = ""
scaleValues = ""
extents = ""
updateMode = "Recreate All Tiles"
antialiasing = "NONE"
threadCount = "2"
pathToFeatureClass = ""
ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD"

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.ManageMapServerCacheTiles_server(server, service, dataFrame,
                                           inputLayers, scaleValues, updateMode,
                                           extents, threadCount ,Antialiasing,
                                           pathToFeatureClass, ignoreStatus)
    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 tiles for given schema 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)
report.close()
    
print "Created Map server Cache Tiles "

この例では、タイルの更新をフィーチャクラスの境界に固定します。

# ManageMapServerCacheTiles example (stand-alone script)

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all 
#               cache tiles for the default number of scales in the cache tiling
#               scheme.
# Requirements: os, sys, time and 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
server = "MyServer"
service = "Rainfall"
dataFrame = "" 
inputLayers = ""
scaleValues = ""
extents = ""
updateMode = "Recreate All Tiles"
antialiasing = "NONE"
threadCount = "2"
pathToFeatureClass = ""
ignoreStatus = "IGNORE_COMPLETION_STATUS_FIELD"

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.ManageMapServerCacheTiles_server(server, service, dataFrame,
                                           inputLayers, scaleValues, updateMode,
                                           extents, threadCount ,Antialiasing,
                                           pathToFeatureClass, ignoreStatus)
    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 tiles for given schema 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)
report.close()
    
print "Created Map server Cache Tiles "

環境

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

関連項目

ライセンス情報

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

7/10/2012