创建移动地图包 (数据管理)

摘要

将地图和底图以及所有引用的数据源一起打包到一个 .mmpk 文件中。

使用情况

  • AllSourceArcGIS Navigator 以及使用 ArcGIS Runtime SDK 构建应用程序的开发人员可以使用移动地图包。 对于 ArcGIS Runtime SDK,已在版本 100.0 中引入了 .mmpk 文件。

  • 通过将移动地图包上传到 ArcGIS Online 的组织中或通过通用文件共享方法共享 .mmpk 文件可以将其与其他用户进行共享。

  • 移动地图包支持简单要素、栅格数据集、表格、关系类、定位器、网络数据集以及包含地图切片 (.tpk) 或矢量切片 (.vtpk) 包的地图。 在 AllSource 中创建的,可用于由 ArcGIS Runtime SDK 创建的应用程序的移动地图包目前仅支持以下图层类型:要素图层、栅格图层、来自之前创建的 .tpk 文件的栅格切片图层以及来自之前创建的 .vtpk 文件的矢量切片图层。

  • 如果未指定范围,则地图上的可见范围将用于定义感兴趣的区域 (AOI) 并仅合并与该范围相交的要素。

  • 在创建移动地图包时,所有地图、底图及数据图层都将投影到通用坐标系。 即将使用的坐标系为第一个输入地图指定的坐标系。

  • 如果地图包含引用了网络数据集的网络图层,则会将该网络图层作为交通网络包括在移动地图包中,以便获取路径和行驶方向。 网络引用的所有要素类和表均将成为移动地图包的一部分。 也可能包括不属于地图的图层。 例如,如果地图中仅包含一个网络图层,则包中将包括与此网络相关的街道、交汇点和转弯要素类。

    对于支持移动地图打包的网络数据集,请牢记以下限制:

    • 网络数据集必须为地理数据库的一部分。 这便排除了 SDC 和 shapefile 格式的网络数据集。
    • 网络数据集必须来自 ArcGIS 10.0 或更高版本。 如果网络来自较早版本,则可以升级地理数据库和网络。
    • 网络数据集中不能包含未知的坐标系。
    • 网络数据集不可以使用任何 VB 或 Python 脚本赋值器。
    • 网络数据集不可以使用任何自定义 COM 赋值器。
    • 将打包使用实时流量的网络数据集,但实时流量组件因不受支持而不会被使用。

参数

标注说明数据类型
输入地图

将打包到一个 .mmpk 文件中的一个或多个地图或底图。

Map
输出文件

输出移动地图包 (.mmpk)。

File
输入定位器
(可选)

包含在移动地图包中的一个或多个定位器 (.loc)。

注:
定位器具有以下限制:
  • 定位器不能包含未知的坐标系。
  • 定位器或复合定位器中的任何参与定位器不得为地理编码服务,包括 ArcGIS EnterpriseArcGIS Online 中的服务。
Address Locator
感兴趣区域
(可选)

定义感兴趣区域的面图层。 仅与感兴趣区域值相交的要素才会包括在移动地图包中。

Feature Layer
范围
(可选)

指定用于选择或裁剪要素的范围。

  • 默认 - 该范围将基于所有参与输入的最大范围设定。这是默认设置。
  • 输入的并集 - 该范围将基于所有输入的最大范围。
  • 输入的交集 - 该范围将基于所有输入共用的最小区域。
  • 当前显示范围 - 该范围与可见显示范围相等。如果没有活动地图,则该选项将不可用。
  • 如下面的指定 - 该范围将基于指定的最小和最大范围值。
  • 浏览 - 该范围将基于现有数据集。
Extent
裁剪要素
(可选)

指定是否将输出要素裁剪为给定的感兴趣区域值或范围值。

  • 选中 - 要素的几何将裁剪为给定的感兴趣区域值或范围值。
  • 未选中 - 将选中地图中的要素且其几何仍保持不变。 这是默认设置。

Boolean
标题
(可选)

将标题信息添加到包的属性中。

String
摘要
(可选)

将摘要信息添加到包的属性中。

String
描述
(可选)

将描述信息添加到包的属性中。

String
标签
(可选)

将标签信息添加到包的属性中。 可以添加多个标签,标签之间用逗号或分号进行分隔。

String
制作者名单
(可选)

将制作者名单信息添加到包的属性中。

String
使用限制
(可选)

将使用限制添加到包的属性中。

String
启用匿名使用
(可选)

指定移动地图是否可供所有人使用。

  • 选中 - 具有包访问权限的所有人均可使用移动地图,无需使用 Esri 指定用户帐户进行登录。
  • 未选中 - 具有包访问权限的所有人必须使用指定用户帐户进行登录,才能使用移动地图。 这是默认设置。

许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
启用地图到期
(可选)

指定是否将在移动地图包上启用超时。

  • 选中 - 将在移动地图包上启用超时。
  • 未选中 - 不会在移动地图包上启用超时。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
地图到期类型
(可选)

