グローブ サービス キャッシュのタイルを管理(Manage Globe Server Cache Tiles) (サーバ)

サマリ

タイルを既存のグローブ サービス キャッシュ内に作成し、更新します。このツールは、新しいタイルの作成、欠落したタイルの補充、古くなったタイルの上書き、または新しいタイルの追加に使用します。そのようなすべてのアクションは、表示範囲枠あるいはポリゴン フィーチャクラスによって定義できます。新しいタイルを構築する場合には、空のタイルのみを作成するか、またはすべてのタイルを再構築するかを選択することができます。

使用法

構文

ManageGlobeServerCacheTiles_Server (server_name, object_name, {update_extent}, in_layers, {thread_count}, update_mode, {update_feature_class}, {ignore_status})
パラメータ説明データ タイプ
server_name

タイルを管理するグローブ サービスをホストする、ArcGIS Server コンピュータ。

String
object_name

タイルが変更されるグローブ サービス。

String
update_extent
(オプション)

更新モードにしたがって、タイルが作成または削除される、矩形の表示範囲。範囲の値を入力するか、または既存のデータ ソースから範囲を選択することができます。

Extent
in_layers
[in_layers,...]

キャッシュ内に含めるレイヤを選択します。

レイヤのキャッシングを開始する詳細のレベルである、[level_from] と、レイヤのキャッシングを終了する詳細のレベルである、[level_to] を、各レイヤに提供する必要があります。[level_from] と [level_to] に対して、それぞれ最小/最大の詳細レベルの縮尺を使用した場合、レイヤ用に全キャッシュが構築されます。

Value Table
thread_count
(オプション)

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

Long
update_mode

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

  • Recreate Empty Tiles空タイルだけを作成します。既存のタイルは未変更のままです。
  • Recreate All Tiles既存のタイルを含めたすべてのタイルを補充します。また、レイヤのデータ範囲が変更するか、または新しいレイヤがグローブサービスに追加されてこのツールに表示された場合には、新しいタイルが追加されます。
String
update_feature_class
(オプション)

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

Feature Class
ignore_status
(オプション)

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

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

コードのサンプル

この例では、グローブ サービス用の完全キャッシュを作成します。

#ManageGlobeServerCacheTiles example (stand-alone script)

# Name: ManageGlobeServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to update the
#               globe map server cache tiles
# 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 values
# 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"
globeServerObject = "tstGlobeService"
inputLayers = ""
extents = ""
cacheDir = "C:\\arcgisserver\\arcgiscache\\GlobeCache"
threadCount = "2"
updateMode = "Recreate All Tiles"
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.ManageGlobeServerCacheTiles_server (server, globeServerObject, 
                                              extents, updateMode,
                                              inputLayers, threadCount,
                                              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 the GlobeServer cache successfully for mapservice "
    + globeServerObject + "\n   at " + cacheDir + globeServerObject
    + " 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 the globe server cache successfully"

環境

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

関連項目

ライセンス情報

ArcView: 必須 3D Analyst
ArcEditor: 必須 3D Analyst
ArcInfo: 必須 3D Analyst

7/10/2012