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

サマリー

既存の Web タイル レイヤー キャッシュ (ArcGIS Enterprise または ArcGIS Online)、ArcGIS Enterprise のマップ イメージ レイヤー、およびスタンドアロン サーバーのキャッシュ済みマップまたはイメージ サービスにタイル作成し、更新します。 このツールは、新しいタイルの作成、欠落したタイルの補充、古くなったタイルの上書き、またはタイルの削除に使用します。

使用法

  • このツールは、広大な地理的範囲または非常に大縮尺をカバーするキャッシュを行う場合、実行に時間がかかることがあります。 もしツールがキャンセルされると、タイルの作成は停止しますが、既存のタイルは削除されません。 つまり、時間がないときにはツールをキャンセルし、後で [更新方法] パラメーターを [空タイルを再作成] に設定して、同じキャッシュに対して再度ツールを実行することができます。

パラメーター

ラベル説明データ タイプ
入力サービス

キャッシュ タイルを更新する Web タイル レイヤー、Web イメージ レイヤーまたはマップ イメージ レイヤー。

Image Service; Map Server
縮尺

タイルを作成する縮尺レベルのリスト。

デフォルトでは、ツール ダイアログ ボックスのリストには、サービスの最小と最大のキャッシュ縮尺の間にある縮尺が表示されます。 ArcGIS Pro でサービスのキャッシュ縮尺範囲を変更することはできません。

Double
更新モード

キャッシュの更新に使用されるモードを指定します。

  • 空タイルを再作成空のタイルだけを作成します。 既存のタイルは未変更のままです。 このオプションは、ArcGIS Online に公開された Web タイル レイヤーでは使用できません。
  • すべてのタイルを再作成既存のタイルを置き換え、範囲が変更された場合は新しいタイルを追加します。
  • タイルの削除タイルはキャッシュから削除されます。 キャッシュ フォルダー構造は削除されません。
String
キャッシュ サービスのインスタンス数
(オプション)

このツールの実行に専用で使用する、System/CachingTools サービスのインスタンス数の合計。 デフォルト値である -1 を使用した場合、ArcGIS Enterprise 設定のすべてのキャッシュ ツール インスタンスが使用されます。 使用するキャッシュ ツール インスタンスの数を減らすには値を小さくします。

ArcGIS Server への管理者接続を通して使用できる [サービス エディター] ウィンドウで、System/CachingTools サービスの [コンピューターごとのインスタンスの最大数] 設定の値を大きく変更することができます。 選択したインスタンス数を、サーバー コンピューターでサポートできることを確認してください。

スタンドアロン サーバーに接続する際は、インスタンスのデフォルトの数字とキャッシュ ツール サービスの [インスタンスの最大数] 設定の値が等しくなるようにします。

Long
対象エリア
(オプション)

タイルを作成または削除する範囲を制限する対象地域。 このパラメーターは、不規則な形状のエリアでタイルを管理する場合に便利です。 一部のエリアだけを事前にキャッシュして、表示頻度の低いエリアをキャッシュしない場合にも有効です。

このパラメーターに値を指定しない場合、デフォルト値のマップ全体表示が使用されます。

Feature Set
更新範囲
(オプション)

