Сводка
Упаковывает один или более слой и все связанные источники данных для создания единого сжатого файла .lpk.
Использование
Если инструмент находит неподдерживаемый тип слоя, появляется предупреждение. Неподдерживаемый слой не будет записан в выходные данные.
Для запуска инструмента все входные слои должны содержать описание. Чтобы добавить описание, щелкните правой кнопкой на слое, нажмите Свойства, и введите описание.
Пакеты слоя поддерживают обратную совместимость с ArcGIS 10 и ArcGIS 9.3.1. Для создания пакета слоя, совместимого с предыдущими версиями, используйте параметр Версия пакета. Важно отметить, что за счет обновления и расширения функций для некоторых элементов баз геоданных не все пакеты слоев, будут обратно совместимыми.
Если включена опция Конвертировать данные в файловую базу геоданных (convert_data = 'CONVERT' в Python), происходит следующее:
- Каждый уникальный источник данных будет иметь уникальную файловую базу геоданных, созданную в объединенной папке или пакете.
- Сжатые растровые и векторные форматы будут конвертированы в файловую базу геоданных, и сжатие будет утеряно.
- Объединение для многопользовательской базы геоданных не выполняется. В целях преобразования данных многопользовательских баз данных необходимо установить отметку Вместо привязки к данным включить данные многопользовательской базы геоданных
Если опция Конвертировать данные в файловую базу геоданных (convert_data = 'PRESERVE' в Python) не включена, происходит следующее:
- Формат источника данных входных слоев будет сохранен. Исключением являются такие форматы как данные персональной базы геоданных (.mdb), данные VPF и таблицы на основе электронных таблиц Excel или подключений OLEDB. Эти форматы не поддерживают среды 64х, и поэтому они всегда преобразовываются в файловые базы геоданных.
- Растровые форматы ADRG, CADRG/ECRG и RPF преобразовываются в формат файловой базы геоданных. ArcGIS не может напрямую считывать эти форматы. Они всегда будут конвертироваться в растры файловой базы геоданных для повышения эффективности.
- В структуре выходной папки файловые базы геоданных будут объединены в специфичную для версий папку, а все другие форматы будут объединены в папку commonData.
- Сжатые растровые и векторные форматы не будут обрезаны, даже если в параметре Экстент указан экстент.
Для слоев, которые содержат соединение или участвуют в классах отношений, все соединенные или связанные источники данных будут объединены в выходную папку. По умолчанию соединенные или связанные источники данных будут объединены полностью или в зависимости от параметра Выбрать связанные строки на основе экстента, указанного с помощью параметра Экстент.
Для векторных слоев, параметр Экстент используется для выбора пространственных объектов, которые будут собраны. Для растровых слоев параметр Экстент используется для вырезания наборов растровых данных.
Некоторые наборы данных ссылаются на другие наборы данных. Например, у вас может быть набор данных топологи, который ссылается на четыре класса пространственных объектов. Другие примеры наборов данных, которые ссылаются на другие наборы данных, включают Геометрические сети, Сети и Локаторы. При сборе или упаковке слоя на основе этих типов наборов данных, участвующие наборы данных также будут собраны или упакованы.
Если включен параметр Только схема (schema_only = 'SCHEMA_ONLY' в Python), будет упакована или собрана только схема входных источников данных. Схема – это структура или дизайн класса пространственных объектов или таблицы, состоящей из полей и определений таблицы, свойств системы координат, символов, определяющих запросов и т. д. Сбор или упаковка данных или записей не выполняется.
Источники данных, которые не поддерживают только схему, не будут объединены или упакованы. Если отмечен параметр Только схема и инструменту встречается слой, который поддерживается не только схемой, отображается предупреждающее сообщение и этот слой будет пропущен. Если единственный указанный слой не поддерживается только для схемы, инструмент не будет выполнен.
В результате объединения или упаковки Покрытия или слоев VPF, они будут скопированы в объединенную папку или пакет.
Чтобы распаковать пакет слоев, либо перетащите файл .lpk в ArcMap, либо щелкните правой кнопкой файл .lpk и выберите Распаковать. Или же вы можете воспользоваться инструментом Распаковать и задать выходную папку.
По умолчанию команда Распаковать всегда извлекает пакет в профиль пользователя в папке:
- XP – C:\Documents and Settings\<username>\My Documents\ArcGIS\Packages
- Vista и Windows 7 – C:\Users\<username>\Documents\ArcGIS\Packages
Чтобы изменить папку, в которую по умолчанию распаковывается содержимое пакетов, выберите пункт Опции ArcMap в меню Настройка. На вкладке Общий доступ найдите раздел Пакет и выберите пункт Использовать определенное пользователем местоположение, после чего перейдите в новую папку.
Синтаксис
arcpy.management.PackageLayer(in_layer, output_file, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only}, {version}, {additional_files}, {summary}, {tags})
Параметр | Объяснение | Тип данных |
in_layer [in_layer,...] | Слои для упаковки. | Layer |
output_file | Местоположение и имя создаваемого выходного файла пакета (.lpk). | File |
convert_data (Дополнительный) | Устанавливает, будут ли входные слои конвертированы в файловую базу геоданных или сохранят свои исходные форматы.
| Boolean |
convert_arcsde_data (Дополнительный) | Устанавливает, будут ли входные слои многопользовательской базы геоданных преобразованы в файловую базу геоданных или сохранят свои исходные форматы.
| Boolean |
extent (Дополнительный) | Задает экстент, введя вручную координаты в параметре экстента, используя формат X-Min Y-Min X-Max Y-Max. Для использования экстента конкретного слоя укажите имя слоя.
| Extent |
apply_extent_to_arcsde (Дополнительный) | Задает, будет ли указанный экстент ко всем слоям или только к многопользовательские слои базы геоданных.
| Boolean |
schema_only (Дополнительный) | Указывает, будет ли только схема входных слоев собрана или упакована.
| Boolean |
version [version,...] (Дополнительный) | Указывает версию базы геоданных, которая будет создана в результирующем пакете. Указание версии позволяет осуществлять общий доступ к пакетам из предыдущих версий ArcGIS и поддерживает обратную совместимость.
| String |
additional_files [additional_files,...] (Дополнительный) | Добавляет дополнительные файлы в пакет. Дополнительные файлы, например, .doc, .txt, .pdf и т.п., используются для предоставления дополнительной информации о содержании и назначении пакета. | File |
summary (Дополнительный) | Добавление краткого описания в свойства пакета. | String |
tags (Дополнительный) | Добавление информации о тегах в свойства пакета. Можно добавить несколько тегов с разделением запятой или точкой с запятой. | String |
Пример кода
PackageLayer, пример 1 (окно Python)
Пример скрипта окна Python для использования инструмента PackageLayer.
import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
arcpy.PackageLayer_management('Parcels.lyr', 'Parcel.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "AlL", "CURRENT", "C:/readme.docx","Summary of package","parcel,montgomery")
PackageLayer, пример 2 (автономный скрипт Python)
Находит и создает отдельные пакеты слоев для всех файлов слоев, которые находятся в указанной папке.
# Name: PackageLayerEx1.py
# Description: Find all the layer files that reside in a specified folder and create a layer package for each layer file.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Loop through the workspace, find all the layer files (.lyr) and create a layer package using the same name as the original layer file.
for lyr in arcpy.ListFiles("*.lyr"):
print ("Packaging {0}".format(lyr))
arcpy.PackageLayer_management(lyr, os.path.splitext(lyr)[0] + '.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", "#","Summary of package","tag1, tag2")
PackageLayer, пример 3 (автономный скрипт Python)
Находит и создает один пакет слоев для всех файлов слоев, которые находятся в указанной папке.
# Name: PackageLayerEx2.py
# Description: Find all the layer files that reside in a specified folder and create a single layer package that will contain all layers found.
# import system modules
import os
import arcpy
# Set environment settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Find all the layer files (.lyr) in a workspace and create a single layer package.
lyrs = arcpy.ListFiles("*.lyr")
arcpy.PackageLayer_management(lyrs, 'all_layers.lpk', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL", "CURRENT", "#","Summary of package","tag1,tag2")
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да