Create Map Tile Package (Data Management)

Summary

Generates tiles from a map and packages the tiles to create a single compressed tile package (.tpkx file).

Usage

  • The input map must include a description and tags for the tool to run. To add a description and tags, right-click the map name in the Contents pane, select Properties, and provide a description and tags on the Description tab.

  • By choosing PNG for the Tiling Format parameter, the tool will automatically select the correct format (PNG8, PNG24, or PNG32) based on the specified Level of Display value.

  • This tool honors the Parallel Processing Factor environment. If the environment is not set (the default) or is set to 100, full parallel processing will be enabled and the tool will attempt to distribute the work to all the logical cores on the machine. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to determine the percentage of logical cores to use by applying the following formula, rounded up to the nearest integer:

    Parallel Processing Factor / 100 * Logical Cores

    If the result of this formula is 0 or 1, parallel processing will not be enabled.

Parameters

LabelExplanationData Type
Input Map

The map from which tiles will be generated and packaged.

Map
Package for ArcGIS Online | Bing Maps | Google Maps

Specifies whether the tiling scheme will be generated from an existing map service or whether map tiles will be generated for ArcGIS Online, Bing Maps, and Google Maps.

  • Checked—The ArcGIS Online/Bing Maps/Google Maps tiling scheme will be used. This is the default.

    The ArcGIS Online/Bing Maps/Google Maps tiling scheme allows you to overlay cache tiles with tiles from these online mapping services. ArcGIS Desktop includes this tiling scheme as a built-in option when loading a tiling scheme. When you choose this tiling scheme, the source map must use the WGS 1984 Web Mercator (Auxiliary Sphere) projected coordinate system.

    The ArcGIS Online/Bing Maps/Google Maps tiling scheme is required if you'll be overlaying the package with ArcGIS Online, Bing Maps, or Google Maps. One advantage of the ArcGIS Online/Bing Maps/Google Maps tiling scheme is that it is widely known in the web mapping world, so the tiles will match those of other organizations that have used this tiling scheme. Even if you don't plan to overlay any of these well-known map services, you may choose the tiling scheme for its interoperability potential.

    The ArcGIS Online/Bing Maps/Google Maps tiling scheme may contain scales that will be zoomed in too far to be of use in your map. Packaging for large scales can take up time and disk storage space. For example, the largest scale in the tiling scheme is about 1:1,000. Packaging the entire continental United States at this scale can take weeks and require hundreds of gigabytes of storage. If you aren't prepared to package at this scale level, remove this scale level when you create the tile package.

  • Unchecked—A tiling scheme from an existing map service will be used.

    Choose this option if your organization has created a tiling scheme for an existing service on the server and you want to match it. Matching tiling schemes ensures that the tiles will overlay correctly in your ArcGIS Runtime application.

    If you choose this option, use the same coordinate system for the source map as the map with the tiling scheme you're importing.

Boolean
Output File

The output map tile package.

File
Tiling Format

Specifies the format that will be used for the generated tiles.

  • PNGThe correct format (PNG 8, PNG 24, or PNG 32) will be used based on the specified Level of Detail value. This is the default.
  • PNG 8 bitPNG8 format will be used. Use this format for overlay services that need to have a transparent background, such as roads and boundaries. PNG 8 creates tiles of very small size on disk with no loss of information. Do not use PNG 8 if the map contains more than 256 colors. Imagery, hillshades, gradient fills, transparency, and antialiasing can easily use more than 256 colors in a map. Even symbols such as highway shields may have subtle antialiasing around the edges that unexpectedly adds colors to a map.
  • PNG 24 bitPNG24 format will be used. Use this format for overlay services, such as roads and boundaries, that have more than 256 colors (if fewer than 256 colors, use PNG 8).
  • PNG 32 bitPNG32 format will be used. Use this format for overlay services, such as roads and boundaries, that have more than 256 colors. PNG 32 is a good choice for overlay services that have antialiasing enabled on lines or text. PNG 32 creates larger tiles on disk than PNG 24.
  • JPEGJPEG format will be used. Use this format for basemap services that have large color variation and do not need a transparent background. For example, raster imagery and detailed vector basemaps tend to work well with JPEG. JPEG is a lossy image format. It attempts to selectively remove data without affecting the appearance of the image. This can cause very small tile sizes on disk, but if a map contains vector line work or labels, it may produce too much noise or blurry area around the lines. If this is the case, you can raise the compression value from the default of 75. A higher value, such as 90, may balance an acceptable quality of line work with the small tile size benefit of the JPEG.If you are willing to accept a minor amount of noise in the images, you may save large amounts of disk space with JPEG. The smaller tile size also means the application can download the tiles faster.
  • MixedJPEG format will be used in the center of the package and PNG 32 will be used on the edge of the package. Use mixed mode when you want to cleanly overlay raster packages on other layers.When a mixed package is created, PNG 32 tiles are created where transparency is detected (in other words, where the map background is visible). The rest of the tiles are built using JPEG. This keeps the average file size down while providing a clean overlay on top of other packages. If you do not use the mixed mode package in this scenario, a nontransparent collar around the periphery of the image where it overlaps the other package will be visible.
