图层操作
图层操作作用于追踪图层包含的要素。因此,图层操作可同时应用于实时和固定时间追踪图层。图层操作保存于地图文档中,通过图层属性对话框的操作选项卡进行配置。如果在 ArcMap 或 ArcGlobe 中将追踪图层另存为图层文件,则其操作设置也随图层一同保存。
与服务操作不同,图层操作完全位于 ArcMap 等客户端应用程序中。因此,这些操作通常与分析数据可视化相关。例如,可以在地图上高亮显示满足触发器条件的要素。
自定义 Visual Basic (VB) 图层操作是高级图层操作。它是一种高度自定义的操作,可以应用于实时追踪图层。VB 图层操作被视为图层操作的原因是它引用了保存在地图文档中的 VB 宏。由于 VB 图层操作在事件从追踪服务流入时应用,因此 VB 图层操作与服务操作的作用相似。
以下介绍 Tracking Analyst 中所提供的整套图层操作。
高亮显示/隐含操作
高亮显示/隐含操作会对满足所定义触发条件的要素的符号系统进行更改。高亮显示操作通过使用特殊符号系统高亮显示相关事件来从视觉上强调它们。可以选择高亮显示的符号,提取地图时该符号置于事件常规符号之后。隐含操作通过不在地图上提取符合触发器条件的事件来隐藏事件。给图层定义高亮显示或隐含操作时,操作将立即应用于图层中符合触发器条件的所有要素。
过滤器
不应将过滤器图层操作与过滤器服务操作相混淆。过滤器图层操作只能用于指定要包含的事件,或者指定从进一步操作处理中排除的事件。Tracking Analyst 可用于配置处理操作的顺序,理解此操作的操作顺序尤其重要。如果过滤器操作之后没有其他图层操作,则过滤器操作将无效。如果在过滤器操作之后定义其他操作,则仅过滤器中所包含的事件(或非过滤器排除的事件)将传递给后续操作。
自定义 VB 操作(仅适用于实时追踪图层)
如果安装 ArcGIS Desktop 媒体包中的 ArcGIS Desktop 面向开发人员的 VBA 资源软件并获得软件许可,则可使用 Tracking Analyst 所提供的自定义 VB 图层操作。ArcGIS Desktop 安装指南中提供有安装和许可信息。安装之后,可参照“ArcGIS Desktop 面向开发人员的 VBA 资源”帮助系统中关于使用 Visual Basic 编辑器为 ArcGIS Desktop 创建宏的说明。
由于自定义 VB 图层操作仅可应用于实时追踪图层,因此自定义 VB 图层操作有别于其他图层操作。自定义 VB 图层操作也不同于服务操作,因为它适用于追踪图层而不适用于追踪服务。由于 VB 操作添加到追踪图层,因此可应用于实时事件,但不可应用于触发操作前图层中的已有事件。
很多操作都可以通过 VB 宏的程序来完成,因此 Visual Basic 操作具有高度灵活性。VB 宏几乎可以完成所有操作,例如在接收新事件后显示新事件的属性,弹出信息通知分析人员,或者处理传入的数据。为图层定义自定义 VB 操作前,必须使用 Visual Basic 编辑器编写 VB 宏。VB 宏带有数组,数组内包含来自传入事件所有数据字段的值。
为让你有初步的了解,下文介绍几个简单的 VB 宏。请特别注意两个案例中第一行代码的具体结构。请完全按照此结构接收单个类型变量数组中事件的传入数据值。然后通过引用数组并设置自变量等于字段列数便可在宏主体中轻松访问单个的数据字段值。字段的顺序和它们出现在追踪图层属性表中的顺序相同。
该宏在 ArcMap 状态栏上显示传入数据消息的第五字段。符合操作触发条件的所有传入事件均将运行该宏。
Public Sub StatusBarMacro(ParamArray varArgs() As Variant) Application.StatusBar.Message(0) = varArgs(5) End Sub
该宏显示消息框中传入数据消息的第三字段。符合操作触发条件的所有传入事件均将运行该宏。
Public Sub MessageBoxMacro(ParamArray varArgs() As Variant) MsgBox varArgs(3) End Sub
将 ParamArray 作为宏的唯一参数灵活性极高。否则,属性表中的所有列必须单独列出,并且所有数据类型必须完全匹配传入数据。
使用自定义 VB 操作应格外小心。例如,如果对带有数千个事件的输入实时数据使用示例的消息框宏,并且所有的记录均符合操作的触发条件,则需要逐个关闭每个事件的消息框。