[更新モード] パラメーターの値に従って、タイルを作成または削除するのに使用される矩形の範囲。 [更新範囲][対象地域] 両方のパラメーター値を指定した場合、[対象地域] の値が使用されます。

  • [現在の表示範囲] マップ ビュー - 範囲は、アクティブなマップまたはシーンに基づきます。 このオプションは、アクティブなマップが存在する場合にのみ使用できます。
  • [範囲の描画] 直角化して完了 - 範囲は、マップまたはシーンに描画された四角形に基づきます。 このオプションは、プロジェクト ジオデータベースにフィーチャクラスを作成し、レイヤーをマップに追加します。 フィーチャクラスの座標系はマップと同じです。
    注意:

    このオプションは、[環境] ダイアログ ボックスでは使用できません。 範囲データ タイプを使用するツール パラメーターまたはツール ダイアログ ボックスの [環境] タブからのみ使用できます。

    注意:

    編集タブで編集を有効/無効にする編集オプションがオンの場合、範囲を描画するには [編集] リボン タブで編集を有効化する必要があります。

  • [レイヤーの範囲] レイヤー - 範囲は、アクティブなマップ レイヤーに基づきます。 ドロップダウン リストを使用して使用可能なレイヤーを選択するか、[すべてのレイヤーのデータの範囲] オプションを使用して、ベースマップを除くすべてのアクティブなマップ レイヤーを組み合わせた範囲を取得します。 このオプションは、レイヤーを含むアクティブなマップが存在する場合にのみ使用できます。

    各マップ レイヤーには、次のオプションがあります。

    • [すべてのフィーチャ] すべて選択 - レイヤーのすべてのフィーチャの範囲。
    • [選択フィーチャ]選択フィーチャからのエリア - レイヤーの選択フィーチャの範囲。
    • [表示フィーチャ] Extent Indicator - レイヤーの表示フィーチャの範囲。
      注意:

      [選択フィーチャ] 選択フィーチャからのエリア[表示フィーチャ] Extent Indicator オプションの範囲は、フィーチャ レイヤーでのみ使用できます。

  • [参照] 参照 - 範囲は、既存のデータに基づきます。
  • [クリップボード] 貼り付け - 範囲をクリップボードにコピーしたり、クリップボードから貼り付けたりできます。
    • [範囲をコピー] コピー - 範囲の座標と座標系をクリップボードにコピーします。
    • [範囲を貼り付け] 貼り付け - 範囲の座標と、必要に応じて座標系をクリップボードから貼り付けます。 クリップボードの値に座標系が含まれていない場合、マップの座標系が範囲に使用されます。
    注意:

    範囲の座標は、ArcPy Extent オブジェクトと同じ書式と順序 (x-min、y-min、x-max、y-max、空間参照) を使用して、クリップボードからコピーおよびクリップボードから貼り付けられます。

  • [範囲をリセット] リセット - 範囲はデフォルト値にリセットされます。
  • 手動入力した座標値 - 座標値は数値であり、アクティブなマップの座標系で表示する必要があります。
    注意:

    マップで、入力された座標と異なる表示単位が使用されることがあります。 基本方向 (N、S、E、W) を使用することはできません。 南と西の座標にはマイナス値の記号を使用します。

Extent
ジョブの完了を待機
(オプション)

キャッシュ ジョブを ArcGIS Online または Portal for ArcGIS 上で実行しながら、このツールを引き続き実行するかどうかを指定します。

  • オン - キャッシュ ジョブを ArcGIS Online または Portal for ArcGIS 上で実行しながら、このツールが引き続き実行されます。 このオプションを使用すると、いつでも詳細な進行状況のレポートをリクエストして、表示されるジオプロセシング メッセージを確認できます。 これがデフォルトです。
  • オフ - ジョブがポータルに送信され、ArcGIS Pro で他のジオプロセシング タスクを実行したり、終了できるようにします。 サービスを公開するときにキャッシュを自動的に作成する場合にこのオプションを使用します。 作成する別のキャッシュでこのオプションを設定することもできます。
Boolean
ポータル URL
(オプション)

ポータルの URL。

String

派生した出力

ラベル説明データ タイプ
出力マップ サービス URL

出力 URL。

String

arcpy.server.ManageMapServerCacheTiles(input_service, scales, update_mode, {num_of_caching_service_instances}, {area_of_interest}, {update_extent}, {wait_for_job_completion}, {portal_url})
名前説明データ タイプ
input_service

キャッシュ タイルを更新する Web タイル レイヤー、Web イメージ レイヤーまたはマップ イメージ レイヤー。

Image Service; Map Server
scales
[scales,...]

タイルを作成する縮尺レベルのリスト。

Double
update_mode

キャッシュの更新に使用されるモードを指定します。

  • RECREATE_EMPTY_TILES空のタイルだけを作成します。 既存のタイルは未変更のままです。 このオプションは、ArcGIS Online に公開された Web タイル レイヤーでは使用できません。
  • RECREATE_ALL_TILES既存のタイルを置き換え、範囲が変更された場合は新しいタイルを追加します。
  • DELETE_TILESタイルはキャッシュから削除されます。 キャッシュ フォルダー構造は削除されません。
String
num_of_caching_service_instances
(オプション)

このツールの実行に専用で使用する、System/CachingTools サービスのインスタンス数の合計。 デフォルト値である -1 を使用した場合、ArcGIS Enterprise 設定のすべてのキャッシュ ツール インスタンスが使用されます。 使用するキャッシュ ツール インスタンスの数を減らすには値を小さくします。

