Individual SL-GMS Models that result from the conversion of the raw data are organized into layers. In addition to such pre-defined base layers, developers can also create their own layers that contain icons and connectors that represent different types of application-specific information such as helicopters, accidents, and landmarks as well as network node and connections.
A map is then composed of individual layers that are displayed on top of one another in a window. A layer configuration file can be used to define which of the available layers are grouped into a map and displayed in a window. An application can display one or more windows, and each window can display its own set of layers. The layer configuration file defines the attributes of each of the layers at start-up, but attributes such as visibility, scale factors, and zoom factors can be edited by the user at run time. This allows for both manual and automatic "decluttering," that is determining the visibility of specific layers within the map.
The basic SL-GMSRun-Time Library is excellent for the management of many dynamically changing data variables and the associated graphics in typical process monitoring and control applications. However, for operator stations in traffic control and energy management systems , there is a requirement for specialized functionality and high performance to access or display very large amounts of information, overlaid onto complex map backgrounds.
The SL-GMS C++/Map extension provides this capability by managing potentially thousands of dynamic icons overlaid on maps which may be zoomed, panned, and automatically decluttered. Special program techniques are used to control visibility and appearance of these graphics symbols in order to achieve maximum flexibility and performance. Extensive and sophisticated examples are provided with the system that show how to construct advanced mapping applications. These demonstrations can be used as a starting point for building complex user applications.
An application using SL-GMS C++/Map can contain multiple windows and each window displayed on the screen can be defined. These windows can contain scroll bars, toolbars, and overlays. The map configuration file defines the attributes of each window, such as its size and location on the screen, as well as the name of the layer configuration file that defines which layers comprise a particular map. The map configuration file defines the attributes of each of the windows at start-up, but any number of additional map windows can be created by the user or the application at run time.
Edit operations may be performed at run-time by the operator. Icons may be selected from palettes, added to a map background, and the application database updated. They may be moved or deleted, with corresponding changes to the database.
These capabilities can be achieved using functions provided within the Advanced Mapping Library itself or, as an alternative option, the full capability of the SL-GMSDraw Dynamic Graphic Editor can be linked in to provide extensive edit functions, including alignment, ordering, undo, redo, etc.
An application using SL-GMS offers complete control over editing operations and may allow or disallow any change to the graphic display elements, such as icons, depending, for example, on operator clearance.
The basic SL-GMSRun-Time Library is highly optimized for performance and flexibility. It provides many different zoom and pan interaction modes, including a simple pan, grabber pan, continuous pan and zoom, scroll bar handling, and many others.
The SL-GMS C++/Map extension adds special features, such as map tiling and run-time optimization of graphics objects to provide the maximum performance possible for complex applications requiring fast zoom/pan behavior.