String
Maximum Level Of Detail

The integer representation corresponding to the number of scales used to define a cache tiling scheme. This scale value defines the maximum level up to which the cache tiles will be generated in the tile package. Larger values reflect larger scales that show more detail but require more storage space. Smaller values reflect smaller scales that show less detail and require less storage space. Possible values are from 1 to 23. The default value is 1. The maximum level of detail value must be greater than the minimum level of detail value.

Long
Service
(Optional)

The name of the map service or the .xml files that will be used for the tiling scheme. This parameter is required only when the Package for ArcGIS Online | Bing Maps | Google Maps parameter is unchecked.

Map Server; File
Summary
(Optional)

Adds summary information to the properties of the package.

String
Tags
(Optional)

Adds tag information to the properties of the package. Multiple tags can be added, separated by a comma or semicolon.

String
Extent
(Optional)

Specifies the extent that will be used to select or clip features.

  • Default—The extent will be based on the maximum extent of all participating inputs. This is the default.
  • Union of Inputs—The extent will be based on the maximum extent of all inputs.
  • Intersection of Inputs—The extent will be based on the minimum area common to all inputs.
  • Current Display Extent—The extent is equal to the visible display. The option is not available when there is no active map.
  • As Specified Below—The extent will be based on the minimum and maximum extent values specified.
  • Browse—The extent will be based on an existing dataset.
Extent
Compression Quality
(Optional)

A value between 1 and 100 for the JPEG compression quality. The default value is 75 for JPEG tile format and zero for other formats.

Compression is supported only for JPEG and mixed formats. Choosing a higher value will result in a larger file size with a higher-quality image. Choosing a lower value will result in a smaller file size with a lower-quality image.

Long
Package type
(Optional)

Specifies the type of tile package that will be created.

  • tpkTiles will be stored using Compact storage format. This format is supported across the ArcGIS platform.
  • tpkxTiles will be stored using CompactV2 storage format, which provides better performance on network shares and cloud store directories. This package structure type is supported by newer versions of ArcGIS products such as ArcGIS Online 7.1, ArcGIS Enterprise 10.7, and ArcGIS Runtime 100.5. This is the default.
String
Minimum Level Of Detail
(Optional)

The integer representation corresponding to the number of scales used to define a cache tiling scheme. This scale value defines the level at which the cache tiles begin to be available and generated in the tile package. Possible values are from 0 to 23. The default value is 0. The minimum level of detail value must be less than or equal to the maximum level of detail value.

Long
Area of Interest
(Optional)

A feature set that constrains where tiles are created. Use an area of interest to create tiles for irregularly shaped areas or multipart features. The areas outside the bounding box of area of interest features will not be cached. If no value is provided for this parameter, the area of interest will be the full extent of the input map.

Feature Set

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}, {area_of_interest})
NameExplanationData Type
in_map

The map from which tiles will be generated and packaged.

Map
service_type

Specifies whether the tiling scheme will be generated from an existing map service or whether map tiles will be generated for ArcGIS Online, Bing Maps, and Google Maps.

  • EXISTINGA tiling scheme from an existing map service will be used. You must specify a map service in the service_file parameter.Choose this option if your organization has created a tiling scheme for an existing service on the server and you want to match it. Matching tiling schemes ensures that the tiles will overlay correctly in your ArcGIS Runtime application.If you choose this option, use the same coordinate system for the source map as the map with the tiling scheme you're importing.
  • ONLINEThe ArcGIS Online/Bing Maps/Google Maps tiling scheme will be used. This is the default.The ArcGIS Online/Bing Maps/Google Maps tiling scheme allows you to overlay cache tiles with tiles from these online mapping services. ArcGIS Desktop includes this tiling scheme as a built-in option when loading a tiling scheme. When you choose this tiling scheme, the source map must use the WGS 1984 Web Mercator (Auxiliary Sphere) projected coordinate system.The ArcGIS Online/Bing Maps/Google Maps tiling scheme is required if you'll be overlaying the package with ArcGIS Online, Bing Maps, or Google Maps. One advantage of the ArcGIS Online/Bing Maps/Google Maps tiling scheme is that it is widely known in the web mapping world, so the tiles will match those of other organizations that have used this tiling scheme. Even if you don't plan to overlay any of these well-known map services, you may choose the tiling scheme for its interoperability potential.The ArcGIS Online/Bing Maps/Google Maps tiling scheme may contain scales that will be zoomed in too far to be of use in your map. Packaging for large scales can take up time and disk storage space. For example, the largest scale in the tiling scheme is about 1:1,000. Packaging the entire continental United States at this scale can take weeks and require hundreds of gigabytes of storage. If you aren't prepared to package at this scale level, remove this scale level when you create the tile package.
Boolean
output_file

The output map tile package.

File
format_type

