制图表达就是通过将符号信息与要素几何存储在要素类中以自定义要素外观的一种 ArcMap 符号系统选项。 它们通常用于满足严格的制图规范要求或实现高级的符号效果。 要素类可拥有多个与之关联的制图表达,这样,在不同的地图产品中,同一数据能够以不同的方式显示。
制图表达符号系统
ArcGIS Pro 的符号模型支持制图表达规则,并且可以与属性驱动型符号系统相结合,以通过基于字段的制图表达覆盖来实现制图结果。 由于符号和属性驱动型符号系统配置存储在图层中,因此此方法比制图表达更灵活。 更新不需要对地理数据库中的要素类进行方案变更,并且可以将符号系统应用于所有要素图层数据源,而不仅仅是地理数据库要素类。
ArcGIS Pro 中的制图表达
制图表达可以显示在 ArcGIS Pro 中,但符号系统无法修改。 对于源数据包含制图表达的任何图层,在符号系统菜单 中列出制图表达符号系统。 如果图层具有多个制图表达,则每个制图表达均会有一个符号系统选项。
要修改图层的符号系统,请将制图表达符号系统转换为唯一值符号系统。 这会将与制图表达关联的所有制图表达规则和字段覆盖转换为图层符号系统。 在转换之前,您必须分析图层以识别不支持的方面,例如在覆盖 BLOB 字段中存储的覆盖、形状覆盖、自由式制图表达和制图表达标记覆盖。 分析会生成一个日志文件,其中列出带有覆盖的各个要素。 然后,您可以使用 ArcMap 手动将覆盖的属性和几何移动到相应的字段中,或使用更新覆盖地理处理工具来执行此操作。
将制图表达符号系统转换为唯一值符号系统
要将制图表达符号系统转换为唯一值符号系统,请执行以下步骤:
- 在内容窗格中,选择使用制图表达绘制的要素图层。 在要素图层选项卡的绘制组中,单击符号系统以打开符号系统窗格。
随即显示符号系统窗格。
- 单击分析对制图表达执行分析。
分析结果将显示在窗格底部。 如果发现问题,即会生成一个日志文件,其中列出具有覆盖的制图表达规则。 使用根据覆盖选择要素工具,可以在 ArcMap 中识别带有这些覆盖的单个要素。
- 单击查看日志打开日志文件。
分析完成后,会启用转换按钮。
- 如果分析发现问题,请在 ArcMap 中通过将覆盖移至显式字段或删除覆盖来解决这些问题,也可以选择在转换中忽略它们。
- 单击转换可将制图表达转换为应用了字段覆盖的唯一值符号系统。 唯一值字段即制图表达 RuleID 字段。
- 在将制图表达符号系统转换为唯一值后,可以选择制图表达 RuleID 所基于的原始数据值将您的符号系统迁移到基于表达式的符号系统。 为此,选择其他字段用作符号化依据,(可选)单击表达式按钮 编写依赖要素属性而不是 RuleID 的符号系统表达式。
在制图表达工作流中向要素分配 RuleID 后,该值不会在其他属性值发生变化时自动更新。 因此,要根据要素属性本身而不是 RuleID 重新建立要素类,它是首选工作流。
假设您已将一个道路要素图层从制图表达转换为唯一值符号系统。 结果为图层的唯一值符号系统现在按名为 RuleID、值为 1, 2, 3 的字段进行分类。 此时,建议的工作流为将图层与 RuleID 字段取消关联,而不是通过名为 RoadType、值为 Street, Road, Highway 字段对其进行分类。 此示例非常简单。 在更加真实的情景中,可能根据一个或多个属性字段编写符号表达式。