创建逻辑示意图属性时,必须指定存储和评估模式。指定存储时,您需要定义是否必须将逻辑示意图属性值存储在逻辑示意图数据集中。指定逻辑示意图属性的评估模式用于确定何时需要重新评估逻辑示意图属性值。
逻辑示意图属性存储
逻辑示意图属性值存储有三个选项:
- 存储在逻辑示意图数据集中的字段内(字段)
- 存储在逻辑示意图数据集中的属性集内(属性集)
- 从不存储(不存储)
字段存储
字段是建议大多数属性使用的默认存储值。它使得逻辑示意图属性值可以存储在相关逻辑示意图要素类或逻辑示意图类中的字段内。在逻辑示意图要素上使用“识别”工具或从任意构成逻辑示意图图层的要素图层中单击“打开属性表”时,那些值将可用。如果已对保存具有字段存储的逻辑示意图数据集和逻辑示意图属性进行了配置,Schematics 将对名称对应于逻辑示意图要素类或逻辑示意图类(属性所应用的类)中属性名称的字段进行搜索。如果不存在这样的字段,系统将尝试创建一个,但字段的创建可能不会像预期的那样结束;例如,如果存储在此逻辑示意图数据集中的逻辑示意图已经打开或者如果含有逻辑示意图数据集的地理数据库当前在“目录”树中已被选中,必须在其中创建字段的逻辑示意图要素类/逻辑示意图类有可能会被锁定。在此情况下,自动创建字段不会成功。要避免此类问题,当您需要配置具有字段存储的逻辑示意图属性时,建议您分两个阶段执行此操作:
- 首先在 ArcCatalog 中创建逻辑示意图要素类或逻辑示意图类中的相关字段。
- 最好在逻辑示意图数据集编辑器中创建逻辑示意图要素类或逻辑示意图模板上的逻辑示意图属性。
属性集存储
如果要将逻辑示意图属性值存储在逻辑示意图数据集中,但不需要在相关逻辑示意图要素类或逻辑示意图类中的字段内明确提供此信息,必须使用“属性集存储”选项。在此情况下,每次评估逻辑示意图属性时,名称对应于逻辑示意图属性名称的属性集属性将在相关逻辑示意图要素的 PROPERTYSET 字段或相关逻辑示意图的 BLOBS 字段内自动管理。
不存储
不需要将逻辑示意图属性值存储在逻辑示意图数据集中时,必须使用“不存储”模式。它经常是为值作为另一属性一部分的逻辑示意图属性而指定的存储,与此同时将存储这些第二属性值本身。
逻辑示意图属性评估
对于何时评估逻辑示意图属性值有四个选项:
- 生成/更新时
- 开始编辑时
- 刷新/重绘时
- 根据需要
生成/更新时评估
具有“生成/更新时”评估的逻辑示意图属性在生成逻辑示意图时进行评估。每次更新逻辑示意图时,都对其进行重新评估。在逻辑示意图使用期间,除这些特定时刻外,从不对其进行重新评估。
这种评估类型是最常用的评估类型。
开始编辑时评估
如果评估类型被设置为“开始编辑时”,逻辑示意图属性不仅会在生成和更新逻辑示意图时进行评估,而且每次将逻辑示意图加载到内存中时也将进行评估(例如:每次对逻辑示意图启动编辑会话时)。在此情况下,如果属性值已经更改且存储模式为“字段”或“属性集”,则保存逻辑示意图的编辑内容时,新值将自动存储在相关逻辑示意图要素类或逻辑示意图类表中。
“开始编辑时”评估类型是针对任何要定期评估而又不更新整个逻辑示意图内容的属性而预定义的。对于那些为已使用动态自定义查询配置的逻辑示意图要素类而指定的属性,也要定义“开始编辑时”评估类型。
刷新/重绘时评估
如果使用“刷新/重绘时”评估模式配置逻辑示意图属性,则生成逻辑示意图时会导致对逻辑示意图属性值重新进行系统性评估。在以下情况下,会发生此情况:每次更新逻辑示意图时、将逻辑示意图加载到内存中时、每次刷新或重绘逻辑示意图时(如果逻辑示意图的比例或范围发生变化,或者逻辑示意图中所包含的逻辑示意图要素被移动时,等等)。
当逻辑示意图属性被链接到经常更改的数据时,这种评估类型会变得很有趣。
根据需要评估
通常,将会为构成另一属性的逻辑示意图属性配置已选用“根据需要”评估模式的逻辑示意图属性。在此情况下,评估另一属性时,也将对该属性进行评估。