マップ サービス キャッシュの作成 (Create Map Server Cache) (サーバー)

サマリー

マップまたはイメージ サービス キャッシュ用のタイル スキーマおよびフォルダーを作成します。 このツールの実行後は、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] を使用して、タイルをキャッシュに追加できます。

使用法

  • このツールは、ArcGIS Enterprise のマップ レイヤーとイメージ レイヤーおよび ArcGIS Server のマップ サービスとイメージ サービスに対してのみ機能します。

  • ラスター データは、JPEG または混合イメージ形式を使用して公開するのが最適です。 ベクター マップで JPEG または混合形式を使用する場合は、高い圧縮品質値 (90 など) を使用して、ラインやテキストの不鮮明さを軽減します。 ベクター データは PNG 形式を使用して公開することもできます。

  • [すぐに利用できる形式] パラメーターがオンになっている場合、タイル パッケージのオープン仕様を使用してキャッシュ コンテンツが生成されます。 キャッシュの形式は Compact V2 ですが、キャッシュ スキーマは XML ではなく JSON で格納されます。 このキャッシュ コンテンツを公開とオフラインのワークフロー用のタイル パッケージとして zip アーカイブにパッケージ化できます。 「キャッシュ データセットからのタイル レイヤーの公開」のトピックで説明しているワークフローに従って、このキャッシュ コンテンツをすぐに利用できます。

  • キャッシュのイメージ形式は、キャッシュが生成された後で変更することはできません。 別の形式に変更する前に、キャッシュを最初に削除しなければなりません。

パラメーター

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

キャッシュされるマップまたはイメージ レイヤー。 マップまたはイメージ レイヤーを [カタログ] ウィンドウからドラッグして、このパラメーターを設定できます。

Image Service; Map Server
サービス キャッシュ ディレクトリ

キャッシュの親ディレクトリ。 この ArcGIS Server キャッシュ ディレクトリは、登録済みのものでなければなりません。

String
タイル スキーマ

タイル スキーマの定義方法を指定します。 新しいタイル スキーマを定義するか、または定義済みのタイル スキーマ ファイル (.xml) を参照することができます。 定義済みスキーマは、[マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme)] ツールを実行することによって生成できます。

  • 新規縮尺レベル、画像形式、格納形式その他を定義するために、このツールの他のパラメーターを使用してタイル スキーマを定義します。 これがデフォルトです。
  • 定義済み.xml ファイルを使用してタイル スキーマを定義します。 [マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme)] ツールを使用して、タイル スキーマ ファイルを生成することができます。
String
縮尺タイプ

タイルの縮尺方法を指定します。

  • 標準縮尺は、縮尺レベル数の値に基づいて自動的に生成されます。 1:1,000,000 から 0.5 倍ずつ増減するレベルが使用されます。開始レベルとしては、ソース マップ ドキュメントの範囲に最も近いレベルが使用されます。 たとえば、ソース マップ ドキュメントの範囲が 1:121,000,000 で、定義されている縮尺レベルが 3 の場合、マップ サービスは 1:128,000,000、1:64,000,000、1:32,000,000 の縮尺レベルでキャッシュを作成します。 これがデフォルトです。
  • カスタムキャッシュ デザイナーが縮尺を決定します。
String
縮尺レベル数

キャッシュ内に作成される縮尺レベルの数。 縮尺のカスタム リストを作成した場合、このパラメーターは無効です。

Long
解像度 (DPI または PPI)

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

Long
タイル サイズ (ピクセル)

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

  • 128 x 128キャッシュ タイルの幅と高さは 128 x 128 ピクセルです。
  • 256 x 256キャッシュ タイルの幅と高さは 256 x 256 ピクセルです。 これがデフォルトです。
  • 512 x 512キャッシュ タイルの幅と高さは 512 x 512 ピクセルです。
  • 1024 x 1024キャッシュ タイルの幅と高さは 1024 x 1024 ピクセルです。
String
定義済みタイル スキーマ
(オプション)

