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

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

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

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

  • Слой символов должен соответствовать типу данных входного слоя. Например, слой пространственных объектов не может быть применен к растровым слою и наоборот.

  • Слой символов может применяться только к пространственным объектам с одинаковой геометрией. Например, символы точечного слоя нельзя применить к полигональному слою.

  • Кроме символов, инструмент также переносит параметры поле времени, 3D высоты и отступ, класс надписей и всплывающее окно HTML.

  • Если входные данные представлены классом пространственных объектов или путем к набору данных, этот инструмент будет автоматически создавать и возвращать новый слой с результатом примененного инструмента.

  • Вы можете сохранить или обновить диапазоны символов в параметре Обновить диапазоны символов по данным. Методы назначения символов по умолчанию являются динамическими. Например, к входному слою применена классификация на 5 классов методом Естественные границы из слоя символов, и граничные значения подбираются по значениям поля Shape_Area из входного слоя. Если включена опция Сохранить диапазоны, будут использованы те же значения, что и у слоя символов. Если выбрана опция Обновить диапазоны, будет использован метод классификации Естественные границы с пятью классами из входного слоя по полю Shape_Area.

    Иллюстрация работы инструмента Применить символы слоя

    Динамические методы:

    • Символы уникальных значений к пространственным объектам
      • Уникальные значения обновляются в соответствии со значениями входного слоя.
      • Если вы не хотите, чтобы классификация уникальных значений была обновлена, выберите символ по умолчанию для <все другие значения> в слое символов.
    • Градуированные символы к пространственным объектам
      • Граничные значения обновляются по значениям входного слоя.
      • Если вы не хотите, чтобы выходные граничные значения были обновлены, выберите классификацию вручную.
    • Классифицированные значения к растру
      • Граничные значения обновляются с учетом значений входного слоя.
      • Если вы не хотите, чтобы выходные граничные значения были обновлены, выберите классификацию вручную.

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

  • Символы сохраняются только на протяжении существования слоя. Слой можно сохранить, сохранив сеанс AllSource или сохранив его в файл слоя с помощью инструмента Сохранить слой в файл.

    Чтобы увидеть результаты применения символов, выполненные инструментом-скриптом, у инструмента должен быть производный выходной параметр. Точно так же параметр Обновленный входной слой должен быть установлен в качестве производного параметра модели в инструменте модели, чтобы можно было увидеть объединенные результаты.

Параметры

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

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

Feature Layer; Raster Layer; Layer
Слой символов

Слой, содержащий символы, которые будут применены ко входному слою. Поддерживаются файлы как .lyrx так и .lyr.

Layer
Поля символов
(Дополнительный)

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

  • Тип поля – тип поля: значение символа, нормализация или другой тип.
  • Поле источника – поле символов, используемое в слое символов. Используйте пустое значение или "#", если поле источника вам неизвестно, и вы желаете использовать поле по умолчанию.
  • Поле назначения – поле из входного слоя, используемое при применении символов.

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

  • Поле значений – основное поле, используемое для обозначения значений
  • Поле нормирования – поле, используемое для нормирования количественных значений
  • Поле условия исключения – поле, используемое для условия исключения символики.
  • Поле размера круговой диаграммы при визуализации – поле, используемое для установки размера символов круговой диаграммы.
  • Поле выражения поворота X – поле, используемое для установки поворота символов по оси x.
  • Поле выражения поворота Y – поле, используемое для установки поворота символов по оси y.
  • Поле выражения поворота Z – поле, используемое для установки поворота символов по оси z.
  • Поле выражения прозрачности – поле, используемое для установки прозрачности символов.
  • Поле нормализации нормирования прозрачности – поле, используемое для нормирования значений прозрачности.
  • Поле выражения размера – поле, используемое для установки размера или ширины символов.
  • Поле выражения цвета – поле, используемое для установки цвета символов.
  • Поле выражения примитивного переопределения – поле, используемое для установки различных свойств на отдельных слоях символов.

Value Table
Обновить диапазоны символов по данным
(Дополнительный)

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

  • По умолчаниюДиапазоны символов будут обновлены за исключением следующих ситуаций: когда входной слой пуст, когда слой символов использует границы классов (например, градуированные цвета или градуированные символы), метод классификации вручную или заданный интервал, или когда слой символов использует уникальные значения, а также когда отмечена опция Показать все остальные значения.
  • Обновить диапазоныДиапазоны символов будут обновлены.
  • Сохранить диапазоныДиапазоны символов не будут обновляться; они будут сохранены.
String

Производные выходные данные

ПодписьОписаниеТип данных
Обновленный входной слой

Обновленный входной слой.

Layer

arcpy.management.ApplySymbologyFromLayer(in_layer, in_symbology_layer, {symbology_fields}, {update_symbology})
ИмяОписаниеТип данных
in_layer

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

Feature Layer; Raster Layer; Layer
in_symbology_layer

Слой, содержащий символы, которые будут применены ко входному слою. Поддерживаются файлы как .lyrx так и .lyr.

