描述
将地图和底图以及所有引用的数据源一起打包到一个 .mmpk 文件中。
使用方法
ArcGIS Pro、ArcGIS Explorer、ArcGIS Navigator 以及使用 ArcGIS Runtime SDK 构建应用程序的开发人员可以使用移动地图包。对于 ArcGIS Runtime SDK,已在版本 100.0 中引入了 .mmpk 文件。
通过将移动地图包上传到 ArcGIS Online 的组织中或通过通用文件共享方法共享 .mmpk 文件可以将其与其他用户进行共享。
移动地图包支持简单要素、栅格数据集、表格、关系类、定位器、网络数据集以及包含地图切片 (.tpk) 或矢量切片 (.vtpk) 包的地图。在 ArcGIS Pro 中创建的,可用于由 ArcGIS Runtime SDK 创建的应用程序的移动地图包目前仅支持以下图层类型:要素图层、栅格图层、来自之前创建的 .tpk 文件的栅格切片图层以及来自之前创建的 .vtpk 文件的矢量切片图层。
如果未指定范围,则地图上的可见范围将用于定义感兴趣的区域 (AOI) 并仅合并与该范围相交的要素。
在创建移动地图包时,所有地图、底图及数据图层都将投影到通用坐标系。即将使用的坐标系为第一个输入地图指定的坐标系。
如果地图包含引用了网络数据集的网络图层,则会将该网络图层作为交通网络包括在移动地图包中,以便获取路径和行驶方向。网络引用的所有要素类和表均将成为移动地图包的一部分。也可能包括不属于地图的图层。例如,如果地图中仅包含一个网络图层,则包中将包括与此网络相关的街道、交汇点和转弯要素类。
对于支持移动地图打包的网络数据集,请牢记以下限制:
- 网络数据集必须为地理数据库的一部分。其中不包括 SDC 或 shapefile 格式的网络。
- 网络数据集必须来自 ArcGIS 10.0 或更高版本。如果网络来自较早版本,则可以升级地理数据库和网络。
- 网络数据集中不能包含未知的坐标系。
- 网络数据集不可以使用任何 VB 或 Python 脚本赋值器。
- 网络数据集不可以使用任何自定义 COM 赋值器。
- 将打包使用实时流量的网络数据集,但实时流量组件因不受支持而不会被使用。
语法
CreateMobileMapPackage(in_map, output_file, {in_locator}, {area_of_interest}, {extent}, {clip_features}, {title}, {summary}, {description}, {tags}, {credits}, {use_limitations}, {anonymous_use}, {enable_map_expiration}, {map_expiration_type}, {expiration_date}, {expiration_message}, {select_related_rows}, {reference_online_content})
参数 | 说明 | 数据类型 |
in_map [in_map,...] | 将打包到一个 .mmpk 文件中的一个或多个地图或底图。 | Map |
output_file | 输出移动地图包 (.mmpk)。 | File |
in_locator [in_locator,...] (可选) | 包含在移动地图包中的一个或多个定位器 (.loc)。 注:定位器具有以下限制:
| Address Locator |
area_of_interest (可选) | 定义感兴趣区的面图层。仅与 area_of_interest 相交的要素才会包括在移动地图包中。 | Feature Layer |
extent (可选) | 用于选择将要包括在移动地图包中的要素的范围。可使用关键字或通过以 X-Min Y-Min X-Max Y-Max 格式输入坐标的方式指定 extent。要使用特定图层的范围,请指定图层名称。默认范围将为所有参与地图或底图的组合范围。
如果指定了 area_of_interest,则会忽略 extent 参数。 | Extent |
clip_features (可选) | 确定是否将输出要素裁剪为给定的感兴趣区域或范围。
| Boolean |
title (可选) | 将标题信息添加到包的属性中。 | String |
summary (可选) | 将摘要信息添加到包的属性中。 | String |
description (可选) | 将描述信息添加到包的属性中。 | String |
tags (可选) | 将标签信息添加到包的属性中。可以添加多个标签,标签之间用逗号或分号进行分隔。 | String |
credits (可选) | 将制作者名单信息添加到包的属性中。 | String |
use_limitations (可选) | 将使用限制添加到包的属性中。 | String |
anonymous_use (可选) | 确定移动地图是否可由所有人使用。
许可:此可选参数仅适用于 Publisher 扩展模块。 | Boolean |
enable_map_expiration (可选) | 指定是否在移动地图包上使用超时。
许可:此可选参数仅适用于 Publisher 扩展模块。 | Boolean |
map_expiration_type (可选) | 指定已到期移动地图包的访问类型。
许可:此可选参数仅适用于 Publisher 扩展模块。 | String |
expiration_date (可选) | 指定移动地图包的到期日期。 许可:此可选参数仅适用于 Publisher 扩展模块。 | Date |
expiration_message (可选) | 访问已到期地图时显示的文本消息。 许可:此可选参数仅适用于 Publisher 扩展模块。 | String |
select_related_rows (可选) | 指定是否将指定的范围应用至相关数据源。
| Boolean |
reference_online_content (可选) | 指定是否在包中引用服务图层。
| Boolean |
代码示例
将工程中的多个地图和底图进行打包的 CreateMobileMapPackage 的 Python 示例。
import arcpy
arcpy.management.CreateMobileMapPackage(
["Basemap1", "Basemap2", "Map1"], r"d:\temp\MobileMapPackage1.mmpk",
r"d:\data\MyLocators\AddressLocator.loc", None, "DEFAULT", "SELECT",
"Title", "Summary", "description", "Tag", "Credit information",
"Usage_Limitations")
通过使用感兴趣区域裁剪要素并将到期日期设置为创建后两周内运行 CreateMobileMapPackage 的 Python 示例。
import arcpy
import datetime
days_valid = 14
expiration_date = (datetime.date.today() + datetime.timedelta(days=days_valid)).strftime("%x")
outputfile = "d:/Data/Output/sandiego.mmpk"
arcpy.management.CreateMobileMapPackage(
[r"C:\data\Basemap1.mapx", r"C:\data\Map1.mapx"], outputfile, None,
r"\\share\layers\AreaOfInterest.lyrx", "DEFAULT", "CLIP", "Title",
"Summary", "description", "Tag", "Credits", "Use",
"STANDARD", "ENABLE_MAP_EXPIRATION",
"DONOT_ALLOW_TO_OPEN", expiration_date,
"This map is expired. Contact the map publisher for an updated map.")
许可信息
- Basic: 受限
- Standard: 受限
- Advanced: 受限