定義済みのタイル スキーマ ファイル (ファイル名は通常 conf.xml) へのパス。

File
タイルの原点 (マップ単位)
(オプション)

ソース マップ ドキュメントの空間参照座標での、タイル スキーマの原点 (左上隅)。 ソース マップ ドキュメントの範囲は、この原点の内側であることが条件となります (ただし、この領域と一致している必要はありません)。

Point
縮尺
(オプション)

利用可能なキャッシュの縮尺レベル。 これらは分数としては表されません。 代わりに、500 を使用して 1:500 などの目盛を表します。

Value Table
キャッシュ タイル フォーマット
(オプション)

使用するキャッシュ タイル フォーマットを指定します。

  • PNGさまざまなビット深度の PNG 形式が使用されます。 ビット深度は、タイルのカラー バリエーションと透過値に従って最適化されます。 これがデフォルトです。
  • PNG8インデックス カラー パレットとアルファ テーブルを使用する 8 ビット カラーの可逆画像形式が使用されます。 各ピクセルには、値 (0 - 255) が格納されていて、カラー パレット内のカラー、およびアルファ テーブル内の透過表示色のルックアップに使用されます。 8 ビット PNG 画像は、GIF 画像と類似しており、ほとんどの Web ブラウザーは PNG 画像で背景の透過をサポートします。
  • PNG24大量のカラー バリエーション (1600 万色) をサポートし、透過表示も限定的にサポートする、3 チャンネルの可逆画像形式が使用されます。 各ピクセルには 3 つの 8 ビット カラー チャンネルが格納されていて、ファイル ヘッダーには透明な背景を表す単一色が格納されています。 バージョン 7 より前の Microsoft Internet Explorer のバージョンでは、この種類の透過表示はサポートされていません。 PNG24 を使用したキャッシュは、PNG8 または JPEG を使用したものに比べはるかに容量が大きいため、クライアントの処理に費やすディスク容量も、帯域幅の所要量も多くなります。
  • PNG32多くのカラー バリエーション (1,600 万色) と透過表示をサポートする 4 チャンネルの可逆画像形式が使用されます。 各ピクセルには、8 ビット カラー チャンネル 3 つと、各ピクセルの透過表示レベルを表す 8 ビット アルファ チャンネル 1 つが格納されています。 PNG32 形式では、0 〜 255 の範囲で部分的に透明なピクセルが得られるのに対し、ArcGIS Server キャッシュ生成ツールが透過表示チャンネルに書き込む値は、0 (完全に透明) または 255 (完全に不透明) に限られます。 PNG32 を使用したキャッシュは、サポートされている他の形式に比べはるかに容量が大きいため、クライアントの処理に費やすディスク容量も、帯域幅の所要量も多くなります。
  • JPEG多くのカラー バリエーション (1,600 万色) をサポートするが、透過表示はサポートしない、3 チャンネルの非可逆画像形式が使用されます。 各ピクセルには、8 ビット カラー チャンネル 3 つが格納されています。 JPEG を使用したキャッシュは、出力品質とサイズを制御します。
  • 混合透過表示が検出される場所 (つまり、データ フレームの背景が表示される場所) ならどこにでも PNG32 形式が作成されます。 残りのタイルでは、JPEG 形式が作成されます。 これにより、平均ファイル サイズが小さく抑えられるとともに、他のキャッシュ上にきれいにオーバーレイすることができます。
String
タイル圧縮品質
(オプション)

使用される JPEG の圧縮品質 (1 ~ 100)。 JPEG タイル フォーマットのデフォルト値は 75 で、他のフォーマットのデフォルト値は 0 です。

圧縮は JPEG 形式だけでサポートされます。 高い値を選択すると、作成されるファイルのサイズは大きくなり、画像の品質は向上します。 低い値を選択すると、作成されるファイルのサイズは小さくなり、画像の品質は低下します。

Long
格納形式
(オプション)

タイルに使用する格納形式を指定します。

レガシー:

このパラメーターは非推奨になりました。 指定されている格納形式にかかわらず、Compact V2 格納形式が必ず使用されます。

  • コンパクトCompact V2 格納形式を使用して、バンドルと呼ばれる大きなファイルにタイルがグループ化されます。 この格納形式は、格納と移動性の点で効率的です。 これがデフォルトです。
  • エクスプロードこのオプションは非推奨です。 Compact V2 格納形式が必ず使用されます。
String
すぐに利用できる形式
(オプション)

タイル パッケージのオープン仕様を使用してキャッシュ コンテンツを生成するかどうかを指定し、キャッシュ スキーマのファイル形式を指定します。

  • オン - キャッシュ コンテンツはタイル パッケージのオープン仕様を使用して生成されます。 タイル パッケージをオフライン ワークフロー用のタイル パッケージとして zip アーカイブにパッケージ化できます。 キャッシュの形式は Compact V2 になり、キャッシュ スキーマは JSON 形式で格納されます。
  • オフ - キャッシュ コンテンツは XML 形式で格納されているスキーマを使用して生成されます。 キャッシュを以前のバージョンの ArcGIS Enterprise にコピーするには、このオプションを使用します。 これがデフォルトです。

Boolean

派生した出力

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

出力マップ サービス URL。

String

arcpy.server.CreateMapServerCache(input_service, service_cache_directory, tiling_scheme_type, scales_type, num_of_scales, dots_per_inch, tile_size, {predefined_tiling_scheme}, {tile_origin}, {scales}, {cache_tile_format}, {tile_compression_quality}, {storage_format}, {ready_to_serve_format})
名前説明データ タイプ
input_service

キャッシュされるマップまたはイメージ レイヤー。

Image Service; Map Server
service_cache_directory

キャッシュの親ディレクトリ。 この ArcGIS Server キャッシュ ディレクトリは、登録済みのものでなければなりません。

String
tiling_scheme_type

タイル スキーマの定義方法を指定します。 新しいタイル スキーマを定義するか、または定義済みのタイル スキーマ ファイル (.xml) を参照することができます。 定義済みスキーマは、[マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme)] ツールを実行することによって生成できます。

  • NEW縮尺レベル、画像形式、格納形式その他を定義するために、このツールの他のパラメーターを使用してタイル スキーマを定義します。 これがデフォルトです。
  • PREDEFINED.xml ファイルを使用してタイル スキーマを定義します。 [マップ サービス キャッシュ タイル スキーマの生成 (Generate Map Server Cache Tiling Scheme)] ツールを使用して、タイル スキーマ ファイルを生成することができます。
String
scales_type

タイルの縮尺方法を指定します。

  • STANDARD縮尺は、縮尺レベル数の値に基づいて自動的に生成されます。 1:1,000,000 から 0.5 倍ずつ増減するレベルが使用されます。開始レベルとしては、ソース マップ ドキュメントの範囲に最も近いレベルが使用されます。 たとえば、ソース マップ ドキュメントの範囲が 1:121,000,000 で、定義されている縮尺レベルが 3 の場合、マップ サービスは 1:128,000,000、1:64,000,000、1:32,000,000 の縮尺レベルでキャッシュを作成します。 これがデフォルトです。
  • CUSTOMキャッシュ デザイナーが縮尺を決定します。
String
num_of_scales

キャッシュ内に作成される縮尺レベルの数。 縮尺のカスタム リストを作成した場合、このパラメーターは無効です。

Long
dots_per_inch

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

Long
tile_size

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

  • 128 x 128キャッシュ タイルの幅と高さは 128 x 128 ピクセルです。
  • 256 x 256キャッシュ タイルの幅と高さは 256 x 256 ピクセルです。 これがデフォルトです。
  • 512 x 512キャッシュ タイルの幅と高さは 512 x 512 ピクセルです。
  • 1024 x 1024キャッシュ タイルの幅と高さは 1024 x 1024 ピクセルです。
String
predefined_tiling_scheme
(オプション)

定義済みのタイル スキーマ ファイル (ファイル名は通常 conf.xml) へのパス。

File
tile_origin
(オプション)

ソース マップ ドキュメントの空間参照座標での、タイル スキーマの原点 (左上隅)。 ソース マップ ドキュメントの範囲は、この原点の内側であることが条件となります (ただし、この領域と一致している必要はありません)。

Point
scales
[scales,...]
(オプション)

利用可能なキャッシュの縮尺レベル。 これらは分数としては表されません。 代わりに、500 を使用して 1:500 などの目盛を表します。

Value Table
cache_tile_format
(オプション)

使用するキャッシュ タイル フォーマットを指定します。

  • PNGさまざまなビット深度の PNG 形式が使用されます。 ビット深度は、タイルのカラー バリエーションと透過値に従って最適化されます。 これがデフォルトです。
  • PNG8インデックス カラー パレットとアルファ テーブルを使用する 8 ビット カラーの可逆画像形式が使用されます。 各ピクセルには、値 (0 - 255) が格納されていて、カラー パレット内のカラー、およびアルファ テーブル内の透過表示色のルックアップに使用されます。 8 ビット PNG 画像は、GIF 画像と類似しており、ほとんどの Web ブラウザーは PNG 画像で背景の透過をサポートします。
  • PNG24大量のカラー バリエーション (1600 万色) をサポートし、透過表示も限定的にサポートする、3 チャンネルの可逆画像形式が使用されます。 各ピクセルには 3 つの 8 ビット カラー チャンネルが格納されていて、ファイル ヘッダーには透明な背景を表す単一色が格納されています。 バージョン 7 より前の Microsoft Internet Explorer のバージョンでは、この種類の透過表示はサポートされていません。 PNG24 を使用したキャッシュは、PNG8 または JPEG を使用したものに比べはるかに容量が大きいため、クライアントの処理に費やすディスク容量も、帯域幅の所要量も多くなります。
  • PNG32多くのカラー バリエーション (1,600 万色) と透過表示をサポートする 4 チャンネルの可逆画像形式が使用されます。 各ピクセルには、8 ビット カラー チャンネル 3 つと、各ピクセルの透過表示レベルを表す 8 ビット アルファ チャンネル 1 つが格納されています。 PNG32 形式では、0 〜 255 の範囲で部分的に透明なピクセルが得られるのに対し、ArcGIS Server キャッシュ生成ツールが透過表示チャンネルに書き込む値は、0 (完全に透明) または 255 (完全に不透明) に限られます。 PNG32 を使用したキャッシュは、サポートされている他の形式に比べはるかに容量が大きいため、クライアントの処理に費やすディスク容量も、帯域幅の所要量も多くなります。
  • JPEG多くのカラー バリエーション (1,600 万色) をサポートするが、透過表示はサポートしない、3 チャンネルの非可逆画像形式が使用されます。 各ピクセルには、8 ビット カラー チャンネル 3 つが格納されています。 JPEG を使用したキャッシュは、出力品質とサイズを制御します。
  • MIXED透過表示が検出される場所 (つまり、データ フレームの背景が表示される場所) ならどこにでも PNG32 形式が作成されます。 残りのタイルでは、JPEG 形式が作成されます。 これにより、平均ファイル サイズが小さく抑えられるとともに、他のキャッシュ上にきれいにオーバーレイすることができます。
String
tile_compression_quality
(オプション)

使用される JPEG の圧縮品質 (1 ~ 100)。 JPEG タイル フォーマットのデフォルト値は 75 で、他のフォーマットのデフォルト値は 0 です。

圧縮は JPEG 形式だけでサポートされます。 高い値を選択すると、作成されるファイルのサイズは大きくなり、画像の品質は向上します。 低い値を選択すると、作成されるファイルのサイズは小さくなり、画像の品質は低下します。

Long
storage_format
(オプション)

タイルに使用する格納形式を指定します。

レガシー:

