マップ タイル パッケージの作成 (Create Map Tile Package) (データ管理)

概要

マップまたはベースマップからタイルを生成し、そのタイルをパッケージ化して 1 つの *.tpk 圧縮ファイルを作成します。

使用法

  • このツールを実行するには、入力マップに説明とタグを追加する必要があります。説明とタグを追加するには、[コンテンツ] ウィンドウでマップ名を右クリックして [プロパティ] を選択し、[説明] タブで説明とタグを入力します。

  • [タイル形式] パラメーターに PNG を選択すると、ツールは指定された [表示レベル] に基づき、正しい形式 (PNG8、PNG24、PNG32) を自動的に選択します。

  • このツールは、並列処理ファクター環境を優先します。この環境が設定されていない場合 (デフォルト) や 100 に設定されている場合、フル並列処理が有効になり、ツールはコンピューター上のすべての論理コアに作業を分配しようとします。この環境を 0 に設定すると、並列処理は無効になります。ファクターを 1 ~ 99 に指定すると、ツールは次の数式の小数部を切り上げた整数を適用して、使用する論理コアの割合を決定します。

    Parallel Processing Factor / 100 * Logical Cores
    で利用できるような信頼できるデータ ソースを活用してそのデータを補完します。

    この数式の結果が 0 または 1 の場合、並列処理は有効化されません。

構文

arcpy.management.CreateMapTilePackage(in_map, service_type, output_file, format_type, level_of_detail, {service_file}, {summary}, {tags}, {extent}, {compression_quality}, {package_type}, {min_level_of_detail})
パラメーター説明データ タイプ
in_map

タイルを生成およびパッケージ化するマップ。

Map
service_type

タイル スキーマを既存のマップ サービスから生成するか、ArcGIS Online、Bing maps、Google マップのマップ タイルを生成するかを指定します。

  • EXISTING既存のマップ サービスのタイル スキーマを使用します。マップ サービスを service_file パラメーターで指定する必要があります。サーバー側で既存のサービス用にタイル スキーマを作成した組織において、そのタイル スキーマ同士を整合させる場合は、この方法を選択してください。タイル スキーマ間の整合性を確保すると、ArcGIS Runtime アプリケーション内でタイルが正しくオーバーレイされるようになります。このオプションを選択した場合は、インポート対象のタイル スキーマを含むマップと同じ座標系をソース マップ で使用します。
  • ONLINEArcGIS Online/Bing Maps/Google マップのタイル スキーマを使用します。これがデフォルトです。ArcGIS Online、Bing Maps、または Google マップのタイル スキーマを使用すると、これらのオンライン マップ サービスからのタイルでキャッシュ タイルをオーバーレイできます。タイル スキーマの読み込み時に、このタイル スキーマは組み込みオプションとして ArcGIS Desktop に取り込まれます。このタイル スキーマを選択するときは、ソース マップ[WGS 1984 Web メルカトル] (球体補正) 投影座標系を使用する必要があります。ArcGIS Online、Bing Maps、または Google マップでキャッシュをオーバーレイする場合は、ArcGIS Online、Bing Maps、または Google マップのタイル スキーマが必須になります。ArcGIS Online、Bing Maps、Google マップ タイル スキーマのメリットの 1 つは、Web マッピング界に広く知られているため、ご使用のタイルがこのタイル スキーマを使用した他の組織のものと整合させることができることです。そのような既存のマップ サービスをオーバーレイする予定がない場合でも、タイル スキーマを選択することにより、相互運用性を確保できます。ArcGIS Online/Bing Maps/Google マップ タイル スキーマには、マップで使用するには大きすぎる縮尺が含まれている場合もあります。大きな縮尺でのパッケージ化には時間がかかり、ディスク領域をかなり消費します。たとえば、タイル スキーマの最大縮尺は、約 1:1,000 です。米国本土全体をこの縮尺でパッケージ化すると、何週間もかかり、何百ギガバイトものストレージが必要です。この縮尺レベルでパッケージ化する用意がある場合を除き、タイル パッケージを作成するときに、この縮尺レベルを削除してください。
Boolean
output_file

出力マップ タイル パッケージ。

File
format_type

