描述
从地图或底图生成切片,并将切片进行打包从而创建单个压缩的 .tpk 文件。
使用方法
输入地图文档必须具有相应的描述和标签,此工具才能执行。要添加描述和标签,从主菜单中选择文件 > 地图文档属性,然后输入描述和标签。
针对切片格式参数选择 PNG 后,工具将根据指定的显示级别自动选择正确格式(PNG8、PNG24 或 PNG32)。
要对地图切片包进行解包,可将 .tpk 文件拖到 ArcMap 中或者右键单击目录窗口中的 .tpk 文件,然后选择解包。或者可使用提取包工具并指定一个输出文件夹。
默认情况下,解包将始终按照以下路径之一将包提取到用户配置文件中:
- XP - C:\Documents and Settings\<username>\My Documents\ArcGIS\Packages
- Vista 和 Windows 7 - C:\Users\<username>\Documents\ArcGIS\Packages
要更改解包所使用的默认位置,请从自定义菜单中打开 ArcMap 选项。在共享选项卡的打包部分中,选中使用用户指定的位置,然后浏览到一个新的文件夹位置。
语法
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 | 用于生成切片并对其进行打包的地图文档。 | ArcMap Document |
service_type | 指定是从现有的地图服务生成切片方案,还是根据 ArcGIS Online、Bing 地图和 Google 地图生成地图切片。
| Boolean |
output_file | 输出地图切片包。 | File |
format_type | 指定生成切片的格式。
| 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 (可选) | 通过在范围参数中按 X-Min Y-Min X-Max Y-Max 格式手动输入坐标来指定范围。要使用特定图层的范围,请指定图层名称。
| Extent |
compression_quality (可选) | 针对 JPEG 压缩质量的介于 1 和 100 之间的值。对于 JPEG 切片格式,默认值为 75;对于其他切片格式,默认值为 0。 仅 JPEG 和 MIXED 格式支持压缩。如果选择较高的值,则生成的文件较大,但图像质量较好。如果选择较低的值,则生成的文件较小,但图像质量较差。 | Long |
package_type (可选) | 指定将创建的切片包类型。
| String |
min_level_of_detail (可选) | 生成包切片的最低比例。默认值为 1。可能的值为 1 至 24。 较大的值反映较大的比例,可以显示更多细节,但是占用更多存储空间,较小的值反映较小的比例,显示的细节较少,占用的存储空间也较少。 此值必须小于或等于 level_of_detail。 | Long |
代码示例
CreateMapTilePackage 示例 1(Python 窗口)
以下 Python 脚本演示了如何在 Python 窗口中使用 CreateMapTilePackage 工具。
import arcpy
arcpy.env.workspace = "C:/TilePackageExample"
arcpy.CreateMapTilePackage_management("Example.mxd", "ONLINE", "Example.tpk", "PNG8", "10")
CreateMapTilePackage 示例 2(独立脚本)
查找位于指定文件夹中的所有地图文档,然后分别为这些地图文档创建地图切片包。
# Name: CreateMapTilePackage.py
# Description: Find all the map documents that reside in a specified folder and create tile packages for each map document.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/Tilepackages/"
# Loop through the workspace, find all the mxds and create a tile package using the same name as the mxd
for mxd in arcpy.ListFiles("*.mxd"):
print("Packaging " + mxd)
arcpy.CreateMapTilePackage_management(mxd, "ONLINE", os.path.splitext(mxd)[0] + ".tpk" "PNG8", "10")
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是