Layer
symbology_fields
[[field_type, source_field, target_field],...]
(Дополнительный)

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

  • Тип поля – тип поля: значение символа, нормализация или другой тип.
  • Поле источника – поле символов, используемое в слое символов. Используйте пустое значение или "#", если поле источника вам неизвестно, и вы желаете использовать поле по умолчанию.
  • Поле назначения – поле из входного слоя, используемое при применении символов.

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

  • VALUE_FIELD – основное поле, используемое для обозначения значений
  • NORMALIZATION_FIELD – поле, используемое для нормирования количественных значений
  • EXCLUSION_CLAUSE_FIELD – поле, используемое для условия исключения символики.
  • CHART_RENDERER_PIE_SIZE_FIELD – поле, используемое для установки размера символов круговой диаграммы.
  • ROTATION_XEXPRESSION_FIELD – поле, используемое для установки поворота символов по оси x.
  • ROTATION_YEXPRESSION_FIELD – поле, используемое для установки поворота символов по оси y.
  • ROTATION_ZEXPRESSION_FIELD – поле, используемое для установки поворота символов по оси z.
  • TRANSPARENCY_EXPRESSION_FIELD – поле, используемое для установки прозрачности символов.
  • TRANSPARENCY_NORMALIZATION_FIELD – поле, используемое для нормирования значений прозрачности.
  • SIZE_EXPRESSION_FIELD – поле, используемое для установки размера или ширины символов.
  • COLOR_EXPRESSION_FIELD – поле, используемое для установки цвета символов.
  • PRIMITIVE_OVERRIDE_EXPRESSION_FIELD – поле, используемое для установки различных свойств на отдельных слоях символов.

Value Table
update_symbology
(Дополнительный)

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

  • DEFAULTДиапазоны символов будут обновлены, за исключением следующих ситуаций:
  • UPDATEДиапазоны символов будут обновлены.
  • MAINTAINДиапазоны символов не будут обновляться; они будут сохранены.
String

Производные выходные данные

ИмяОписаниеТип данных
out_layer

Обновленный входной слой.

Layer

Пример кода

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

В следующем скрипте окна Python показано, как используется функция ApplySymbologyFromLayer в режиме прямого запуска.

import arcpy
arcpy.env.workspace = "C:/data.gdb"
arcpy.management.ApplySymbologyFromLayer("sf_points", "sf_points_water.lyrx")
ApplySymbologyFromLayer, пример 2 (автономный скрипт)

Ниже показано, как использовать функцию ApplySymbologyFromLayer в автономном скрипте.


# Import system modules
import arcpy

# Set the current workspace
arcpy.env.workspace = "C:/data.gdb"

# Set layer to apply symbology to
inputLayer = "sf_points"

# Set layer that output symbology will be based on
symbologyLayer = "water_symbols_pnt.lyrx"

# Apply the symbology from the symbology layer to the input layer
arcpy.management.ApplySymbologyFromLayer(inputLayer, symbologyLayer)
ApplySymbologyFromLayer, пример 3 (автономный скрипт)

Ниже показано, как использовать функцию ApplySymbologyFromLayer в автономном скрипте.


# Import system modules
import arcpy

# Set the current workspace
arcpy.env.workspace = "C:/data.gdb"

# Set layer to apply symbology to
inputLayer = "InlandEmpireBlocks"

# Set layer that output symbology will be based on
symbologyLayer = "USCensusBlocks.lyrx"

# The symbology layer is symbolized by population normalized by area.
# Symbolize the input by Pop2014 field normalized to Square Miles
symbologyFields = [["VALUE_FIELD", "#", "Pop2014"], 
                   ["NORMALIZATION_FIELD", "#", "SQ_MILES"]]

# Apply the symbology from the symbology layer to the input layer
arcpy.management.ApplySymbologyFromLayer(inputLayer, symbologyLayer, 
                                         symbologyFields)
ApplySymbologyFromLayer, пример 3 (инструмент скрипта)

В инструменте скрипта примените символы к нескольким полученным выходным векторным слоям. Инструмент в примере имеет следующие параметры:

  • Входные слои
    • Тип данных: Векторный слой (многозначные)
    • Тип: Обязательный
    • Направление: Ввод
  • Символы
    • Тип данных: Векторный слой
    • Тип: Обязательный
    • Направление: Ввод
  • Производные выходные данные
    • Тип данных: Векторный слой (многозначные)
    • Тип: Полученный
    • Направление: Вывод

# Import system modules
import os
import arcpy

# Get Parameters
layers = arcpy.GetParameter(0)  # Accepts Feature Layers (multivalue)
sym = arcpy.GetParameter(1)  # Accepts a Feature Layer

# Apply symbology to each input layer, store the result objects in a list
results = []
for layer in layers:

    # Derive the name of the output featureclass
    layername = arcpy.Describe(layer).baseName
    outfeature = os.path.join(arcpy.env.scratchGDB, layername + "_out")

    # Copy feature to get output. This step could be replaced by other
				# steps that produce or manipulate a featureclass.
    arcpy.management.CopyFeatures(layer, outfeature)

				# Apply symbology to the each final output
    res = arcpy.management.ApplySymbologyFromLayer(outfeature, sym)

    # Append multivalue feature
    results.append(res)

# Set the symbology of the derived output parameter using the 
# list of result objects
arcpy.SetParameter(2, results)