生成するタイルの形式を指定します。

  • PNGPNG を使用し、指定した [詳細レベル] に基づいて正しい形式 ([PNG 8][PNG 24]、または [PNG 32]) が自動的に選択されます。これがデフォルトです。
  • PNG8道路や境界など、背景を透過表示する必要のあるオーバーレイ サービスには、PNG 8 を使用します。PNG 8 を使用すると、情報を失うことなくディスク上に極小サイズのタイルを作成できます。257 色以上をマップに使用している場合は、PNG 8 を使用しないようにしてください。イメージ、陰影起伏、グラデーション塗りつぶし、透過表示およびアンチエイリアスを使用すると、マップがすぐに 257 色以上になる場合があります。高速道路標識などのシンボルであっても、エッジ周囲には繊細なアンチエイリアスが使われている場合があり、予想以上にマップの色が増えてしまいます。
  • PNG24道路や境界など 257 色以上のオーバーレイ サービスには PNG 24 を使用します (256 色未満なら PNG 8 を使用してください)。
  • PNG32道路や境界など 257 色以上のオーバーレイ サービスには、PNG 32 を使用することができます。PNG 32 は、ラインまたはテキストに対してアンチエイリアスが有効にしてあるオーバーレイ サービスに適した選択肢です。PNG 32 では、PNG 24 よりもサイズの大きいタイルがディスク上に作成されます。
  • JPEGカラー バリエーションが豊富で、背景を透過表示する必要のないベースマップ サービスに使用する形式です。たとえば、ラスター画像および非常に詳細なベクター ベースマップはほとんどの場合、JPEG で効率的に処理できます。JPEG は、非可逆画像形式です。画像の見た目に影響を及ぼすことがないように、データが選択的に削除されます。この結果、ディスク上のタイルが非常に小さいサイズになりますが、マップがベクター ラインまたはラベルを含んでいる場合、ライン周囲に非常に多くのノイズや不明瞭領域が生成されることがあります。そのような場合は、デフォルトの圧縮値 75 を増分してください。値を 90 くらいまで増分すると、線画の許容品質と JPEG の小型タイル サイズとのバランスが保てるというメリットがあります。どの程度の画質を許容範囲とするかはユーザーが決定します。ある程度の画像のノイズを許容できる場合は、JPEG を使用することで大量のディスク領域を節約できる場合があります。タイル サイズを縮小すると、アプリケーションがタイルをダウンロードする時間も短縮されます。
  • MIXED混合パッケージは、パッケージの中心部で JPEG を使用し、パッケージのエッジ部で PNG 32 を使用します。他のレイヤー上にラスター パッケージをきれいにオーバーレイしたい場合は、混合モードを使用してください。混合パッケージの作成時には、透過表示が検出される場所 (マップの背景が表示される場所) ならどこにでも PNG 32 タイルが作成されます。残りのタイルの構築には JPEG が使用されます。これにより、平均ファイル サイズが小さく抑えられるとともに、他のパッケージ上にきれいにオーバーレイすることができます。このシナリオで混合モード パッケージを使用しない場合、他のパッケージとオーバーラップする画像周囲に非透過色の領域が表示されます。
String
level_of_detail

パッケージのタイルが生成される最大縮尺。デフォルト値は 1 です。指定できる値は、1 〜 24 です。

この値を大きくすると、より大きな縮尺が反映されて、表示される詳細レベルが向上しますが、必要な格納領域が多くなります。反対に、この値を小さくすると、より小さな縮尺が反映されて、表示される詳細レベルが低下しますが、必要な格納領域が少なくなります。

この値は min_level_of_detail 以上である必要があります。

Long
service_file
(オプション)

タイル スキーマに使用するマップ サービスまたは XML ファイルの名前。このパラメーターは、service_type パラメーターが EXISTING の場合のみ必要です。

MapServer; File
summary
(オプション)

概要情報をパッケージのプロパティに追加します。

String
tags
(オプション)

タグ情報をパッケージのプロパティに追加します。カンマやセミコロンで区切ることで、複数のタグを追加できます。

String
extent
(オプション)

フィーチャを選択またはクリップするために使用される範囲を指定します。

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

JPEG 圧縮品質を得るための値。値の範囲は 1 ~ 100 です。 JPEG タイル フォーマットのデフォルト値は 75 で、他のフォーマットのデフォルト値は 0 (ゼロ) です。

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

Long
package_type
(オプション)

作成するタイル パッケージのタイプを指定します。

  • tpkタイルが Compact 格納形式で格納されます。これは ArcGIS プラットフォーム全体でサポートされています。
  • tpkxタイルが CompactV2 格納形式で格納されます。この格納形式は、ネットワーク共有とクラウド ストア ディレクトリで優れたパフォーマンスを発揮します。これにより、ArcGIS Online 7.1、ArcGIS Enterprise 10.7、ArcGIS Runtime 100.5 など、新しいバージョンの ArcGIS 製品でサポートされているタイプのパッケージの構造が改善および簡素化されます。これがデフォルトです。
String
min_level_of_detail
(オプション)

パッケージのタイルを生成する最小縮尺。デフォルト値は 1 です。指定できる値は、1 〜 24 です。

この値を大きくすると、より大きな縮尺が反映されて、表示される詳細レベルが向上しますが、必要な格納領域が多くなります。反対に、この値を小さくすると、より小さな縮尺が反映されて、表示される詳細レベルが低下しますが、必要な格納領域が少なくなります。

この値は level_of_detail 以下である必要があります。

Long

コードのサンプル

CreateMapTilePackage (マップ タイル パッケージの作成) の例 1 (Python ウィンドウ)

次の Python スクリプトで、CreateMapTilePackage ツールを Python ウィンドウから使用する方法を示します。

import arcpy
arcpy.env.workspace = "C:/TilePackageExample" 
arcpy.CreateMapTilePackage_management("World Soils", "ONLINE", "Example.tpk", "PNG8", "10")
CreateMapTilePackage (マップ タイル パッケージの作成) の例 2 (スタンドアロン スクリプト)

プロジェクト内のすべてのマップ用のマップ タイル パッケージを検索、作成します。

# Name: CreateMapTilePackage.py
# Description: Find all the maps in the project and
#   create a map tile package for each map
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/Tilepackages" 
# Loop through the project, find all the maps, and
#   create a map tile package for each map,
#   using the same name as the map
p = arcpy.mp.ArcGISProject("c:\\temp\\myproject.aprx")
for m in p.listMaps():
    print("Packaging " + m.name)
    arcpy.CreateMapTilePackage_management(m, "ONLINE", "{}.tpk".format(m.name), 
                                          "PNG8", "10")

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック