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

描述

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

使用方法

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

语法

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 10.0 或更高版本创建。
  • 定位器不能包含未知的坐标系。
  • 定位器或复合定位器中的任何参与定位器不得为地理编码服务,包括 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_interestextent
  • 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: 受限

相关主题