程序符号系统使用基于脚本的逻辑,从简单几何构造复杂的 3D 对象和纹理,以显示点要素、面要素或多面体要素。例如,程序符号系统可用于将点要素渲染为真实的树、将面要素渲染为 17 世纪的巴黎建筑物或带有基于规则的涂绘纹理的多面体要素。
填充符号图层和标记符号图层在 3D 环境中时,都可以是程序符号图层。在 2D 环境中,程序符号内容会被忽略而不绘制。
程序符号利用 CityEngine 规则包(.rpk)中的逻辑来绘制要素。规则包旨在显示某些符号属性以便进行配置。可以通过调整这些符号属性或者将属性连接到要素属性字段来自定义程序符号图层的外观。
ArcGIS AllSource 包括系统样式和包含程序符号图层的符号。或者,可以在 CityEngine 中创作自己的程序符号并将其导出为要在 ArcGIS AllSource 中使用的 .rpk 文件。您可以在 ArcGIS Online 中找到并下载其他规则包。
提示:
- 当在库中搜索包含程序图层的符号时,可尝试使用程序或 rpk 作为搜索词。
- 在 ArcGIS Online 中搜索规则包时,可搜索 rpk。
要制作程序符号,请完成以下步骤:
- 在内容窗格中,单击要修改的符号。
“格式化符号”模式中出现的符号系统窗格显示了当前符号。
- 在符号系统窗格中,切换到属性视图并单击图层选项卡 以查看当前符号的符号图层。可能只有一个符号图层。
- 请突出显示符号中的现有标记符号图层或填充符号图层,或从结构选项卡 中,先添加新符号图层。
程序标记符号图层只能存在于点符号中。不支持沿线、沿面轮廓或位于面内的程序标记。
- 在符号图层标题的下拉菜单中,选择程序标记(针对标记符号图层)或程序填充(针对填充符号图层)。
- 单击规则按钮选择规则包。
标记符号图层(在点符号中)
规则包的 @StartRule 必须指定 @InPoint 注记,以表明其适用于点几何。
面、点或线符号中的填充符号图层
规则包的 @StartRule 必须指定 @InPolygon 注记,以表明其适用于面几何。
网格符号中的填充符号图层
规则包的 @StartRule 必须指定 @InMesh 注记,以表明其适用于多面体几何。
规则包所显示的属性可显示在窗格内。可将规则包中名称和数据类型与要素属性字段相匹配的符号属性自动连接到该字段。
程序规则的属性具有默认值,显示在每个属性旁边。但是,当您将这些属性中的某些属性连接到数据中的字段,或在编写表达式时,程序符号系统的强大功能就能体现出来了。要进行上述任一操作,请单击属性旁边的无定义的属性映射按钮 。在设置属性映射对话框上,通过单击设置表达式按钮 选择一个字段,或者以 Arcade 或 VBScript 编写表达式。
提示:
请考虑移除所有其他符号图层,因为这些符号图层很可能会影响程序符号图层的外观。在结构选项卡 上,单击符号图层旁边的删除按钮 删除该符号图层。