Create Mobile Map Package (Data Management)

Summary

Packages maps and basemaps along with all referenced data sources into a single .mmpk file.

Usage

  • Mobile map packages can be used by ArcGIS Pro, ArcGIS Explorer, ArcGIS Navigator, and by developers building applications with ArcGIS Runtime SDK. For ArcGIS Runtime SDK, .mmpk files were introduced at version 100.0.

  • Mobile map packages can be shared with others by uploading them to your organization in ArcGIS Online or by sharing an .mmpk file through common file sharing methods.

  • Mobile map packages support simple features, raster datasets, tables, relationship classes, locators, network datasets, and maps that contain map tile (.tpk) or vector tile (.vtpk) packages. Mobile map packages created in ArcGIS Pro for use in apps created with ArcGIS Runtime SDKs currently only support the following layer types: feature layers, raster layers, raster tiled layers from previously created .tpk files, and vector tiled layers from previously created .vtpk files.

  • If an extent is not specified, the visible extent of the map will be used to define the area of interest (AOI) and consolidate only those features that intersect that extent.

  • When creating a mobile map package, all maps, basemaps, and data layers will be projected to a common coordinate system. The coordinate system that will be used is the coordinate system of the first input map specified.

  • If the map contains a network layer that references a network dataset, it will be included in the mobile map package as a transportation network for routing and driving directions. All feature classes and tables that the network references will become part of the mobile map package. This may include layers that are not part of the map. For example, if there is only a network layer in the map, the package will include the streets, junctions, and turns feature classes associated with the network.

    For a network dataset to support mobile map packaging, there are a few restrictions to keep in mind:

    • The network dataset must be part of a geodatabase. This excludes networks that are in SDC or shapefile format.
    • The network dataset must be from ArcGIS 10.0 or later. If the network is from an earlier version, upgrade the geodatabase and network.
    • The network dataset cannot have an unknown coordinate system.
    • The network dataset cannot use any VB or Python script evaluators.
    • The network dataset cannot use any custom COM evaluators.
    • A network dataset that uses live traffic will be packaged, but the live traffic components will not be used since they are not supported.

Syntax

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})
ParameterExplanationData Type
in_map
[in_map,...]

One or more maps or basemaps that will be packaged into a single .mmpk file.

Map
output_file

The output mobile map package (.mmpk).

File
in_locator
[in_locator,...]
(Optional)

One or more locators (.loc) to include in the mobile map package.

Note:
Locators have the following restrictions:
  • The locator must be created with ArcGIS 10.0 or later.
  • The locator cannot have an unknown coordinate system.
  • The locator or any participating locator in a composite locator cannot be a geocoding service, including services from ArcGIS Enterprise or ArcGIS Online.
  • The locator cannot contain a custom plug-in in the locator style configuration.
Address Locator
area_of_interest
(Optional)

Polygon layer that defines the area of interest. Only those features that intersect the area_of_interest will be included in the mobile map package.

Feature Layer
extent
(Optional)

Specifies the extent that will be used to select or clip features.

  • MAXOF—The maximum extent of all inputs will be used.
  • MINOF—The minimum area common to all inputs will be used.
  • DISPLAY—The extent is equal to the visible display.
  • Layer name—The extent of the specified layer will be used.
  • Extent object—The extent of the specified object will be used.
  • Space delimited string of coordinates—The extent of the specified string will be used. Coordinates are expressed in the order of x-min, y-min, x-max, y-max.
Extent
clip_features
(Optional)

Determines if the output features will be clipped to the given area of interest or extent.

  • CLIPThe geometry of the features will be clipped to the given area_of_interest or extent.
  • SELECT Features in the map will be selected and their geometry will remain unaltered. This is the default.
Boolean
title
(Optional)

Adds title information to the properties of the package.

String
summary
(Optional)

Adds summary information to the properties of the package.

String
description
(Optional)

Adds description information to the properties of the package.

String
tags
(Optional)

Adds tag information to the properties of the package. Multiple tags can be added or separated by a comma or semicolon.

String
credits
(Optional)

Adds credit information to the properties of the package.

String
use_limitations
(Optional)

Adds use limitations to the properties of the package.

String
anonymous_use
(Optional)

Determines if the mobile maps can be used by anyone.

  • ANONYMOUS_USEEnables anyone with access to the package to use the mobile map without signing in with an Esri Named User account.
  • STANDARDAnyone with access to the package must be signed in with a Named User account to use the mobile map. This is the default.
License:

This optional parameter is only available with the Publisher extension.

Boolean
enable_map_expiration
(Optional)

Specifies whether to use a time-out on the mobile map package.

  • ENABLE_MAP_EXPIRATIONTime-out is enabled on the mobile map package.
  • DISABLE_MAP_EXPIRATIONTime-out is not enabled on the mobile map package. This is the default.
License:

This optional parameter is only available with the Publisher extension.

Boolean
map_expiration_type
(Optional)

Specifies the type of access for the expired mobile map package.

  • ALLOW_TO_OPENWarns the user of the package that the map has expired, but allow to open. This is the default.
  • DONOT_ALLOW_TO_OPENWarns the user of the package that the map has expired, and do not allow to open.
License:

This optional parameter is only available with the Publisher extension.

String
expiration_date
(Optional)

Specifies the date for the mobile map package to expire.

License:

This optional parameter is only available with the Publisher extension.

Date
expiration_message
(Optional)

A text message to display when an expired map is accessed.

License:

This optional parameter is only available with the Publisher extension.

String
select_related_rows
(Optional)

Specifies whether the specified extent will be applied to related data sources.

  • KEEP_ONLY_RELATED_ROWSOnly related data corresponding to records within the specified extent will be consolidated.
  • KEEP_ALL_RELATED_ROWSRelated data sources will be consolidated in their entirety. This is the default.
Boolean
reference_online_content
(Optional)

Specifies whether service layers will be referenced in the package.

  • INCLUDE_SERVICE_LAYERSService layers will be referenced in the mobile package.
  • EXCLUDE_SERVICE_LAYERSService layers will not be referenced in the mobile package. This is the default.
Boolean

Code sample

CreateMobileMapPackage example 1 (Python window)

Python sample for CreateMobileMapPackage that packages multiple maps and basemaps from within a project.

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 example 2 (stand-alone script)

Python sample for running CreateMobileMapPackage using an area of interest to clip features and setting an expiration date for two weeks from creation.

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

Licensing information

  • Basic: Limited
  • Standard: Limited
  • Advanced: Limited

Related topics