The use of Esri ArcObjects allows intelligent processing for modeling the behavior of features. Some real-world features exhibit metabolic behavior that must use the advanced modeling and development capabilities of ArcGIS to support their properties. The characteristics of such features may change due to proximity to or characteristics of other objects, simple attribute changes, spatial modifications, events, measures, or interactions with other components. An approach discussed here focuses on the aggregation of methods to support the control and representation of features for a military planning system/geodatabase that utilizes temporal and terrain models.
The ArcObject object model provides the capability to extend the standard relational database management system (RDBMS) technology to store custom object behavior in the data layer. Behavior can be applied to an existing feature class through the use of a variety of rules. The object model supports rules for relationships of feature classes, feature sub-typing, validation, editing and symbolization of features. The developer may also extend features by creating additional interfaces to the standard model and may provide their own implementation of interfaces to the ArcObjects model. The use of time is an important attribute for many applications. Integrating time into the behavior of objects can provide powerful analysis and visualization capabilities. Additionally, these basic capabilities are often required by many applications. Currently, there are no temporal modeling or presentation techniques included within ArcGIS. It is up to the developer to add temporal behavior to objects and to provide a temporal infrastructure. This paper addresses work done for a prototype application that models the behaviors of objects. It extends the geodatabase model and it uses an interface to an external terrain reasoning system to apply behavior to its objects. It also provides a presentation playback capability within ArcMap so that rendered objects can move over time. The work was done supporting a prototype military planning system however the concepts are general enough that they could be applied to many commercial or government applications.
The Esri ArcGIS suite of products is a complete GIS package including end user tools for visualization, modeling, analysis and editing of spatial data. Supporting and included within the product is the geodatabase. The geodatabase provides storage for geographic data and provides a framework so that real world objects can be modeled and persisted. Spatial data can be organized within common geographic parameters using feature data sets and feature/attribute data can be stored to feature and classes. Objects stored within the geodatabase can have behaviors associated with them. Standard behaviors include associations and notifications between objects, feature sub-typing, editing and validation rules.
ArcGIS is based on COM technology. Its end user products ArcMap, ArcView and ArcCatalog were developed using COM objects. ArcObjects are the core components of ArcGIS. There are numerous object models that make up ArcObjects including models for visualization, geometry and geodatase. The components, their classes, coclasses, interfaces, enumerations etc are available for use by developers. Users within the ArcMap and ArcCatalog applications can do simple customization by customizing the user interface or by using VBA scripting to add functionality.
There are several ways to use and extend the functionality of ArcGIS. By making use of the geodatabase real world objects can be modeled and instantiated. Objects can have relationships between other objects and receive notification when other objects have been changed. Additionally rules may be applied to objects that tell what to do if a new object is added or a feature is split. Behavior may be applied to a class of objects as a whole. For example a feature class extension can be developed (in Visual Basic) to provide a standard rendered for visualization. The feature class will always be rendered the same way weather it is viewed in ArcCatalog, ArcMap or any other ArcGIS.
Similarly functionality may also be extended. For example a custom editor extension can be developed (in Visual Basic) to handle additional behavior that might be required during the editing process. The user/developer can extend the ArcMap/ArcCatalog applications by the use of VBA scripts or by adding registered components to the application.
Custom behavior can also be developed in C++ to aggregate existing capabilities and provide containment for interfaces. Properties and methods of contained interfaces can be overwritten to provide new functionality. Classes can be modeled with new interfaces while still making use of the original properties and methods. Figure 1 illustrates an object model and shows how COM aggregation and containment are used to form a custom object. The ‘feature’ is a COTS based object that has spatial properties. The ‘tree’ is a new object that inherits the properties of the ‘feature’ object. It also has its own specific attributes such as height and kind and its own interface ‘Interface T’. The interfaces of ‘feature’ are contained within ‘tree’ and may be overwritten with new functionality if desired. The end-user application can recognize the new ‘tree’ object and use the standard ‘feature’ interfaces without any code development. The behavior of the interfaces is dependent upon weather the functionality of the tree object has be overwritten or simply passed along. Additionally the end-user application can make use of new interfaces through by development of custom VBA scripts.
Figure 1 –Conceptual Custom Object Creation
Objects in ArcGIS can be modeled and represented using case tools in Universal Modeling Language (UML). Template UML models for ArcInfo are delivered with ArcGIS and can serve as a starting point for the creation of models. After a model has been represented in Visio it may be exported to Microsoft Repository. The Esri Code Generator add-in tool for Visual Studio allows C++ code to be generated from the repository. ArcCatalog also can make use of the repository to create the feature objects (feature classes, etc) in the model.
Some real-world features exhibit behavior that must use the advanced modeling and development capabilities. In modeling the behavior of a planning system it was determined that various objects required capabilities beyond the standard ArcGIS Feature Model. It is desired that objects in the model interact with applications, agents and knowledge bases not contained within the GIS. For example, a military knowledge base can contain doctrine information that describes the desired formation of a unit given its constraints. This knowledge base is not part of the GIS however the GIS would like to be able to use its information while doing analysis and visualization. Similarly, terrain analysis can be a component on a server system while visualization occurs on the client. Additionally conditions can change over time. For example bridges can be destroyed, weather conditions can change mobility, travel in daylight differs from nighttime.
To demonstrate the use of custom objects a model was developed to interface with a terrain reasoning system known as Smart Overlay. The model provides for behavior of military planning objects such as vehicles. Smart Overlay is a terrain server that is able to provide mobility information for given a group of vehicles given their location. A request to Smart Overlay can be made to ask if my military unit can traverse in a specific location. Additionally the request can be made for more detailed information as to why a unit can’t travel in a region. Smart Overlay determines if vehicles can move (go) at the location, if some can go (somego) or if no vehicles (nogo) can move at the location. The custom object responds by supplying rendering information for the unit. A visualization component can use a base rendered to show unit symbology and additionally overlay the rendered symbology returned as a result of a custom behavior request. Figure 2, Custom Object Display, illustrates the custom military objects. Note the symbology for the features is augmented by information returned from Smart Overlay. Go conditions are symbolized with a green triangle; somego conditions are symbolized with a yellow rectangle and nogo conditions symbolized with a red circle.
Figure 2 - Custom Object Display
Time can be an important feature in the behavior of objects. The proximity of objects in time can have significant impacts on the objects. For example a plane flying in an air space does not cause any alarms. A second plan flying in the same air space at a different time also does not cause a problem. If the planes are both in the same area space at the same time then there is cause for concern as there is a possibility of a collision. Similarly in military planning operations there is a temporal association for the proximity of units both friendly and hostile. When friendly and hostile units are in the same region at the same time rules for engagement govern the behavior of the objects. The possible courses of action that can apply need to consider a multitude of factors including how fast vehicles can traverse the terrain, daytime vs. nighttime mobility, vulnerability of units in time and resource issues (how long will it take for units to be supplied). When multiple friendly units are in the same area at the same time resource and logistical behaviors apply. Relationships in time also occur between other planning elements such as a unit and a phase (of operation) line. In all these situations the GIS likely will have to interact with other agents to assist and supplement its own analysis and visualization.
An application was built to support Smart Overlay temporal visualization of custom objects. Visual association of temporal objects is accomplished by use of a user interface that has the ability to direct movement in time. It has a VCR style control that has been integrated into ArcMap. The control can allow a time to be set, have forward and reverse direction of current time and direct the data to be (temporally) played. Additionally the playback function was built so that features could move smoothly across the ArcMap canvas over time. Figure 3, 4 and 5 Illustrate the use of the playback capability integrated with custom objects.
Figure 3 - Playback Time Sequence 1
Figure 4 - Playback Time Sequence 2
Figure 5 - Playback Time Sequence 3
The prototype demonstrated that objects in the geodatabase could be modeled to interface with external systems. To use temporal information for visualization a separate interface needed to be constructed using ArcObjects. This allowed features to be displayed using a VCR style control within the ArcMap environment. ArcGIS is a relatively new product whose capabilities are still maturing. It is expected within the next year temporal objects will be an option for the base product. The use of COTS integrated temporal objects within the GIS will allow greater analysis, integration and visualization capabilities for custom objects. Additionally the new capabilities will allow real time updates to the custom objects through a messaging sever.
There are many other possibilities to use custom objects for military planning. They could be used to support situational awareness for multiple use cases by supporting tailorable displays of the battlefield, distributed terrain object synchronization and real-time object updates. For example, a soldier using a Personal Digital Assistant (PDA), which has limited screen real estate and would need a more generalized view of the battlefield while a command post with a high end PC could make use of a larger more detailed view.
The Esri geodatabase is an object relational database. There are many capabilities inherit within ArcGIS to support behaviors of objects. If the behavior of objects is complex or there is a need for specialized interfaces for objects the geodatabase can readily be extended in a number of ways. Feature class extensions can extend the model to incorporate a common behavior for all features within a feature class. Not only can feature objects be extended but also system capabilities such as the editor can be customized to apply behavior. Behavior of individual features can be modeled and stored in the geodatabase by use of custom features.
A model can be created for military units. The model has temporal data and also must have knowledge of terrain information and military doctrine to support its courses of action. Such a model can make use of custom objects. Specialized behavior can be added to interface with agents for external systems, knowledge bases and to apply temporal rules.