このパラメーターは非推奨になりました。 指定されている格納形式にかかわらず、Compact V2 格納形式が必ず使用されます。

  • COMPACTCompact V2 格納形式を使用して、バンドルと呼ばれる大きなファイルにタイルがグループ化されます。 この格納形式は、格納と移動性の点で効率的です。 これがデフォルトです。
  • EXPLODEDこのオプションは非推奨です。 Compact V2 格納形式が必ず使用されます。
String
ready_to_serve_format
(オプション)

タイル パッケージのオープン仕様を使用してキャッシュ コンテンツを生成するかどうかを指定し、キャッシュ スキーマのファイル形式を指定します。

  • READY_TO_SERVE_FORMATキャッシュ コンテンツはタイル パッケージのオープン仕様 (https://github.com/Esri/tile-package-spec) を使用して生成されます。 タイル パッケージをオフライン ワークフロー用のタイル パッケージとして zip アーカイブにパッケージ化できます。 キャッシュの形式は Compact V2 になり、キャッシュ スキーマは JSON 形式で格納されます。
  • NON_READY_TO_SERVE_FORMATキャッシュ コンテンツは XML 形式で格納されているスキーマを使用して生成されます。 キャッシュを以前のバージョンの ArcGIS Enterprise にコピーするには、このオプションを使用します。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
out_service_url

出力マップ サービス URL。

String

コードのサンプル

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

次の例では、STANDARD 縮尺タイプを使用して、マップ サービス キャッシュ用のタイル スキーマおよびフォルダーを作成します。 このスクリプトの実行後は、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを実行して、タイルをキャッシュに追加できます。

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using standard tiling schema for weblayers published to ArcGIS Enterprise and ArcGIS Online.
#               and for map and image services on a stand alone ArcGIS Server
# 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
import traceback, sys

# Set environment settings
env.workspace = "C:/data"

# Sign in to portal
myPortal= "https://MyPortal.domain.com/portalwebadaptor"
arcpy.SignInToPortal(myPortal, "siteadminValue", "siteadminPassword")
myServer="https://Myserver.domain.com/serverwebadaptor"
serviceName= "SampleWorldCities"
serviceType= "MapServer"
myPortalServiceURL = (myServer + "/" + "rest/services" +"/" + serviceName + "/"
                      + serviceType)

print (myPortalServiceURL)

# Stand alone ArcGIS Server
##target_server_connection = r"C:\share\python3\arcgis on MyServer"
##serviceName= "States"
##serviceType= "MapServer"
##myServerServiceURL= target_server_connection + "/" + serviceName + "." + serviceType


serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache\\"
tilingSchemeType = "NEW"
scalesType = "STANDARD"
numOfScales = "4"
scales = ""
dotsPerInch = "96"
tileOrigin = ""
scales = ""
tileSize = "256 x 256"
cacheTileFormat = "PNG32"
tileCompressionQuality = ""
storageFormat = "COMPACT"
predefinedTilingScheme = ""
ready_to_serve_format="READY_TO_SERVE_FORMAT"

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

# print results of the script to a report
report = open(file,'w')

try:
##    starttime = time.clock()
    result = arcpy.server.CreateMapServerCache(myPortalServiceURL,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales,
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat,
					       ready_to_serve_format)

##    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 schema with 4 scales & default properties for" + \
##        myServerServiceURL + " in " + str(elapsedtime) + " sec \n on " + arg2)
    print("Created cache schema with 4 scales & default properties for" + \
        myServerServiceURL + " in " + 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(e.message)
    report.write(str(e))

print("Executed creation of Map server Cache schema ")
report.close()
CreateMapServerCache の例 2 (スタンドアロン スクリプト)

次の例では、CUSTOM 縮尺タイプを使用して、マップ サービス キャッシュ用のタイル スキーマおよびフォルダーを作成します。 このスクリプトの実行後は、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを実行して、タイルをキャッシュに追加できます。

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#              using Custom scales & jpg image format.
# 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, string, datetime, traceback

# Set environment settings
env.workspace = "C:/data"

# List of input variables for map service properties
# Sign in to portal
myPortal= "https://MyPortal.domain.com/portalwebadaptor"
arcpy.SignInToPortal(myPortal, "siteadminValue", "siteadminPassword")
myServer= "https://Myserver.domain.com/serverwebadaptor"
serviceName= "SampleWorldCities"
serviceType= "MapServer"
myPortalServiceURL = (myServer + "/" + "rest/services" +"/" + serviceName + "/"
                      + serviceType)

print (myPortalServiceURL)

serviceCacheDirectory = "C:\\arcgisserver\\arcgiscache"
tilingSchemeType = "NEW"
scalesType = "CUSTOM"
numOfScales = "4"
dotsPerInch = "96"
tileSize = "256 x 256"
predefinedTilingScheme = ""
tileOrigin = ""
scales = "600265;350200;225400;44000"
cacheTileFormat = "JPEG"
tileCompressionQuality = "75"
storageFormat = "COMPACT"


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.CreateMapServerCache(myPortalServiceURL,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales,
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat)


    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print("Created cache schema with custom scales successfully for " + \
        serviceName + " 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("Executed creation of map server Cache schema using custom scales")

report.close()
CreateMapServerCache (マップ サービス キャッシュの作成) の例 3 (スタンドアロン スクリプト)

次の例では、PREDEFINED タイル スキーマを使用して、マップ サービス キャッシュ用のタイル スキーマおよびフォルダーを作成します。 このスクリプトの実行後は、[マップ サービス キャッシュのタイルを管理 (Manage Map Server Cache Tiles)] ツールを実行して、タイルをキャッシュに追加できます。

# Name: CreateMapServerCache.py
# Description: The following stand-alone script demonstrates how to create map
#               using existing predefined schema in a ready to serve format
# 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 = "E:/data"

# Sign in to portal
myPortal= "https://MyPortal.domain.com/portalwebadaptor"
arcpy.SignInToPortal(myPortal, "siteadminValue", "siteadminPassword")
myServer= "https://Myserver.domain.com/serverwebadaptor"
serviceName= "SampleWorldCities"
serviceType= "MapServer"
myPortalServiceURL = (myServer + "/" + "rest/services" +"/" + serviceName + "/"
                      + serviceType)

print (myPortalServiceURL)

# Stand alone ArcGIS Server
##target_server_connection = r"C:\share\python3\arcgis on MyServer"
##serviceName= "States"
##serviceType= "MapServer"
##myServerServiceURL= target_server_connection + "/" + serviceName + "." + serviceType


# List of input variables for map service properties
serviceCacheDirectory = "C:\\arcgisserver\\directories\\arcgiscache"
tilingSchemeType = "PREDEFINED"
scalesType = ""
tileOrigin = ""
scalesType = ""
numOfScales = ""
scales = ""
dotsPerInch = "96"
tileSize = "256 x 256"
cacheTileFormat = "MIXED"
tileCompressionQuality = "75"
storageFormat = "COMPACT"
predefinedTilingScheme = "C:/data/TilingSchemes/ArcGIS_Online_Bing_Maps_Google_Maps.xml"
ready_to_serve_format="READY_TO_SERVE_FORMAT"

#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.CreateMapServerCache(myPortalServiceURL,
                                               serviceCacheDirectory,
                                               tilingSchemeType, scalesType,
                                               numOfScales, dotsPerInch,
                                               tileSize, predefinedTilingScheme,
                                               tileOrigin, scales,
                                               cacheTileFormat,
                                               tileCompressionQuality,
                                               storageFormat,
                                               ready_to_serve_format)

    #print messages to a file
    while result.status < 4:
        time.sleep(0.2)
    resultValue = result.getMessages()
    report.write ("completed " + str(resultValue))

    print("Created cache schema using predefined tiling schema for " + \
        serviceName + " in "  + 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("Executed creation of map server Cache schema using tiling scheme")
report.close()

環境

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

ライセンス情報

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

関連トピック