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

摘要

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

使用情况

  • ArcGIS ProArcGIS 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 赋值器。
    • 将打包使用实时流量的网络数据集,但实时流量组件因不受支持而不会被使用。

参数

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

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

Map
输出文件

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

File
输入定位器
(可选)

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

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

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

Feature Layer
范围
(可选)

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

  • 当前显示范围 地图视图 - 范围基于活动地图或场景。 仅在存在活动地图时,才可使用此选项。
  • 绘制范围 构造直角并完成草图 - 范围将基于在地图或场景上绘制的矩形。 此选项将在工程地理数据库中创建要素类并将图层添加至地图。 该要素类的坐标系将与地图相同。
    注:

    环境对话框中不提供此选项。 只能在具有范围数据类型的工具参数中或工具对话框的环境选项卡中找到此选项。

    注:

    当选中从“编辑”选项卡启用和禁用编辑编辑选项时,必须在编辑功能区选项卡上启用编辑才能绘制范围。

  • 图层范围 图层 - 范围基于活动地图图层。 使用下拉列表选择可用图层,或使用所有图层中数据的范围选项获取所有活动地图图层(不包括底图)的组合范围。 仅在存在具有图层的活动地图时,才可使用此选项。

    每个地图图层具有以下选项:

    • 所有要素 全选 - 图层中所有要素的范围。
    • 选定要素基于选定要素的区域 - 图层中选定要素的范围。
    • 可见要素 Extent Indicator - 图层中可见要素的范围。
      注:

      选定要素 基于选定要素的区域可见要素 Extent Indicator 选项中的范围仅适用于要素图层。

  • 浏览 浏览 - 范围基于现有数据集。
  • 输入的交集 相交 - 范围将基于所有输入的最小或交叉范围。 如果输入未重叠,则结果为包含所有零值的空范围。
  • 输入的并集 联合 - 范围将基于所有输入的最大或合并范围。
  • 剪贴板 粘贴 - 可在剪贴板中复制和粘贴范围。
    • 复制范围 复制 - 将范围坐标和坐标系复制到剪贴板。
    • 粘贴范围 粘贴 - 从剪贴板粘贴范围坐标和(可选)坐标系。 如果剪贴板值不包含坐标系,则范围将使用地图的坐标系。
    注:

    将使用与 ArcPy Extent 对象相同的格式和顺序从剪贴板中复制和粘贴范围坐标:x-min、y-min、x-max、y-max 和空间参考。

  • 重置范围 重置 - 将范围重置为默认值。
  • 手动输入坐标 - 坐标必须是数值,并且与活动地图的坐标系相匹配。
    警告:

    地图可能使用与输入的坐标不同的显示单位。 不支持使用主方向(N、S、E、W)。 在南纬和西经坐标中使用负号。

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.")

环境

特殊情况

并行处理因子

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

许可信息

  • Basic: 受限
  • Standard: 受限
  • Advanced: 受限

相关主题