Собрать слой (Consolidate Layer) (Управление данными (Data Management))

Уровень лицензии:BasicStandardAdvanced

Резюме

Собирает один или несколько слоев в одной папке, копируя в нее все связанные источники данных.

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

Синтаксис

ConsolidateLayer_management (in_layer, output_folder, {convert_data}, {convert_arcsde_data}, {extent}, {apply_extent_to_arcsde}, {schema_only})
ПараметрОбъяснениеТип данных
in_layer
[in_layer,...]

Входные слои, которые будут объединены.

Layer
output_folder

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

Folder
convert_data
(дополнительно)

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

  • CONVERT Данные будут преобразованы в файловую базу геоданных.
    ПримечаниеПримечание:

    Этот параметр не применяется к источникам данных многопользовательской базы геоданных. Для преобразования данных многопользовательских баз геоданных необходимо задать для convert_arcsde_data значение CONVERT_ARCSDE.

  • PRESERVEФорматы данных будут по возможности сохранены. Это значение используется по умолчанию.
    ПримечаниеПримечание:

    Исключением для этого правила являются форматы, которые не поддерживаются в средах 64x (данные персональной базы геоданных (.mdb), данные VPF и таблицы на основе электронных таблиц Excel и подключений OLEDB) и растровых форматов, запись которых ArcGIS не может выполнять встроенными средствами (ADRG, CADRG/ECRG, CIB и RPF).

Boolean
convert_arcsde_data
(дополнительно)

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

  • CONVERT_ARCSDE Данные многопользовательской базы геоданных будут преобразованы в файловую базу геоданных и включены в объединенную папку или пакет. Это значение используется по умолчанию.
  • PRESERVE_ARCSDE Данные многопользовательской базы геоданных будут сохранены и на них будут иметься ссылки в объединенной папке или пакете.
Boolean
extent
(дополнительно)

Задайте экстент, введя вручную координаты в параметре экстента, используя формат X-Min Y-Min X-Max Y-Max. Для использования экстента конкретного слоя укажите имя слоя.

  • MAXOFОбъединение входных данных
  • MINOFПересечение входных данных
  • DISPLAYТот же экстент как текущий дисплей
  • <Слой>Тот же экстент как конкретный слой
Extent
apply_extent_to_arcsde
(дополнительно)

Определяет, будет ли указанный экстент ко всем слоям или только к многопользовательские слои базы геоданных.

  • ALL Указанный экстент применяется ко всем слоям. Это значение используется по умолчанию.
  • ARCSDE_ONLYУказанный экстент применяется только к слоям многопользовательских баз геоданных.
Boolean
schema_only
(дополнительно)

Указывает, будет ли только схема входных слоев собрана или упакована.

  • ALL Все пространственные объекты и записи будут собраны и упакованы. Это значение используется по умолчанию.
  • SCHEMA_ONLY Только Схема входных слоев будет собрана или упакована.
Boolean

Пример кода

ConsolidateLayer. Пример 1 (окно Python)

На следующем скрипте окна 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")
ConsolidateLayer. Пример 2 (автономный скрипт Python)

Находит и создает отдельные объединенные папки для всех файлов слоев, которые находятся в указанной папке.

# 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")
ConsolidateLayer. Пример 3 (автономный скрипт Python)

Находит и создает одну объединенную папку для всех файлов слоев, которые находятся в указанной рабочей области.

# 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")

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/10/2013