Собрать слой (Consolidate Layer) (Управление данными (Data Management))
Резюме
Собирает один или несколько слоев в одной папке, копируя в нее все связанные источники данных.
Использование
Возникает предупреждение, если этому инструменту встречается неподдерживаемый тип слоя (Schematics или слой инструмента). Неподдерживаемый слой не будет записан в выходные данные.
При объединении или упаковке слоев результирующие слои будут переименованы в соответствии с принятыми условными обозначениями <integer><layername>.lyr (например, 0000roads.lyr). Такое переименование требуется в целях обеспечения уникальных имен слоев в объединенной папке для всех слоев, ссылающихся на уникальные источники данных и содержащих одинаковые имена слоя в ArcMap.
Если установлен флажок Конвертировать данные в файловую базу геоданных (Convert Data to File Geodatabase)
- Каждый уникальный источник данных будет иметь уникальную файловую базу геоданных, созданную в объединенной папке или пакете.
- Сжатые растровые и векторные форматы будут конвертированы в файловую базу геоданных, и сжатие будет утеряно.
- Объединение для многопользовательской базы геоданных не выполняется. В целях преобразования данных многопользовательских баз данных необходимо установить флажок Вместо привязки к данным включить данные корпоративной базы геоданных (Include Enterprise geodatabase data instead of referencing the data).
Если флажок Конвертировать данные в файловую базу геоданных (Convert Data to File Geodatabase) снят.
- Формат источника данных входных слоев будет сохранен. Исключением являются такие форматы как данные персональных баз геоданных (.mdb), данные VPF и таблицы на основе электронных таблиц Excel или подключений OLEDB. Эти форматы не поддерживают среды 64х и, таким образом, они всегда преобразовываются в файловые базы геоданных.
- Растровые форматы ADRG, CADRG/ECRG и RPF преобразовываются в формат файловой базы геоданных. ArcGIS не может напрямую писать из этих форматов. Они всегда будут конвертироваться в растры файловой базы геоданных для повышения эффективности.
- В структуре выходной папки файловые базы геоданных будут объединены в специфичную для версий папку, а все другие форматы будут объединены в папку commonData.
- Сжатые растровые и векторные форматы не будут вырезаться, даже если экстент задан в параметре Экстент (Extent).
-
Для слоев, которые содержат соединение или участвуют в классах отношений, все соединенные или связанные источники данных будут объединены в выходную папку.
-
Для векторных слоев, параметр Экстент (Extent) используется для выбора пространственных объектов, которые будут объединены. Для растровых слоев, параметр Экстент (Extent) используется для вырезания наборов растровых данных.
-
Некоторые наборы данных ссылаются на другие наборы данных. Например, у вас может быть набор данных топологи, который ссылается на четыре класса пространственных объектов. Другие примеры наборов данных, которые ссылаются на другие наборы данных, включают Геометрические сети (Geometric Networks), Сети (Networks) и Локаторы (Locators). При размещении или пакетировании слоя на основе этих типов наборов данных, участвующие наборы данных также будут размещены или пакетированы.
Если установлен соответствующий флажок, параметр Только схема (Schema Only) будет объединять или запаковывать схему источников входных данных. Схема — это структура или дизайн класса пространственных объектов или таблицы, состоящей из полей и определений таблицы, свойств системы координат, символов, определяющих запросов и т. д. Объединение или упаковка данных или записей не выполняется.
Источники данных, которые не поддерживают только схему, не будут объединены или упакованы. Если отмечен параметр Только схема (Schema Only) и инструменту встречается слой, который поддерживается не только схемой, отображается предупреждающее сообщение и этот слой будет пропущен. Если единственный указанный слой не поддерживается только для схемы, инструмент не будет выполнен.
В результате объединения или упаковки Покрытия (Coverage) или слоев VPF, они будут скопированы в объединенную папку или пакет.
Синтаксис
Параметр | Объяснение | Тип данных |
in_layer [in_layer,...] |
Входные слои, которые будут объединены. | Layer |
output_folder |
Выходная папка, которая будет содержать файлы слоев и объединенные данные. | Folder |
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 |
Пример кода
На следующем скрипте окна Python демонстрируется, как использовать инструмент Собрать слой (Consolidate Layer) с запуском из окна Python в ArcGIS.
import arcpy
arcpy.env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
arcpy.ConsolidateLayer_management('Parcels.lyr', 'Consolidated_folder', "PRESERVE", "CONVERT_ARCSDE", "#", "ALL","ALL")
Находит и создает отдельные объединенные папки для всех файлов слоев, которые находятся в указанной папке.
# Name: ConsolidateLayerEx1.py
# Description: Find all the layer files that reside in a specified folder and create a consolidated folder for each layer file.
# import system modules
import os
import arcpy
from arcpy import env
# Set environment settings
env.overwriteOutput = True
env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Loop through the workspace, find all the layer files (.lyr) and create a consolidated folder for each
# layer file found using the same name as the original layer file.
for lyr in arcpy.ListFiles("*.lyr"):
print "Consolidating " + lyr
arcpy.ConsolidateLayer_management(lyr, os.path.splitext(lyr)[0], "PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")
Находит и создает одну объединенную папку для всех файлов слоев, которые находятся в указанной рабочей области.
# Name: ConsolidateLayerEx2.py
# Description: Find all the layer files that reside in a specified folder and create a single
# consolidated folder that will contain all layers found.
# import system modules
import os
import arcpy
from arcpy import env
# Set environment settings
env.overwriteOutput = True
env.workspace = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Layers"
# Find all the layer files (.lyr) in a workspace and create a single consolidated folder
lyrs = arcpy.ListFiles("*.lyr")
arcpy.ConsolidateLayer_management(lyrs, 'all_layers',"PRESERVE", "CONVERT_ARCSDE", "#", "ALL", "ALL")