ArcGIS Server への管理者接続を通して使用できる [サービス エディター] ウィンドウで、System/CachingTools サービスの [コンピューターごとのインスタンスの最大数] 設定の値を大きく変更することができます。 選択したインスタンス数を、サーバー コンピューターでサポートできることを確認してください。

スタンドアロン サーバーに接続する際は、インスタンスのデフォルトの数字とキャッシュ ツール サービスの [インスタンスの最大数] 設定の値が等しくなるようにします。

Long
area_of_interest
(オプション)

タイルを作成または削除する範囲を制限する対象地域。 このパラメーターは、不規則な形状のエリアでタイルを管理する場合に便利です。 一部のエリアだけを事前にキャッシュして、表示頻度の低いエリアをキャッシュしない場合にも有効です。

このパラメーターに値を指定しない場合、デフォルト値のマップ全体表示が使用されます。

Feature Set
update_extent
(オプション)

update_mode パラメーターの値に従って、タイルを作成または削除するのに使用される矩形の範囲。 update_extentarea_of_interest 両方のパラメーター値を指定した場合、area_of_interest の値が使用されます。

  • MAXOF - すべての入力データの最大範囲が使用されます。
  • MINOF - すべての入力データに共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • レイヤー名 - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • 座標のスペース区切りの文字列 - 指定した文字列の範囲が使用されます。 座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent
wait_for_job_completion
(オプション)

キャッシュ ジョブを ArcGIS Online または Portal for ArcGIS 上で実行しながら、このツールを引き続き実行するかどうかを指定します。

  • WAITキャッシュ ジョブを ArcGIS Online または Portal for ArcGIS 上で実行しながら、このツールが引き続き実行されます。 このオプションを使用すると、いつでも詳細な進行状況のレポートをリクエストして、表示されるジオプロセシング メッセージを確認できます。 これがデフォルトです。 Python スクリプトでは、このオプションを使用することをお勧めします。
  • DO_NOT_WAITジョブがサーバーに送信され、他のジオプロセシング タスクを実行できます。 サービスを公開するときにキャッシュを自動的に作成する場合にこのオプションを使用します。 作成する別のキャッシュでこのオプションを設定することもできます。
Boolean
portal_url
(オプション)

ポータルの URL。

String

派生した出力

名前説明データ タイプ
out_job_url

出力 URL。

String

コードのサンプル

ManageMapServerCacheTiles の例 (スタンドアロン スクリプト)

以下は、対象エリアを使用してマップまたはイメージ サービスですべてのキャッシュ タイルを再作成する方法を示したものです。

# Name: ManageMapServerCacheTiles.py
# Description: The following stand-alone script demonstrates how to Recreate all 
#               cache tiles for for a map or image service using an area of interest.
#               This tool works for weblayers published to ArcGIS Enterprise and ArcGIS Online.
#               and for map and image services on a stand alone ArcGIS Server

# Example: This sample script updates map cache tiles.

import arcpy
import os

# Sign in to portal
myPortal= "https://www.myArcGISEnterprise.com/webadaptor"
arcpy.SignInToPortal(myPortal, "MyUserName", "MyPassword")
serviceName= "MyCounty"
serviceType= "MapServer"
myPortalServiceURL = (myPortal + "/" + "rest/services" +"/" + serviceName + "/" + serviceType)


# Stand alone ArcGIS Server
target_server_connection = r"C:\Project\gisserver.ags.esri.com (publisher).ags"
serviceName= "MyCounty"
serviceType= "MapServer"
myServerServiceURL= target_server_connection + "/" + serviceName + "." + serviceType


#variables for reporting
currentTime = datetime.datetime.now()
arg1 = currentTime.strftime("%H-%M")
arg2 = currentTime.strftime("%Y-%m-%d %H:%M")
file = 'C:/data/report_%s.txt' % arg1


# List of input variables for map or image service 
scales = [500000,250000]
numOfCachingServiceInstances = 8
updateMode = "RECREATE_ALL_TILES"
areaOfInterest = "C:/data/shp/CaTxFlMaMin.shp"
waitForJobCompletion = "WAIT"
updateExtents = ""
portalURL =""

# Variables for reporting
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:
    result = arcpy.server.ManageMapServerCacheTiles(mytest, scales, updateMode,
                                                    numOfCachingServiceInstances, areaOfInterest,
                                                    updateExtents, waitForJobCompletion,
                                                    portalURL)
    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 " + serviceName )
    
except Exception as e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno)
    report.write(e.message)
report.close()

print ("Completed update of cache tiles for " + serviceName)

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック