Распаковать (Управление данными)

Краткая информация

Извлекает содержимое пакета в указанную папку. Распакованное содержимо входного пакета будет добавлено в выходную папку.

Использование

  • Поддерживаются следующие типы пакетов:

    • Пакеты геообработки (.gpk и .gpkx)
    • Пакеты слоев (.lpk и .lpkx)
    • Пакеты локатора (.gcpk)
    • Пакеты карт (.mpk и .mpkx)
    • Пакеты мобильных карт (.mmpk)
    • Пакеты проектов и Шаблоны проектов (.ppkx и .aptx)
    • Пакеты слоя сцены (.slpk)
    • Пакеты листов (.tpk и .tpkx)
    • Пакеты векторных листов (.vtpk)

  • Выходная папка может быть как новой папкой, так и существующей папкой. При распаковке в существующую папку содержимое пакета будет добавлено к существующим файлам и вложенным папкам. Если выходная папка содержит извлеченное содержание пакета, существующее содержание будет переписано.

  • Распакованные файлы для пакетов с вложениями будут сохранены в подпапке commondata\userdata\ в выходной папке. Как правило, файлы в пакете являются вспомогательными, например, .pdf или .docx, или изображения. Чтобы открыть эти файлы, перейдите к извлеченной директории в Microsoft File Explorer.

  • При распаковке пакетов векторных листов (.vtpk) содержимое пакета будет распаковано в выходную папку. Формат хранения кэша можно преобразовать из компактного (файлы .bundle) в полистный (файлы .pbf) с помощью параметра Тип формата хранения. Можно использовать распакованные файлы .pbf в других клиентских приложениях, например, в Mapbox.

    Примечание:

    Извлечение плоского кэша может быть медленным и привести к извлечению миллиардов листов в зависимости от экстента данных, уровней детализации пакета и конфигурации аппаратного обеспечения.

  • При извлечении векторных пакетов, пакетов листов или пакетов слоев сцены (.vtpk, .tpk, .tpkx или .slpk) параметр Пакет кэша является неактивным

  • При извлечении векторных пакетов, пакетов листов или пакетов слоев сцены версии 1.7 или более поздней вы можете извлечь содержимое пакетов в папку в локальной файловой системе или в хранилище объектов, находящемся в облаке, например, Amazon S3, хранилище Blob Azure или Alibaba OSS. Это содержание готово для использования в качестве слоя листов или слоя сцены, и выбранное вами местоположение должно быть зарегистрировано как управляемое пользователем хранилище данных в формате ArcGIS Enterprise.

  • Файл подключения (.acs) можно создать с помощью инструмента Создать файл подключения к облачному хранилищу.

  • Более старые версии пакетов слоев сцены можно обновить до последней версии при помощи инструмента Обновить слой сцены.

  • Примечание:

    При извлечении пакетов слоев сцены в хранилище объектов в облаке (.i3sREST) формат хранилища кэша сцены отличается от формата при извлечении в папку в локальной файловой системе (.eslpk), и эти форматы не являются обменными.

Параметры

ПодписьОписаниеТип данных
Входной пакет

Извлекаемый входной пакет.

File
Выходная папка
(Дополнительный)

Выходная папка, в которой будет находиться содержание пакета.

Если указанная папка отсутствует, она будет создана.

Folder
Пакет кэша
(Дополнительный)

Определяет, будет ли копия пакета кэширована в ваш профиль.

При распаковке пакета выходные данные сначала извлекаются в ваш профиль пользователя с уникальным идентификатором, прежде чем копия будет добавлена в директорию, указанную в параметре Выходная папка. После загрузки и извлечения данных последующих версий того же пакета будет обновлено только это расположение. Вам не требуется создавать вручную кэшированную версию пакета в своем профиле пользователя при использовании этого параметра. Этот параметр неактивен, если входной пакет - это пакет векторных листов (.vtpk) или пакет листов (.tpk и .tpkx).

  • Отмечено—Копия пакета будет извлечена и кэширована в ваш профиль. Используется по умолчанию.
  • Не отмечено—Копия пакета будет извлечена только в указанный выходной параметр; она не будет кэширована.
Boolean
Тип формата хранения
(Дополнительный)

Задает формат хранения, который будет использоваться для извлеченного кеша. Этот параметр применяется, только если входной пакет - пакет векторных листов (.vtpk).

  • СжатыйПри использовании формата хранения Compact V2 листы будут сгруппированы в пакетные файлы. Этот формат обеспечивает повышенную производительность работы в общих сетевых директориях и облачных хранилищах. Используется по умолчанию.
  • ПолистныйКаждый лист будет храниться как отдельный файл.
String
Создать готовый к обслуживанию кэшированный набор данных
(Дополнительный)

Указывает, будет ли создан готовый к обслуживанию формат для ArcGIS Enterprise. Этот параметр активен, только если входной пакет - это пакет векторных листов (.vtpk) или пакет листов (.tpkx).

  • Отмечено — Будет создана структура папок с извлеченным кэшем, который можно использовать для создания слоя листов в ArcGIS Enterprise. Расширение файла папки указывает на содержимое, которое в ней хранится: .tiles (набор данных кэша) для пакетов листов или .vtiles (набор данных векторного кэша) для пакетов векторных листов.
  • Не отмечено — Будет создана структура папок с распакованным содержимым пакета. Используется по умолчанию.
Boolean
Целевое облачное подключение
(Дополнительный)

Целевой файл .acs, в который будет извлечено содержимое пакета. Этот параметр включен, только если входной пакет - это пакет слоев сцены (.slpk), пакет векторных листов (.vtpk) или пакет листов (.tpkx).

Folder

arcpy.management.ExtractPackage(in_package, {output_folder}, {cache_package}, {storage_format_type}, {create_ready_to_serve_format}, {target_cloud_connection})
ИмяОписаниеТип данных
in_package

Извлекаемый входной пакет.

File
output_folder
(Дополнительный)

Выходная папка, в которой будет находиться содержание пакета.

Если указанная папка отсутствует, она будет создана.

Folder
cache_package
(Дополнительный)

Определяет, будет ли копия пакета кэширована в ваш профиль.

При распаковке пакета выходные данные сначала извлекаются в ваш профиль пользователя с уникальным идентификатором, прежде чем копия будет добавлена в директорию, указанную в параметре output_folder. После загрузки и извлечения данных последующих версий того же пакета будет обновлено только это расположение. Вам не требуется создавать вручную кэшированную версию пакета в своем профиле пользователя при использовании этого параметра. Этот параметр не включен, если входной пакет - это пакет векторных листов (.vtpk) или пакет листов (.tpk и .tpkx).

  • CACHEКопия пакета будет извлечена и кэширована в ваш профиль. Используется по умолчанию.
  • NO_CACHEКопия пакета будет извлечена только в указанный выходной параметр; она не будет кэширована.
Boolean
storage_format_type
(Дополнительный)

Задает формат хранения, который будет использоваться для извлеченного кеша. Этот параметр применяется, только если входной пакет - пакет векторных листов (.vtpk).

  • COMPACTПри использовании формата хранения Compact V2 листы будут сгруппированы в пакетные файлы. Этот формат обеспечивает повышенную производительность работы в общих сетевых директориях и облачных хранилищах. Используется по умолчанию.
  • EXPLODEDКаждый лист будет храниться как отдельный файл.
String
create_ready_to_serve_format
(Дополнительный)

Указывает, будет ли создан готовый к использованию формат для ArcGIS Enterprise. Этот параметр включен, только если входной пакет - это пакет векторных листов (.vtpk) или пакет листов (.tpkx).

  • READY_TO_SERVE_CACHE_DATASETБудет создана структура папок с извлеченным кэшем, который можно использовать для создания слоя листов в ArcGIS Enterprise. Расширение файла папки указывает на содержимое, которое в ней хранится: .tiles (набор данных кэша) для пакетов листов или .vtiles (набор данных векторного кэша) для пакетов векторных листов.
  • EXTRACTED_PACKAGEБудет создана структура папок с распакованным содержимым пакета. Используется по умолчанию.
Boolean
target_cloud_connection
(Дополнительный)

Целевой файл .acs, в который будет извлечено содержимое пакета. Этот параметр включен, только если входной пакет - это пакет слоев сцены (.slpk), пакет векторных листов (.vtpk) или пакет листов (.tpkx).

Folder

Пример кода

ExtractPackage, пример 1 (окно Python)

Следующий скрипт окна Python демонстрирует использование функции ExtractPackage, чтобы создать готовые к использованию наборы данных кэша, которые могут использоваться в рабочих процессах публикации в ArcGIS Enterprise.

import arcpy
arcpy.management.ExtractPackage(r"C:\Data\packages\MyVectorPackage.vtpk", 
                                r"C:\Data\packages\Extracted", "CACHE", 
                                "COMPACT", "READY_TO_SERVE_CACHE_DATASET")
ExtractPackage, пример 2 (окно Python)

Следующий скрипт окна Python демонстрирует использование функции ExtractPackage, чтобы распаковать пакеты слоев сцены в хранилище объектов, которые могут использоваться в рабочих процессах публикации в ArcGIS Enterprise.

import arcpy
arcpy.management.ExtractPackage(r"C:\Data\packages\ChicagoBuildings.slpk", 
                                None, "CACHE", 
                                "COMPACT", "EXTRACTED_PACKAGE", 
                                r"C:\CloudConnections\AWS.acs")
ExtractPackage, пример 3 (окно Python)

Следующий скрипт окна Python демонстрирует использование функции ExtractPackage, чтобы распаковать пакеты слоев векторных листов в хранилище объектов, которые могут использоваться в рабочих процессах публикации в ArcGIS Enterprise.

import arcpy
arcpy.management.ExtractPackage(r"C:\Data\packages\London.vtpk", 
                                None, "CACHE", 
                                "COMPACT", "EXTRACTED_PACKAGE", 
                                r"C:\CloudConnections\AWS.acs")
ExtractPackage, пример 4 (автономный скрипт)

В скрипте производится поиск всех пакетов геообработки в определенной папке, а затем их содержимое распаковывается в указанную папку функцией ExtractPackage.

# Name: ExtractPackage.py
# Description: Find geoprocessing packages in a specified folder and extract 
#              contents.

import arcpy
import os

arcpy.env.overwriteOutput = True

# set folder that contains packages to extract
arcpy.env.workspace = "C:/geoprocessing/gpks" 
wrksp = arcpy.env.workspace

for gpk in arcpy.ListFiles("*.gpk"):
    print("Extracting... " + gpk)
    arcpy.management.ExtractPackage(gpk, os.path.splitext(gpk)[0])

print("done")