标注 | 说明 | 数据类型 |
输入地图 | 用于生成切片并对其进行打包的地图。 | Map |
适用于 ArcGIS Online | Bing Maps | Google Maps 的包 | 指定是从现有地图服务生成切片方案还是根据 ArcGIS Online、Bing Maps 和 Google Maps 生成地图切片。
| Boolean |
输出文件 | 地图切片包的输出路径和文件名。 如果选中创建多个包参数,则此参数将替换为输出文件夹参数,用于指定将生成切片文件包的位置。 | File |
切片格式 | 指定生成切片将使用的格式。
| String |
最高细节层次 | 与用于定义缓存切片方案的比例数相对应的整数表达。 此比例值用于定义在切片包中生成缓存切片的最高级别。 较大的值反映可以显示更多细节的较大比例,但占用的存储空间较多。 较小的值反映可以显示较少细节的较小比例,并且占用的存储空间较少。 可能的值范围为 1 至 23。 默认值为 1。 最大细节层次值必须大于最小细节层次值。 | Long |
服务 (可选) | 将用于切片方案的地图服务或 .xml 文件的名称。 仅当未选中适用于 ArcGIS Online | Bing Maps | Google Maps 的包参数时才需要此参数。 | Map Server; File |
摘要 (可选) | 将添加到包属性中的摘要信息。 | String |
标签 (可选) | 将添加到包属性中的标签信息。 可以添加多个标签,用逗号或分号分隔。 | String |
范围 (可选) | 指定用于选择或裁剪要素的范围。
当手动提供坐标时,坐标必须为数值,并且位于活动地图的坐标系中。 地图可能使用与提供的坐标不同的显示单位。 在南纬和西经坐标中使用负号。 | Extent |
压缩质量 (可选) | 用于 JPEG 压缩质量的介于 1 和 100 之间的值。 对于 JPEG 切片格式,默认值为 75;对于其他切片格式,默认值为 0。 仅 JPEG 和混合格式支持压缩。 较高的值,则生成的文件较大,但图像质量较好。 较低的值,则生成的文件较小,但图像质量较差。 | Long |
包类型 (可选) | 指定将创建的切片包类型。
| String |
最低细节层次 (可选) | 与用于定义缓存切片方案的比例数相对应的整数表达。 此比例值用于定义在切片包中生成的缓存切片开始可用的级别。 可能的值范围为 0 至 23。 默认值为 0。 最小细节层次值必须小于或等于最大细节层次值。 | Long |
感兴趣区域 (可选) | 用于限制将创建切片的位置的要素集。 使用感兴趣区域为不规则形状区域或多部件要素创建切片。 不会缓存感兴趣区域要素边界框外的区域。 如果未为此参数提供值,则感兴趣区域将为输入地图的全图范围。 | Feature Set |
创建多个包 (可选) | 指定将生成单个较大的切片包,还是多个较小的切片包。 当并行处理因子环境变量为 0 或者包类型参数设置为 tpk 时,此参数将不可用。
| Boolean |
输出文件夹 | 将生成多个切片包的位置。 如果输出文件夹不为空,则将在输出文件夹中创建一个子文件夹以存储切片。 自动生成的 GUID 将用作文件夹名称。 如果未选中创建多个包参数,则此参数将替换为输出文件参数,用于指定将生成的单个切片包的名称。 | Folder |
摘要
可根据地图生成切片,并将其打包为单个切片包或者多个较小的切片包。
使用情况
此工具支持并行处理因子环境变量。 如果选中创建多个包参数,则并行处理将跨多个进程生成缓存内容以使用可用 CPU,并在达到默认阈值(1 GB 大小限制)时生成切片包。
当处理大量数据时,请使用创建多个包参数。 选中此参数后,将创建多个较小的切片包,而非单个较大的切片包。 由此可在单个作业中生成大于 500 GB 的切片内容,并将其共享或者将其上传并发布到 ArcGIS Online 作为托管切片图层。 使用此方法,您可以将较大的切片内容生成为较小的切片包以进行共享,而无需将缓存范围和级别细分为多个作业。
如果选中此参数,则必须在输出文件夹参数中提供文件系统上一个空文件夹的路径,用于保存输出包。 仅当包类型参数设置为 tpkx 并且并行处理因子环境变量不为 0 时,才能创建多部件包。
当切片格式参数设置为 PNG 时,该工具将根据为最高细节层次参数指定的值自动使用正确的格式(PNG8、PNG24 或 PNG32)。
输入地图必须包含要运行工具的描述和标签。 要添加描述和标签,请右键单击内容窗格中的地图名称,然后选择属性。 在地图属性对话框的元数据选项卡上,填写标签和描述文本框。
参数
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}, {create_multiple_packages}, output_folder)
名称 | 说明 | 数据类型 |
in_map | 用于生成切片并对其进行打包的地图。 | Map |
service_type | 指定是从现有地图服务生成切片方案还是根据 ArcGIS Online、Bing Maps 和 Google Maps 生成地图切片。
| Boolean |
output_file | 地图切片包的输出路径和文件名。 | File |
format_type | 指定生成切片将使用的格式。
| String |
level_of_detail | 与用于定义缓存切片方案的比例数相对应的整数表达。 此比例值用于定义在切片包中生成缓存切片的最高级别。 较大的值反映可以显示更多细节的较大比例,但占用的存储空间较多。 较小的值反映可以显示较少细节的较小比例,并且占用的存储空间较少。 可能的值范围为 1 至 23。 默认值为 1。 最大细节层次值必须大于最小细节层次值。 | Long |
service_file (可选) | 将用于切片方案的地图服务或 .xml 文件的名称。 仅当 service_type 参数设置为 EXISTING 时才需要此参数。 | Map Server; File |
summary (可选) | 将添加到包属性中的摘要信息。 | String |
tags (可选) | 将添加到包属性中的标签信息。 可以添加多个标签,用逗号或分号分隔。 | String |
extent (可选) | 指定用于选择或裁剪要素的范围。
| Extent |
compression_quality (可选) | 用于 JPEG 压缩质量的介于 1 和 100 之间的值。 对于 JPEG 切片格式,默认值为 75;对于其他切片格式,默认值为 0。 仅 JPEG 和混合格式支持压缩。 较高的值,则生成的文件较大,但图像质量较好。 较低的值,则生成的文件较小,但图像质量较差。 | Long |
package_type (可选) | 指定将创建的切片包类型。
| String |
min_level_of_detail (可选) | 与用于定义缓存切片方案的比例数相对应的整数表达。 此比例值用于定义在切片包中生成的缓存切片开始可用的级别。 可能的值范围为 0 至 23。 默认值为 0。 最小细节层次值必须小于或等于最大细节层次值。 | Long |
area_of_interest (可选) | 用于限制将创建切片的位置的要素集。 使用感兴趣区域为不规则形状区域或多部件要素创建切片。 不会缓存感兴趣区域要素边界框外的区域。 如果未为此参数提供值,则感兴趣区域将为输入地图的全图范围。 | Feature Set |
create_multiple_packages (可选) | 指定将生成单个较大的切片包,还是多个较小的切片包。 当 parallelProcessingFactor 环境变量为 0 或者 package_type 参数设置为 tpk 时,此参数将不可用。
| Boolean |
output_folder | 将生成多个切片包的输出文件夹。 如果输出文件夹不为空,则将在输出文件夹中创建一个子文件夹以存储切片。 自动生成的 GUID 将用作文件夹名称。 | Folder |
代码示例
以下 Python 脚本演示了如何在 Python 窗口中使用 CreateMapTilePackage 函数。
import arcpy
arcpy.env.workspace = r"C:\Data\MinMaxLOD\states73K"
aprx = arcpy.mp.ArcGISProject(r"C:\Data\MinMaxLOD\states73K\states73K_1.aprx")
map1 = aprx.listMaps()[0]
arcpy.management.CreateMapTilePackage(map1, "ONLINE", "Example.tpkx", "PNG", "5")
查找工程中的所有地图,并为每个地图创建单个地图切片包。
# Name: CreateMapTilePackage.py
# Description: Find all the maps in the project and
# create a single map tile package for each map
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r"C:\Data\MinMaxLOD\states73K"
# Loop through the project, find all the maps, and
# create a single map tile package for each map,
# using the same name as the map
p = arcpy.mp.ArcGISProject("c:\\temp\\myproject.aprx")
extent = ""
aoi = ""
for m in p.listMaps():
print("Packaging " + m.name)
arcpy.management.CreateMapTilePackage(m, "ONLINE", "{}.tpkx".format(m.name),
"PNG", 9, None, "MapSummary", "MapTag", extent, "", "tpkx", 5, aoi)
为地图创建多个地图切片包。
# Name: CreateMapTilePackage.py
# Description: Create multiple map tile packages for a given map
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r"C:\Data\MinMaxLOD\states73K"
# Create multiple map tile packages for given map,
aprx = arcpy.mp.ArcGISProject("c:\\temp\\myproject.aprx")
map1 = aprx.listMaps()[0]
extent = ""
aoi = ""
createMultiplePackages = "create_multiple_packages"
outputFolder = r"C:\11\multi"
arcpy.management.CreateMapTilePackage(map1, "ONLINE", "", "PNG", 9, None, "MapSummary", "MapTag",
extent, "", "tpkx", 5, aoi,createMultiplePackages, outputFolder )
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是