Specifies the format that will be used for the generated tiles.

  • PNGThe correct format (PNG 8, PNG 24, or PNG 32) will be used based on the specified Level of Detail value. This is the default.
  • PNG8PNG8 format will be used. Use this format for overlay services that need to have a transparent background, such as roads and boundaries. PNG 8 creates tiles of very small size on disk with no loss of information. Do not use PNG 8 if the map contains more than 256 colors. Imagery, hillshades, gradient fills, transparency, and antialiasing can easily use more than 256 colors in a map. Even symbols such as highway shields may have subtle antialiasing around the edges that unexpectedly adds colors to a map.
  • PNG24PNG24 format will be used. Use this format for overlay services, such as roads and boundaries, that have more than 256 colors (if fewer than 256 colors, use PNG 8).
  • PNG32PNG32 format will be used. Use this format for overlay services, such as roads and boundaries, that have more than 256 colors. PNG 32 is a good choice for overlay services that have antialiasing enabled on lines or text. PNG 32 creates larger tiles on disk than PNG 24.
  • JPEGJPEG format will be used. Use this format for basemap services that have large color variation and do not need a transparent background. For example, raster imagery and detailed vector basemaps tend to work well with JPEG. JPEG is a lossy image format. It attempts to selectively remove data without affecting the appearance of the image. This can cause very small tile sizes on disk, but if a map contains vector line work or labels, it may produce too much noise or blurry area around the lines. If this is the case, you can raise the compression value from the default of 75. A higher value, such as 90, may balance an acceptable quality of line work with the small tile size benefit of the JPEG.If you are willing to accept a minor amount of noise in the images, you may save large amounts of disk space with JPEG. The smaller tile size also means the application can download the tiles faster.
  • MIXEDJPEG format will be used in the center of the package and PNG 32 will be used on the edge of the package. Use mixed mode when you want to cleanly overlay raster packages on other layers.When a mixed package is created, PNG 32 tiles are created where transparency is detected (in other words, where the map background is visible). The rest of the tiles are built using JPEG. This keeps the average file size down while providing a clean overlay on top of other packages. If you do not use the mixed mode package in this scenario, a nontransparent collar around the periphery of the image where it overlaps the other package will be visible.
String
level_of_detail

The integer representation corresponding to the number of scales used to define a cache tiling scheme. This scale value defines the maximum level up to which the cache tiles will be generated in the tile package. Larger values reflect larger scales that show more detail but require more storage space. Smaller values reflect smaller scales that show less detail and require less storage space. Possible values are from 1 to 23. The default value is 1. The maximum level of detail value must be greater than the minimum level of detail value.

Long
service_file
(Optional)

The name of the map service or the .xml files that will be used for the tiling scheme. This parameter is required only when the service_type parameter is set to EXISTING.

Map Server; File
summary
(Optional)

Adds summary information to the properties of the package.

String
tags
(Optional)

Adds tag information to the properties of the package. Multiple tags can be added, separated by a comma or semicolon.

String
extent
(Optional)

Specifies the extent that will be used to select or clip features.

  • MAXOF—The maximum extent of all inputs will be used.
  • MINOF—The minimum area common to all inputs will be used.
  • DISPLAY—The extent is equal to the visible display.
  • Layer name—The extent of the specified layer will be used.
  • Extent object—The extent of the specified object will be used.
  • Space delimited string of coordinates—The extent of the specified string will be used. Coordinates are expressed in the order of x-min, y-min, x-max, y-max.
Extent
compression_quality
(Optional)

A value between 1 and 100 for the JPEG compression quality. The default value is 75 for JPEG tile format and zero for other formats.

Compression is supported only for JPEG and mixed formats. Choosing a higher value will result in a larger file size with a higher-quality image. Choosing a lower value will result in a smaller file size with a lower-quality image.

Long
package_type
(Optional)

Specifies the type of tile package that will be created.

  • tpkTiles will be stored using Compact storage format. This format is supported across the ArcGIS platform.
  • tpkxTiles will be stored using CompactV2 storage format, which provides better performance on network shares and cloud store directories. This package structure type is supported by newer versions of ArcGIS products such as ArcGIS Online 7.1, ArcGIS Enterprise 10.7, and ArcGIS Runtime 100.5. This is the default.
String
min_level_of_detail
(Optional)

The integer representation corresponding to the number of scales used to define a cache tiling scheme. This scale value defines the level at which the cache tiles begin to be available and generated in the tile package. Possible values are from 0 to 23. The default value is 0. The minimum level of detail value must be less than or equal to the maximum level of detail value.

Long
area_of_interest
(Optional)

A feature set that constrains where tiles are created. Use an area of interest to create tiles for irregularly shaped areas or multipart features. The areas outside the bounding box of area of interest features will not be cached. If no value is provided for this parameter, the area of interest will be the full extent of the input map.

Feature Set

Code sample

CreateMapTilePackage example 1 (Python window)

The following Python script demonstrates how to use the CreateMapTilePackage function from the Python window.

import arcpy
arcpy.env.workspace = "C:/TilePackageExample" 
arcpy.management.CreateMapTilePackage("World Soils", "ONLINE", "Example.tpk", "PNG8", "10")
CreateMapTilePackage example 2 (stand-alone script)

Find and create map tile packages for all maps in a project.

# 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.management.CreateMapTilePackage(m, "ONLINE", "{}.tpk".format(m.name), 
                                          "PNG8", "10")

Licensing information

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

Related topics