指定用户对已到期移动地图包的访问类型。

  • 允许打开将警告包用户此地图已到期,但仍允许打开地图。 这是默认设置。
  • 不允许打开将警告包用户此地图已到期,并且不允许打开地图。
许可:

此可选参数仅适用于 Publisher 扩展模块。

String
到期日期
(可选)

指定移动地图包的到期日期。

许可:

此可选参数仅适用于 Publisher 扩展模块。

Date
到期消息
(可选)

访问已到期地图时将显示的文本消息。

许可:

此可选参数仅适用于 Publisher 扩展模块。

String
仅保留与范围内要素相关的行
(可选)

指定是否将指定的范围应用至相关数据源。

  • 未选中 - 相关的数据源将全部合并。 这是默认设置。
  • 选中 - 仅合并指定范围内与记录对应的相关数据。
Boolean
参考在线内容
(可选)

指定是否在包中引用服务图层。

  • 未选中 - 将不会在移动包中引用服务图层。 这是默认设置。
  • 选中 - 将在移动包中引用服务图层。

Boolean

arcpy.management.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)。

注:
定位器具有以下限制:
  • 定位器不能包含未知的坐标系。
  • 定位器或复合定位器中的任何参与定位器不得为地理编码服务,包括 ArcGIS EnterpriseArcGIS Online 中的服务。
Address Locator
area_of_interest
(可选)

定义感兴趣区域的面图层。 仅与 area_of_interest 值相交的要素才会包括在移动地图包中。

Feature Layer
extent
(可选)

指定用于选择或裁剪要素的范围。

  • MAXOF - 将使用所有输入的最大范围。
  • MINOF - 将使用所有输入共有的最小区域。
  • DISPLAY - 该范围与可见显示范围相等。
  • 图层名称 - 将使用指定图层的范围。
  • Extent 对象 - 将使用指定对象的范围。
  • 以空格分隔的坐标字符串 - 将使用指定字符串的范围。坐标以 x-min,y-min,x-max,y-max 的顺序表示。
Extent
clip_features
(可选)

指定是否将输出要素裁剪为给定的感兴趣区域或范围。

  • CLIP要素的几何将裁剪为给定的 area_of_interest 值或 extent 值。
  • SELECT选择地图中的要素并保持其几何不变。 这是默认设置。
Boolean
title
(可选)

将标题信息添加到包的属性中。

String
summary
(可选)

将摘要信息添加到包的属性中。

String
description
(可选)

将描述信息添加到包的属性中。

String
tags
(可选)

将标签信息添加到包的属性中。 可以添加多个标签,标签之间用逗号或分号进行分隔。

String
credits
(可选)

将制作者名单信息添加到包的属性中。

String
use_limitations
(可选)

将使用限制添加到包的属性中。

String
anonymous_use
(可选)

指定移动地图是否可供所有人使用。

  • ANONYMOUS_USE具有包访问权限的所有人均可使用移动地图,无需使用 Esri 指定用户帐户进行登录。
  • STANDARD具有包访问权限的所有人必须使用指定用户帐户进行登录,才能使用移动地图。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
enable_map_expiration
(可选)

指定是否将在移动地图包上启用超时。

  • ENABLE_MAP_EXPIRATION将在移动地图包上启用超时。
  • DISABLE_MAP_EXPIRATION不会在移动地图包上启用超时。 这是默认设置。
许可:

此可选参数仅适用于 Publisher 扩展模块。

Boolean
map_expiration_type
(可选)

指定用户对已到期移动地图包的访问类型。

  • ALLOW_TO_OPEN将警告包用户此地图已到期,但仍允许打开地图。 这是默认设置。
  • DONOT_ALLOW_TO_OPEN将警告包用户此地图已到期,并且不允许打开地图。
许可:

此可选参数仅适用于 Publisher 扩展模块。

String
expiration_date
(可选)

指定移动地图包的到期日期。

许可:

此可选参数仅适用于 Publisher 扩展模块。

Date
expiration_message
(可选)

访问已到期地图时将显示的文本消息。

许可:

此可选参数仅适用于 Publisher 扩展模块。

String
select_related_rows
(可选)

指定是否将指定的范围应用至相关数据源。

  • KEEP_ONLY_RELATED_ROWS仅合并指定范围内与记录对应的相关数据。
  • KEEP_ALL_RELATED_ROWS相关的数据源将全部合并。 这是默认设置。
Boolean
reference_online_content
(可选)

指定是否在包中引用服务图层。

  • INCLUDE_SERVICE_LAYERS将在移动包中引用服务图层。
  • EXCLUDE_SERVICE_LAYERS不会在移动包中引用服务图层。 这是默认设置。
Boolean

代码示例

CreateMobileMapPackage 示例 1(Python 窗口)

将打包工程中的多个地图和底图的 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 示例 2(独立脚本)

通过使用感兴趣区域裁剪要素并将到期日期设置为创建后两周内运行 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.")

环境

特殊情况

并行处理因子

如果未指定环境,该工具将使用可用内核的二分之一。