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})
Parameter | Explanation | Data 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:
| 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.
| Extent |
clip_features (Optional) | Determines if the output features will be clipped to the given area of interest or extent.
| 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.
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.
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.
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.
| Boolean |
reference_online_content (Optional) | Specifies whether service layers will be referenced in the package.
| Boolean |
Code sample
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")
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.")
Environments
Licensing information
- Basic: Limited
- Standard: Limited
- Advanced: Limited