arcgis mpk 打包地图 (数据管理)

摘要 来自:http://help.arcgis.com/zh-cn/arcgisdesktop/10.0/help/index.html#/na/0017000000q5000000/

对地图文档以及所有引用的数据源进行打包可创建经过压缩的单个 .mpk 文件。

插图

Package map illustration
含三个要素图层的解包地图包的文件夹结构。

用法

  • 当使用此工具遇到不支持的图层类型(逻辑示意图或工具图层)时将会发出警告。不支持的图层将不会被写入到输出。

  • 输入图层必须具有相应描述此工具才能执行。要添加描述,请右键单击该图层并单击属性,然后输入描述。

  • 要对某个地图包进行解包,可将 .mpk 文件拖到 ArcMap 中或者右键单击 .mpk 文件然后单击解包。或者可使用提取包工具并指定一个输出文件夹。

    解包将始终按照以下路径将图层包提取到用户配置文件中:

    • XP - C:Documents and Settings用户名My DocumentsArcGISPackages
    • Vista 和 Windows 7 - C:Users用户名DocumentsArcGISPackages
  • 选中将数据转换为文件地理数据库时

    • 压缩栅格格式将转换为文件地理数据库栅格。
    • 压缩矢量格式(例如 SDC 格式)将转换为文件地理数据库要素类,并且原来的压缩数据将会丢失。
  • 取消选中将数据转换为文件地理数据库时

    • 将保留输入图层的格式,但有一个例外:在个人地理数据库中引用数据的图层将始终转换为文件地理数据库。
    • 每个数据源都将保留其原始格式。文件地理数据库将被合并到版本特定的文件夹中,所有其他格式将被合并到 commonData 文件夹中。
    • 指向 ArcSDE 数据源的图层将保留其连接信息并保持指向合并的文件夹或数据包中的 ArcSDE 数据源。
    • ADRG、CADRG/ECRG、CIB 和 RPF 栅格格式将始终转换为文件地理数据库栅格。ArcGIS 无法直接写出这些格式。为了提高效率,它们将始终被转换为文件地理数据库栅格。
    • 即使在范围参数中指定了范围,也不会裁剪压缩栅格和矢量格式。
  • 对于包含连接的图层或加入到关系类中的图层,所有连接的或相关的数据源将被合并到输出文件夹中。

  • 对于要素图层,范围参数用于选择将被合并的要素。对于栅格图层,范围参数用于裁剪栅格数据集。

  • 某些数据集会引用其他数据集。例如,您可能有一个引用了四个要素类的拓扑数据集。引用了其他数据集的其他数据集示例包括几何网络、网络和定位器。基于这些类型的数据集合并或打包图层时,也将合并或打包这些参与的数据集。

  • 如果选中仅方案参数,将仅合并该输入数据源的方案。方案是某个要素类或表的结构或设计,此表由字段和表定义、坐标系属性、符号系统、定义查询等组成。数据或记录不会被合并。

  • 不会合并或打包不支持“仅方案”的数据源。如果选中了仅方案参数且工具遇到了不支持“仅方案”的图层,将显示警告信息并跳过此图层。如果指定的唯一图层不支持“仅方案”,则该工具将失败。

  • 合并或打包 Coverage 或 VPF 图层会将整个 Coverage 或 VPF 数据集复制到合并的文件夹或数据包中。

语法

PackageMap_management (in_map, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde})
参数 说明 数据类型
in_map

要打包的地图文档。

ArcMap Document
output_file

输出地图包的名称和位置 (.mpk)。

File
convert_data
(可选)

指定输入图层是转换为文件地理数据库还是保留原始格式。

    <esri_enumhead><esri_enumvaluehd><esri_enumdeschd>
  • CONVERT — 数据将被复制到文件地理数据库中。
  • PRESERVE — 将保留数据格式。这是默认设置。
Boolean
convert_arcsde_data
(可选)

指定输入图层是转换为文件地理数据库还是保留原始格式。

    <esri_enumhead><esri_enumvaluehd><esri_enumdeschd>
  • CONVERT_ARCSDE — ArcSDE 数据将被复制到文件地理数据库中。这是默认设置。
  • PRESERVE_ARCSDE — 将保留 ArcSDE 数据并将在生成的合并文件夹或数据包中引用此数据。
Boolean
extent
(可选)

通过使用格式 X-Min Y-Min X-Max Y-Max 在范围参数中手动输入坐标的方式来指定范围。此外,如果要使用特定图层的范围,只需将该图层名称添加到范围参数中即可。

    <esri_enumhead><esri_enumvaluehd><esri_enumdeschd>
  • MAXOF —输入的并集
  • MINOF —输入的交集
  • DISPLAY —与显示相同
  • <图层> —与图层...相同
Extent
apply_extent_to_arcsde
(可选)

指定将用于选择 ArcSDE 数据源的范围。

    <esri_enumhead><esri_enumvaluehd><esri_enumdeschd>
  • ALL — 将指定的范围应用于所有图层。这是默认设置。
  • ARCSDE_ONLY —将指定的范围仅应用于 ArcSDE 图层。
Boolean

代码示例

PackageMap 示例(Python 窗口)

以下 Python 脚本演示了如何在 Python 窗口中使用“打包地图”工具。

import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/Editing" 
arcpy.PackageMap_management('Exercise1.mxd', 'EditingExercise1.mpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL")
PackageMap 示例(独立脚本)

查找位于指定文件夹中的所有地图文档,然后分别为这些地图文档创建地图包。

 

# Name: PackageMap.py
# Description:  Find all the map documents that reside in a specified folder and create map packages for each map document.
# Author: ESRI

# import system modules
import os
import arcpy

from arcpy import env

# Set environment settings
env.overwriteOutput = True
env.workspace = "C:/arcgis/ArcTutor/Editing" 

# Loop through the workspace, find all the mxds and create a map package using the same name as the mxd
for mxd in arcpy.ListFiles("*.mxd"):
    print "Packaging " + mxd
    arcpy.PackageMap_management(mxd, os.path.splitext(mxd)[0] + '.mpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL")

许可信息

ArcView: 是
ArcEditor: 是
ArcInfo: 是
原文地址:https://www.cnblogs.com/gisoracle/p/4355890.html