Процедурные символы

Слои процедурных символов используют скриптовую логику для создания сложных 3D-объектов и текстур на основе простых геометрий с целью отображения точечных, линейных и полигональных объектов и объектов мультипатч. К примеру, такие символы могут использоваться для показа таких точечных объектов, как деревья, максимально приближенные к реальности, полигональных, например, парижские строения XVII-го века или объектов мультипатч с текстурами, построенными с использованием определенных правил.

И слои символов заливки и слой символов маркеров могут быть процедурными в 3D-контексте.. В 2D-контексте содержание процедурных символов игнорируется и не отображается.

Процедурные символы используют логику CityEngine пакета правил (.rpk) для отображения объектов. Пакеты правил разработаны таким образом, чтобы свойства определенного символа могли быть настроены. Можно настраивать оформление слоев процедурных слоев, изменяя эти свойства символа или соединяя свойства с атрибутивными полями объекта.

ArcGIS Pro включает в себя системные стили с символами, содержащими слои процедурных символов. Можно также создавать собственные слои процедурных символов в CityEngine и экспортировать их как файлы .rpk для использования в ArcGIS Pro. Можно найти и загрузить дополнительные пакеты правил в ArcGIS Online.

Подсказка:
  • При поиске в галерее символов, содержащей процедурные слои, попробуйте использовать термины procedural или rpk.
  • При поиске ArcGIS Online пакетов правил, ищите rpk.

Для создания процедурного символа выполните следующие шаги:

  1. На панели Содержание щелкните символ, чтобы изменить его.

    Появится панель Символы в режиме Формат символа, показывающая информацию о текущем символе.

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

    Слой символов маркера

    Слои процедурных символов-маркеров могут существовать только в точечных символах. Процедурные маркеры вдоль линий или внутри полигонов не поддерживаются.

    Слой символов заливки

    Слои процедурных символов заливки могут существовать в полигональных символах, символах моделей mesh, точечных символахэффектами символов) и линейных символахэффектами символов).

  4. В ниспадающем меню, в заголовке слоя символов, выберите Процедурный маркер (для слоев символов маркеров) или Процедурная заливка (для слоев символов заливки).
  5. Щелкните кнопку Правило, чтобы выбрать пакет правил.

    Слой символов маркеров (в точечном символе)

    @StartRule пакета правил должно указывать аннотацию @InPoint, определяющую, что пакет применяется к точечной геометрии.

    Слой символов заливки в полигональном, точечном или линейном символе

    @StartRule пакета правил должно указывать @InPolygon на аннотацию, определяющую, что пакет применяется к полигональной геометрии.

    Слой символов заливки в символе mesh

    @StartRule пакета правил должно указывать @InMesh на аннотацию, определяющую, что пакет применяется к геометрии мультипатча.

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

    Значения по умолчанию для свойств в правиле отображаются рядом со свойствами. Но функциональность процедурных символов проявляется при подключении свойств к полям данных или при написании выражений. Для этого щелкните кнопку Сопоставление атрибутов не задано Сопоставление атрибутов не задано рядом со свойством. В диалоговом окне Задать сопоставление атрибутов выберите поле или напишите выражение в Arcade или на VBScript, щелкнув кнопку Задать выражение Задать выражение.

Подсказка:

Лучше удалите все остальные слои символа в этом случае, так как они, вероятнее всего, будут конфликтовать со процедурным слоем. На вкладке Структура Структура щелкните кнопку Удалить Delete рядом со слоем символа, чтобы удалить его.

Связанные разделы