System and Method for Applying Link Analysis Tools for Visualizing Connected Temporal and Spatial Information on a User Interface
A system and method for analyzing a plurality of data elements having both temporal and spatial properties, where a first data element and a second data element of the plurality of data elements are linked by at least one association element. The system and method include selecting the first data element from the plurality of data elements and providing at least one search criteria for use in analyzing the properties of the plurality of data elements with respect to at least one property of the first data element. An analysis module is used to apply the at least one search criteria to the properties of the plurality of data elements for identifying the second data element from the plurality of data elements and the corresponding at least one association element. The at least one association element is configured for representing a connection between the first data element and the second data element, such that the connection has a first property common to a property of the first data element and a second property common to a property of the second data element. A visualization module is used to generate a visual representation of the first and second data elements and the association element configured for display on a user interface for subsequent interaction with user events. The visual representation includes a spatial domain including a reference surface for providing a spatial reference frame having at least two spatial dimensions and a temporal domain operatively coupled to the spatial domain for providing a common temporal reference frame for locations of interest in the spatial domain.
Latest OCULUS INFO INC. Patents:
- System and method for visualizing connected temporal and spatial information as an integrated visual representation on a user interface
- SYSTEM AND METHOD FOR CREATING AND DISPLAYING MAP PROJECTIONS RELATED TO REAL-TIME IMAGES
- System and method for creating and displaying map projections related to real-time images
- SYSTEM AND METHOD FOR INTERACTIVE VISUAL REPRESENTATION OF INFORMATION CONTENT USING ASSERTIONS
- System and method for interactive visual representation of information content and relationships using layout and gestures
The present application is a Continuation of U.S. Continuation application Ser. No. 12/561,326, filed Sep. 17, 2009, which claims the benefit of Continuation in Part application Ser. No. 11/503,921, filed Aug. 15, 2006, which claims the benefit of U.S. Pat. No. 7,180,516, filed Mar. 29, 2004 and U.S. Pat. No. 7,499,046, filed Mar. 14, 2005, which claims the benefit of U.S. Provisional Application No. 60/707,942, filed Aug. 15, 2005, all herein incorporated by reference.
BACKGROUND OF THE INVENTIONThe present invention relates to an interactive visual presentation of multidimensional data on a user interface.
Tracking and analyzing entities and streams of events, has traditionally been the domain of investigators, whether that be national intelligence analysts, police services or military intelligence. Business users also analyze events in time and location to better understand phenomenon such as customer behavior or transportation patterns. As data about events and objects become more commonly available, analyzing and understanding of interrelated temporal and spatial information is increasingly a concern for military commanders, intelligence analysts and business analysts. Localized cultures, characters, organizations and their behaviors play an important part in planning and mission execution. In situations of asymmetric warfare and peacekeeping, tracking relatively small and seemingly unconnected events over time becomes a means for tracking enemy behavior. For business applications, tracking of production process characteristics can be a means for improving plant operations. A generalized method to capture and visualize this information over time for use by business and military applications, among others, is needed.
Many visualization techniques and products for analyzing complex event interactions only display information along a single dimension, typically one of time, geography or a network connectivity diagram. Each of these types of visualizations is common and well understood. For example a Time-focused scheduling chart such as Microsoft (MS) Project displays various project events over the single dimension of time, and a Geographic Information System (GIS) product, such as MS MapPoint, or ESRI ArcView, is good for showing events in the single dimension of locations on a map. There are also link analysis tools, such as Netmap (www.netmapanalytics.com) or Visual Analytics (www.visualanalytics.com) that display events as a network diagram, or graph, of objects and connections between objects. Some of these systems are capable of using animation to display another dimension, typically time. Time is played back, or scrolled, and the related spatial image display changes to reflect the state of information at a moment in time. However this technique relies on limited human short term memory to track and then retain temporal changes and patterns in the spatial domain. Another visualization technique called “small multiples” uses repeated frames of a condition or chart, each capturing an increment moment in time, much like looking at sequence of frames from a film laid side by side. Each image must be interpreted separately, and side-by-side comparisons made, to detect differences. This technique is expensive in terms of visual space since an image must be generated for each moment of interest, which can be problematic when trying to simultaneously display multiple images of adequate size that contain complex data content.
A technique has been developed, as described in Interactive Visualization of Spatiotemporal Patterns using Spirals on a Geographical Map—by Hewagamage et al. that uses spiral shaped ribbons as timelines to show isolated sequences of events that have occurred at discrete locations on a geographical map. This technique is limited because it uses spiral timelines exclusively to show the periodic quality of certain types of events, while does not show connectivity between the temporal and spatial information of data objects at multi-locations within the spatial domain. Further, event data objects placed on the spirals can suffer from occlusion, thereby providing for only a limited number of events and locations viewable with the spiral timelines.
Further, there exists problems in simplifying or otherwise analyzing cluttered visualizations with respect to identifying relevant data elements associated with one another from non-associated data elements. Further, problems exist in changing the content of a visualization to assist the analyst in interpretation of identified data elements.
It is an object of the present invention to provide a system and method for the integrated, interactive visual representation of a plurality of data elements with spatial and temporal properties to obviate or mitigate at least some of the above-mentioned disadvantages.
SUMMARY OF THE INVENTIONTracking and analyzing entities and streams of events, has traditionally been the domain of investigators, whether that be national intelligence analysts, police services or military intelligence. Business users also analyze events in time and location to better understand phenomenon such as customer behavior or transportation patterns. As data about events and objects become more commonly available, analyzing and understanding of interrelated temporal and spatial information is increasingly a concern for military commanders, intelligence analysts and business analysts.
There exists problems in simplifying or otherwise analyzing cluttered visualizations with respect to identifying relevant data elements associated with one another from non-associated data elements, in particular in environments with both temporal and spatial properties. Further, problems exist in changing the content of a visualization to assist the analyst in interpretation of identified data elements. Contrary to present visualization systems there is provided a system and method for analyzing a plurality of data elements having both temporal and spatial properties, where a first data element and a second data element of the plurality of data elements are linked by at least one association element. The system and method include selecting the first data element from the plurality of data elements and providing at least one search criteria for use in analyzing the properties of the plurality of data elements with respect to at least one property of the first data element. An analysis module is used to apply the at least one search criteria to the properties of the plurality of data elements for identifying the second data element from the plurality of data elements and the corresponding at least one association element. The at least one association element is configured for representing a connection between the first data element and the second data element, such that the connection has a first property common to a property of the first data element and a second property common to a property of the second data element. A visualization module is used to generate a visual representation of the first and second data elements and the association element configured for display on a user interface for subsequent interaction with user events. The visual representation includes a spatial domain including a reference surface for providing a spatial reference frame having at least two spatial dimensions and a temporal domain operatively coupled to the spatial domain for providing a common temporal reference frame for locations of interest in the spatial domain.
According to a first aspect there is provided a method for analysing a plurality of data elements having both temporal and spatial properties, a first data element and a second data element of the plurality of data elements linked by at least one association element, the method comprising the steps of: selecting the first data element from the plurality of data elements; providing at least one search criteria for use in analysing the properties of the plurality of data elements with respect to at least one property of the first data element; applying the at least one search criteria to the properties of the plurality of data elements for identifying the second data element from the plurality of data elements and the corresponding at least one association element, the at least one association element configured for representing a connection between the first data element and the second data element, the connection having a first property common to a property of the first data element and a second property common to a property of the second data element; and generating a visual representation of the first and second data elements and the association element configured for display on a user interface for subsequent interaction with user events, the visual representation including a spatial domain including a reference surface for providing a spatial reference frame having at least two spatial dimensions and including a temporal domain operatively coupled to the spatial domain for providing a common temporal reference frame for locations of interest in the spatial domain.
According to a second aspect there is provided a system for analysing a plurality of data elements having both temporal and spatial properties, a first data element and a second data element of the plurality of data elements linked by at least one association element, the system comprising: a user interface for selecting the first data element from the plurality of data elements and for providing at least one search criteria for use in analysing the properties of the plurality of data elements with respect to at least one property of the first data element; an analysis module configured for applying the at least one search criteria to the properties of the plurality of data elements for identifying the second data element from the plurality of data elements and the corresponding at least one association element, the at least one association element configured for representing a connection between the first data element and the second data element, the connection having a first property common to a property of the first data element and a second property common to a property of the second data element; and a visualisation module configured for generating a visual representation of the first and second data elements and the association element configured for display on the user interface for subsequent interaction with user events, the visual representation including a spatial domain including a reference surface for providing a spatial reference frame having at least two spatial dimensions and including a temporal domain operatively coupled to the spatial domain for providing a common temporal reference frame for locations of interest in the spatial domain.
A better understanding of these and other embodiments of the present invention can be obtained with reference to the following drawings and detailed description of the preferred embodiments, in which:
It is noted that similar references are used in different figures to denote similar components.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTThe following detailed description of the embodiments of the present invention does not limit the implementation of the invention to any particular computer programming language. The present invention may be implemented in any computer programming language provided that the OS (Operating System) provides the facilities that may support the requirements of the present invention. A preferred embodiment is implemented in the Java computer programming language (or other computer programming languages in conjunction with C/C++). Any limitations presented would be a result of a particular type of operating system, computer programming language, or data processing system and would not be a limitation of the present invention.
Visualization EnvironmentReferring to
Referring to
Referring again to
Referring to
For example, when a mouse pointer 713 (or other user implemented trigger event—e.g. keyboard identification of selected object(s) 14) is held over the visual element 410,412 of the representation 18, some predefined information 714a,b,c,d is displayed about that selected visual element 410,412. The information module 712 is configured to display the type of information dependent upon whether the object is a place 22, target 24, elementary or compound event 20, for example. For example, when the place 22 type is selected, the displayed information 714a is formatted by the information module 712 to include such as but not limited to; Label (e.g. Rome), Attributes attached to the object (if any); and events associated with that place 22. For example, when the target 24/target trail 412 (see
Referring to
Events are data objects 20 that represent any action that can be described. The following are examples of events;
-
- Bill was at Toms house at 3 pm,
- Tom phoned Bill on Thursday,
- A tree fell in the forest at 4:13 am, Jun. 3, 1993 and
- Tom will move to Spain in the summer of 2004.
The Event is related to a location and a time at which the action took place, as well as several data properties and display properties including such as but not limited to; a short text label, description, location, start-time, end-time, general event type, icon reference, visual layer settings, priority, status, user comment, certainty value, source of information, and default+user-set color. The event data object 20 can also reference files such as images or word documents.
Locations and times may be described with varying precision. For example, event times can be described as “during the week of January 5th” or “in the month of September”. Locations can be described as “Spain” or as “New York” or as a specific latitude and longitude.
Entity Data Objects 24Entities are data objects 24 that represent any thing related to or involved in an event, including such as but not limited to; people, objects, organizations, equipment, businesses, observers, affiliations etc. Data included as part of the Entity data object 24 can be short text label, description, general entity type, icon reference, visual layer settings, priority, status, user comment, certainty value, source of information, and default+user-set color. The entity data can also reference files such as images or word documents. It is recognized in reference to
Locations are data objects 22 that represent a place within a spatial context/domain, such as a geospatial map, a node in a diagram such as a flowchart, or even a conceptual place such as “Shang-ri-la” or other “locations” that cannot be placed at a specific physical location on a map or other spatial domain. Each Location data object 22 can store such as but not limited to; position coordinates, a label, description, color information, precision information, location type, non-geospatial flag and user comments.
AssociationsEvent 20, Location 22 and Entity 24 are combined into groups or subsets of the data objects 14 in the memory 102 (see
A variation of the association type 26 can be used to define a subclass of the groups 27 to represent user hypotheses. In other words, groups 27 can be created to represent a guess or hypothesis that an event occurred, that it occurred at a certain location or involved certain entities. Currently, the degree of belief/accuracy/evidence reliability can be modeled on a simple 1-2-3 scale and represented graphically with line quality on the visual representation 18.
Image Data Objects 23Standard icons for data objects 14 as well as small images 23 for such as but not limited to objects 20,22,24 can be used to describe entities such as people, organizations and objects. Icons are also used to describe activities. These can be standard or tailored icons, or actual images of people, places, and/or actual objects (e.g. buildings). Imagery can be used as part of the event description. Images 23 can be viewed in all of the visual representation 18 contexts, as for example shown in
Annotations 21 in Geography and Time (see
Referring to
The Visualization Manager 300 processes the translation from raw data objects 14 to the visual representation 18. First, Data Objects 14 and associations 16 can be formed by the Visualization Manager 300 into the groups 27, as noted in the tables 122, and then processed. The Visualization Manager 300 matches the raw data objects 14 and associations 16 with sprites 308 (i.e. visual processing objects/components that know how to draw and render visual elements for specified data objects 14 and associations 16) and sets a drawing sequence for implementation by the VI manager 112. The sprites 308 are visualization components that take predetermined information schema as input and output graphical elements such as lines, text, images and icons to the computers graphics system. Entity 24, event 20 and location 22 data objects each can have a specialized sprite 308 type designed to represent them. A new sprite instance is created for each entity, event and location instance to manage their representation in the visual representation 18 on the display.
The sprites 308 are processed in order by the visualization manager 300, starting with the spatial domain (terrain) context and locations, followed by Events and Timelines, and finally Entities. Timelines are generated and Events positioned along them. Entities are rendered last by the sprites 308 since the entities depend on Event positions. It is recognised that processing order of the sprites 308 can be other than as described above.
The Visualization manager 112 renders the sprites 308 to create the final image including visual elements representing the data objects 14 and associates 16 of the groups 27, for display as the visual representation 18 on the interface 202. After the visual representation 18 is on the interface 202, the user event 109 inputs flow into the Visualization Manager, through the VI manager 112 and cause the visual representation 18 to be updated. The Visualization Manager 300 can be optimized to update only those sprites 308 that have changed in order to maximize interactive performance between the user and the interface 202.
Layout of the Visualization Representation 18The visualization technique of the visualization tool 12 is designed to improve perception of entity activities, movements and relationships as they change over time in a concurrent time-geographic or time-diagrammatical context. The visual representation 18 of the data objects 14 and associations 16 consists of a combined temporal-spatial display to show interconnecting streams of events over a range of time on a map or other schematic diagram space, both hereafter referred to in common as a spatial domain 400 (see
Referring to
The visual representation 18 can be applied as an analyst workspace for exploration, deep analysis and presentation for such as but not limited to:
-
- Situations involving people and organizations that interact over time and in which geography or territory plays a role;
- Storing and reviewing activity reports over a given period. Used in this way the representation 18 could provide a means to determine a living history, context and lessons learned from past events; and
- As an analysis and presentation tool for long term tracking and surveillance of persons and equipment activities.
The visualization tool 12 provides the visualization representation 18 as an interactive display, such that the users (e.g. intelligence analysts, business marketing analysts) can view, and work with, large numbers of events. Further, perceived patterns, anomalies and connections can be explored and subsets of events can be grouped into “story” or hypothesis fragments. The visualization tool 12 includes a variety of capabilities such as but not limited to:
-
- An event-based information architecture with places, events, entities (e.g. people) and relationships;
- Past and future time visibility and animation controls;
- Data input wizards for describing single events and for loading many events from a table;
- Entity and event connectivity analysis in time and geography;
- Path displays in time and geography;
- Configurable workspaces allowing ad hoc, drag and drop arrangements of events;
- Search, filter and drill down tools;
- Creation of sub-groups and overlays by selecting events and dragging them into sets (along with associated spatial/time scope properties); and
- Adaptable display functions including dynamic show / hide controls.
Example Objects 14 with Associations 16
In the visualization tool 12, specific combinations of associated data elements (objects 20, 22, 24 and associations 26) can be defined. These defined groups 27 are represented visually as visual elements 410 in specific ways to express various types of occurrences in the visual representation 18. The following are examples of how the groups 27 of associated data elements can be formed to express specific occurrences and relationships shown as the connection visual elements 412.
Referring to
The visual elements 410 and 412, their variations and behavior facilitate interpretation of the concurrent display of events in the time 402 and space 400 domains. In general, events reference the location at which they occur and a list of Entities and their role in the event. The time at which the event occurred or the time span over which the event occurred are stored as parameters of the event.
Spatial Domain RepresentationReferring to
The spatial domain 400 includes visual elements 410, 412 (see
Referring to
The Text label is a text graphic meant to contain a short description of the event content. This text always faces the viewer 423 no matter how the reference surface 404 is oriented. The text label incorporates a de-cluttering function that separates it from other labels if they overlap. When two events are connected with a line (see connections 412 below) the label will be positioned at the midpoint of the connection line between the events. The label will be positioned at the end of a connection line that is clipped at the edge of the display area.
2. Indicator—Cylinder, Cube or SphereThe indicator marks the position in time. The color of the indicator can be manually set by the user in an event properties dialog. Color of event can also be set to match the Entity that is associated with it. The shape of the event can be changed to represent different aspect of information and can be set by the user. Typically it is used to represent a dimension such as type of event or level of importance.
3. IconAn icon or image can also be displayed at the event location. This icon/image 23 may used to describe some aspect of the content of the event. This icon/image 23 may be user-specified or entered as part of a data file of the tables 122 (see
Connection elements 412 can be lines, or other geometrical curves, which are solid or dashed lines that show connections from an event to another event, place or target. A connection element 412 may have a pointer or arrowhead at one end to indicate a direction of movement, polarity, sequence or other vector-like property. If the connected object is outside of the display area, the connection element 412 can be coupled at the edge of the reference surface 404 and the event label will be positioned at the clipped end of the connection element 412.
5. Time Range IndicatorA Time Range Indicator (not shown) appears if an event occurs over a range of time. The time range can be shown as a line parallel to the timeline 422 with ticks at the end points. The event Indicator (see above) preferably always appears at the start time of the event.
The Event visual element 410 can also be sensitive to interaction. The following user events 109 via the user interface 108 (see
Selects the visual element 410 of the visualization representation 18 on the VI 202 (see
Adds the visual element 410 to an existing selection set.
Mouse-Left-Double-Click:Opens a file specified in an event data parameter if it exists. The file will be opened in a system-specified default application window on the interface 202 based on its file type.
Mouse-Right-Click:Displays an in-context popup menu with options to hide, delete and set properties.
Mouse over Drilldown:
When the mouse pointer (not shown) is placed over the indicator, a text window is displayed next to the pointer, showing information about the visual element 410. When the mouse pointer is moved away from the indicator, the text window disappears.
Location RepresentationLocations are visual elements 410 represented by a glyph, or icon, placed on the reference surface 404 at the position specified by the coordinates in the corresponding location data object 22 (see
The Text label is a graphic object for displaying the name of the location. This text always faces the viewer 422 no matter how the reference surface 404 is oriented. The text label incorporates a de-cluttering function that separates it from other labels if they overlap.
2. IndicatorThe indicator is an outlined shape that marks the position or approximate position of the Location data object 22 on the reference surface 404. There are, such as but not limited to, 7 shapes that can be selected for the locations visual elements 410 (marker) and the shape can be filled or empty. The outline thickness can also be adjusted. The default setting can be a circle and can indicate spatial precision with size. For example, more precise locations, such as addresses, are smaller and have thicker line width, whereas a less precise location is larger in diameter, but uses a thin line width.
The Location visual elements 410 are also sensitive to interaction. The following interactions are possible:
Mouse-Left-Click:Selects the location visual element 410 and highlights it, while deselecting any previously selected location visual elements 410.
Ctrl-Mouse-Left-Click and Shift-Mouse-Left-ClickAdds the location visual element 410 to an existing selection set.
Mouse-Left-Double-Click:Opens a file specified in a Location data parameter if it exists. The file will be opened in a system-specified default application window based on its file type.
Mouse-Right-Click:Displays an in-context popup menu with options to hide, delete and set properties of the location visual element 410.
Mouseover Drilldown:When the Mouse pointer is placed over the location indicator, a text window showing information about the location visual element 410 is displayed next to the pointer. When the mouse pointer is moved away from the indicator, the text window disappears.
Mouse-Left-Click-Hold-and-Drag:Interactively repositions the location visual element 410 by dragging it across the reference surface 404.
Non-Spatial LocationsLocations 22 have the ability to represent indeterminate position. These are referred to as non-spatial locations 22. Locations 22 tagged as non-spatial can be displayed at the edge of the reference surface 404 just outside of the spatial context of the spatial domain 400. These non-spatial or virtual locations 22 can be always visible no matter where the user is currently zoomed in on the reference surface 404. Events and Timelines 422 that are associated with non-spatial Locations 22 can be rendered the same way as Events with spatial Locations 22.
Further, it is recognized that spatial locations 22 can represent actual, physical places, such that if the latitude/longitude is known the location 22 appears at that position on the map or if the latitude/longitude is unknown the location 22 appears on the bottom corner of the map (for example). Further, it is recognized that non-spatial locations 22 can represent places with no real physical location and can always appear off the right side of map (for example). For events 20, if the location 22 of the event 20 is known, the location 22 appears at that position on the map. However, if the location 22 is unknown, the location 22 can appear halfway (for example) between the geographical positions of the adjacent event locations 22 (e.g. part of target tracking)
Entity RepresentationEntity visual elements 410 are represented by a glyph, or icon, and can be positioned on the reference surface 404 or other area of the spatial domain 400, based on associated Event data that specifies its position at the current Moment of Interest 900 (see
The Text label is a graphic object for displaying the name of the Entity. This text always faces the viewer no matter how the reference surface 404 is oriented. The text label incorporates a de-cluttering function that separates it from other labels if they overlap.
2. IndicatorThe indicator is a point showing the interpolated or real position of the Entity in the spatial context of the reference surface 404. The indicator assumes the color specified as an Entity color in the Entity data model.
3. Image IconAn icon or image is displayed at the Entity location. This icon may used to represent the identity of the Entity. The displayed image can be user-specified or entered as part of a data file. The Image Icon can have an outline border that assumes the color specified as the Entity color in the Entity data model. The Image Icon incorporates a de-cluttering function that separates it from other Entity Image Icons if they overlap.
4. Past TrailThe Past Trail is the connection visual element 412, as a series of connected lines that trace previous known positions of the Entity over time, starting from the current Moment of Interest 900 and working backwards into past time of the timeline 422. Previous positions are defined as Events where the Entity was known to be located. The Past Trail can mark the path of the Entity over time and space simultaneously.
5. Future TrailThe Future Trail is the connection visual element 412, as a series of connected lines that trace future known positions of the Entity over time, starting from the current Moment of Interest 900 and working forwards into future time. Future positions are defined as Events where the Entity is known to be located. The Future Trail can mark the future path of the Entity over time and space simultaneously.
The Entity representation is also sensitive to interaction. The following interactions are possible, such as but not limited to:
Mouse-Left-Click:Selects the entity visual element 410 and highlights it and deselects any previously selected entity visual element 410.
Ctrl-Mouse-Left-Click and Shift-Mouse-Left-ClickAdds the entity visual element 410 to an existing selection set
Mouse-Left-Double-Click:Opens the file specified in an Entity data parameter if it exists. The file will be opened in a system-specified default application window based on its file type.
Mouse-Right-Click:Displays an in-context popup menu with options to hide, delete and set properties of the entity visual element 410.
Mouseover Drilldown:When the Mouse pointer is placed over the indicator, a text window showing information about the entity visual element 410 is displayed next to the pointer. When the mouse pointer is moved away from the indicator, the text window disappears.
Temporal Domain including Timelines
Referring to
For example, in order to make comparisons between events 20 and sequences of events 20 between locations 410 of interest (see
Three distinct strata of time are displayed by the timelines 422, namely;
1. The “moment of interest” 900 or browse time, as selected by the user,
2. a range 902 of past time preceding the browse time called “past”, and
3. a range 904 of time after the moment of interest 900, called “future”
On a 3D Timeline 422, the moment of focus 900 is the point at which the timeline intersects the reference surface 404. An event that occurs at the moment of focus 900 will appear to be placed on the reference surface 404 (event representation is described above). Past and future time ranges 902, 904 extend on either side (above or below) of the moment of interest 900 along the timeline 422. Amount of time into the past or future is proportional to the distance from the moment of focus 900. The scale of time may be linear or logarithmic in either direction. The user may select to have the direction of future to be down and past to be up or vice versa.
There are three basic variations of Spatial Timelines 422 that emphasize spatial and temporal qualities to varying extents. Each variation has a specific orientation and implementation in terms of its visual construction and behavior in the visualization representation 18 (see
Referring to
Referring to
Referring to
Referring to
Referring to
Continuous animation of events 20 over time and geography can be provided as the time slider 910 is moved forward and backwards in time. Example, if a vehicle moves from location A at t1 to location B at t2, the vehicle (object 23,24) is shown moving continuously across the spatial domain 400 (e.g. map). The timelines 422 can animate up and down at a selected frame rate in association with movement of the slider 910.
Instant of FocusThe instant of focus selector 912 is the primary temporal control. It is adjusted by dragging it left or right with the mouse pointer across the time slider 910 to the desired position. As it is dragged, the Past and Future ranges move with it. The instant of focus 900 (see
The Past Time Range selector 914 sets the range of time before the moment of interest 900 (see
The Future Time Range selector 916 sets the range of time after the moment of interest 900 for which events will be shown. The Future Time range is adjusted by dragging the selector 916 left and right with the mouse pointer. The range between the moment of interest 900 and the Future time limit is highlighted in blue (or other colour codings) on the time slider 910. As the Future Time Range is adjusted, viewing parameters of the spatial-temporal visualization representation 18 update to reflect the change in the time settings.
The time range visible in the time scale of the time slider 910 can be expanded or contracted to show a time span from centuries to seconds. Clicking and dragging on the time slider 910 anywhere except the three selectors 912, 914, 916 will allow the entire time scale to slide to translate in time to a point further in the future or past. Other controls 918 associated with the time slider 910 can be such as a “Fit” button 919 for automatically adjusting the time scale to fit the range of time covered by the currently active data set displayed in the visualization representation 18. Controls 918 can include a Fit control button 919, a scale-expand-contract controls 920, a step control 923, and a play control 922, which allow the user to expand or contract the time scale. The step control 923 increments the instant of focus 900 forward or back. The“playback” button 920 causes the instant of focus 900 to animate forward by a user-adjustable rate. This “playback” causes the visualization representation 18 as displayed to animate in sync with the time slider 910.
Simultaneous Spatial and Temporal Navigation can be provided by the tool 12 using, for example, interactions such as zoom-box selection and saved views. In addition, simultaneous spatial and temporal zooming can be used to provide the user to quickly move to a context of interest. In any view of the representation 18, the user may select a subset of events 20 and zoom to them in both time 402 and space 400 domains using Fit Time and a Fit Space functions through the button 919. These functions can happen simultaneously by dragging a zoom-box on to the time chart 430 itself. The time range and the geographic extents of the selected events 20 can be used to set the bounds of the new view of the representation 18, including selected domain 400,402 view formats.
Referring again to
Referring to
Referring to
Entities and Locations. These functions 307 are used to find groups of connected objects 14 during analysis of the data in the visualization representation 18. The associations 16 connect these basic objects 20, 22, 24 into complex groups 27 (see
The analysis functions A,B,C,D provide the user with different types of link analysis that display connections between 14 of interest, such as but limited to:
1. Expanding Search module A, e.g. a link analysis tool.
Referring to
In this way, sets of connected objects 14 are revealed as displayed using the visual elements 410 and 412 in the representation 18 by incrementally showing objects 14 that are associated with the selected object 14a by increasing degrees of separation. Accordingly, the expanding search module A of the module 307 displays all objects 14 represented by elements 410 and 412, in the representation 18 that are connected to the selected object 14a, within the specified range of separation. The range of separation of the expanding search module A can be selected by the user using the I/O interface 108, using a links slider 730 in a dialog window (see
2. Connection Search B, e.g. a join analysis tool.
Referring to
Accordingly, the Join/connection Analysis module B looks for and displays any specified connection path 788 between two (or more) selected target objects X1,X2. This join analysis is performed when two target objects X1,X2, for example, are selected from the representation 18. It is noted that if the two selected target objects X1,X2 are not connected, no events 20 are displayed and the connection level 732 is set to zero. If the paired target objects X1,X2 are connected, the shortest path 788 between them is automatically displayed, for example. It is noted that the Join Analysis module B can be generalized for three or more selected target objects X1,X2 and their associated connection paths 788 and objects 14.
An example operation of the Join Analysis module B is a selection of the targets 24 Alan and Rome. When the dialog opens, the number of links 732 (e.g. 4—which is user adjustable—see
3. A Chain analysis tool C
Referring to
For example, the target TOM is first selected on the representation 18 and then when the target chaining slider 736 is set to Direct, the targets ALAN and PARENTS are displayed, along with the events 20 that cause TOM to be directly connected to them. In the case where TOM does not have any indirect target connections, so moving the slider 736 to both 794 and to indirect 792 does not change the view as generated on the representation 18 for the direct chaining slider 736 setting.
4. A Move analysis tool D
Referring to
It is recognized that the functions of the module 307 can be used to implement filtering via such as but not limited to criteria matching, algorithmic methods and/or manual selection of objects 14 and associations 16 using the analytical properties of the tool 12. This filtering can be used to highlight/hide/show (exclusively) selected objects 14 and associations 16 as represented on the visual representation 18. The functions are used to create a group (subset) of the objects 14 and associations 16 as desired by the user through the specified criteria matching, algorithmic methods and/or manual selection. Further, it is recognized that the selected group of objects 14 and associations 16 could be assigned a specific name which is stored in the table 122. Further, it is recognized that the module 307 and associated analysis modules A,B,C,D can have an access module, which accesses the tables 122 of the memory 102 for retrieving object 14 and/or association 26 data representing the links/connections determined through the above described example operation of the analysis modules A,B,C,D.
Operation of Visual Tool to Generate Visualization RepresentationReferring to
Referring to
Referring to
Next, the manager 300 uses the visualization components 308 (e.g. sprites) to generate 806 the spatial domain 400 of the visual representation 18 to couple the visual elements 410 and 412 in the spatial reference frame at various respective locations 22 of interest of the reference surface 404. The manager 300 then uses the appropriate visualization components 308 to generate 808 the temporal domain 402 in the visual representation 18 to include various timelines 422 associated with each of the locations 22 of interest, such that the timelines 422 all follow the common temporal reference frame. The manager 112 then takes the input of all visual elements 410, 412 from the components 308 and renders them 810 to the display of the user interface 202. The manager 112 is also responsible for receiving 812 feedback from the user via user events 109 as described above and then coordinating 814 with the manager 300 and components 308 to change existing and/or create (via steps 806, 808) new visual elements 410, 412 to correspond to the user events 109. The modified/new visual elements 410, 412 are then rendered to the display at step 810.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Accordingly, the Aggregation Manager 601 can make available the data elements 14 to the Filters 602. The filters 602 act to organize and aggregate (such as but not limited to selection of data objects 14 from the global set of data in the tables 122 according to rules/selection criteria associated with the aggregation parameters) the data objects 14 according the instructions provided by the Aggregation Manager 601. For example, the Aggregation Manager 601 could request that the Filters 602 summarize all data objects 14 with location data 22 corresponding to Paris. Or, in another example, the Aggregation Manager 601 could request that the Filters 602 summarize all data objects 14 with event data 20 corresponding to Wednesdays. Once the data objects 14 are selected by the Filters 602, the aggregated data is summarised as the output 603. The Aggregation Manager 601 then communicates the output 603 to the Visualization Manager 300, which processes the translation from the selected data objects 14 (of the aggregated output 603) for rendering as the visual representation 18. It is recognised that the content of the representation 18 is modified to display the output 603 to the user of the tool 12, according to the aggregation parameters.
Further, the Aggregation Manager 601 provides the aggregated data objects 14 of the output 603 to a Chart Manager 604. The Chart Manager 604 compiles the data in accordance with the commands it receives from the Aggregation Manager 601 and then provides the formatted data to a Chart Output 605. The Chart Output 605 provides for storage of the aggregated data in a Chart section 606 of the display (see
Referring to
For example, the user may desire to view an aggregate of data objects 14 related within a set distance of a fixed location, e.g., aggregate of events 20 occurring within 50 km of the Golden Gate Bridge. To accomplish this, the user inputs their desire to aggregate the data according to spatial proximity, by use of the controls 306, indicating the specific aggregation parameters. The Visualization Manager 300 communicates these aggregation parameters to the Aggregation Module 600, in order for filtering of the data content of the representation 18 shown on the display 108. The Aggregation Module 600 uses the Filters 602 to filter the selected data from the tables 122 based on the proximity comparison between the locations 410. In another example, a hierarchy of locations can be implemented by reference to the association data 26 which can be used to define parent-child relationships between data objects 14 related to specific locations within the representation 18. The parent-child relationships can be used to define superior and subordinate locations that determine the level of aggregation of the output 603.
Referring to
In addition to the examples in illustrated in
Referring to
Referring to
The charts 200 rendered by the Chart Manager 604 can be created in a number of ways. For example, all the data objects 14 from the Data Manager 114 can be provided in the chart 200. Or, the Chart Manager 604 can filter the data so that only the data objects 14 related to a specific temporal range will appear in the chart 200 provided to the Visual Representation 18. Or, the Chart Manager 604 can filter the data so that only the data objects 14 related to a specific spatial and temporal range will appear in the chart 200 provided to the Visual Representation 18.
Referring to
1) Show Charts on Map—presents a visual display on the map, one chart 200 for each place 22 that has relevant events 20;
2) Chart Events in Time Range Only—includes only events 20 that happened during the currently selected time range;
3) Exclude Hidden Events—excludes events 20 that are not currently visible on the display (occur within current time range, but are hidden);
4) Color by Event—when this option is turned on, event 20 color is used for any bar 728 that contains only events 20 of that one color. When a bar 728 contains events 20 of more than one color, it is displayed gray;
5) Sort by Value—when turned on, results are displayed in the Charts 200 panel, sorted by their value, rather than alphabetically; and
6) Show Advanced Options—gives access to additional statistical calculations.
In a further example of the aggregation module 601, user-defined location boundaries 204 can provide for aggregation of data 14 across an arbitrary region. Referring to
It will be appreciated that variations of some elements are possible to adapt the invention for specific conditions or functions. The concepts of the present invention can be further extended to a variety of other applications that are clearly within the scope of this invention.
For example, one application of the tool 12 is in criminal analysis by the “information producer”. An investigator, such as a police officer, could use the tool 12 to review an interactive log of events 20 gathered during the course of long-term investigations. Existing reports and query results can be combined with user input data 109, assertions and hypotheses, for example using the annotations 21. The investigator can replay events 20 and understand relationships between multiple suspects, movements and the events 20. Patterns of travel, communications and other types of events 20 can be analysed through viewing of the representation 18 of the data in the tables 122 to reveal such as but not limited to repetition, regularity, and bursts or pauses in activity.
Subjective evaluations and operator trials with four subject matter experts have been conducted using the tool 12. These initial evaluations of the tool 12 were run against databases of simulated battlefield events and analyst training scenarios, with many hundreds of events 20. These informal evaluations show that the following types of information can be revealed and summarised. What significant events happened in this area in the last X days? Who was involved? What is the history of this person? How are they connected with other people? Where are the activity hot spots? Has this type of event occurred here or elsewhere in the last Y period of time?
With respect to potential applications and the utility of the tool 12, encouraging and positive remarks were provided by military subject matter experts in stability and support operations. A number of those remarks are provided here. Preparation for patrolling involved researching issues including who, where and what. The history of local belligerent commanders and incidents. Tracking and being aware of history, for example, a ceasefire was organized around a religious calendar event. The event presented an opportunity and knowing about the event made it possible. In one campaign, the head of civil affairs had been there twenty months and had detailed appreciation of the history and relationships. Keeping track of trends. What happened here? What keeps happening here? There are patterns. Belligerents keep trying the same thing with new rotations [a rotation is typically six to twelve months tour of duty]. When the attack came, it did come from the area where many previous earlier attacks had also originated. The discovery of emergent trends . . . persistent patterns . . . sooner rather than later could be useful. For example, the XXX Colonel that tends to show up in an area the day before something happens. For every rotation a valuable knowledge base can be created, and for every rotation, this knowledge base can be retained using the tool 12 to make the knowledge base a valuable historical record. The historical record can include events, factions, populations, culture, etc.
Referring to
Having thus described the present invention with respect to preferred embodiments as implemented, it will be apparent to those skilled in the art that many modifications and enhancements are possible to the present invention without departing from the basic concepts as described in the preferred embodiment of the present invention. Therefore, what is intended to be protected by way of letters patent should be limited only by the scope of the following claims.
Claims
1. A method for analysing a plurality of data elements having both temporal and spatial properties, a first data element and a second data element of the plurality of data elements linked by at least one association element, the method comprising the steps of:
- selecting the first data element from the plurality of data elements;
- providing at least one search criteria for use in analysing the properties of the plurality of data elements with respect to at least one property of the first data element;
- applying the at least one search criteria to the properties of the plurality of data elements for identifying the second data element from the plurality of data elements and the corresponding at least one association element, the at least one association element configured for representing a connection between the first data element and the second data element, the connection having a first property common to a property of the first data element and a second property common to a property of the second data element; and
- generating a visual representation of the first and second data elements and the association element configured for display on a user interface for subsequent interaction with user events, the visual representation including a spatial domain including a reference surface for providing a spatial reference frame having at least two spatial dimensions and including a temporal domain operatively coupled to the spatial domain for providing a common temporal reference frame for locations of interest in the spatial domain.
2. The method of claim 1, wherein the visual representation of the group of data elements is selected from the group comprising; a concurrent time and geographic context and a concurrent time and diagrammatic context.
3. The method of claim 2, wherein the type of the data elements is selected from the group comprising: entities; events; and locations.
4. The method of claim 3, wherein the event type represents an action taking place at a particular one of the locations of interest in the spatial reference frame and at a particular time in the temporal domain.
5. The method of claim 3, wherein the entity type represents an actor involved in a selected event.
6. The method of claim 3, wherein the location type represents one of he locations of interest in the spatial domain.
7. The method of claim 2, wherein the association element is selected from the group comprising: a communication connection describing communication details transferred between the two or more data elements;
- a financial transaction or other transaction; and a relationship connection describing social details in common between the two or more data elements.
8. The method of claim 7, wherein the association element is selected from the group comprising: a direct connection; and an indirect connection.
9. The method of claim 2 further comprising the step of displaying an information element on the visual representation adjacent to one of the elements in response to a trigger event, the information element for describing selected ones of the properties of said one of the elements.
10. The method of claim 9, wherein the trigger event is a mouse over of said one of the elements.
11. The method of claim 9, wherein the information element is configured based on an element type of said one of the elements.
12. The method of claim 2 further comprising the step of adjusting the display of the visual representation to match a selected range in at least one of the domains.
13. The method of claim 12 further comprising the step of selecting the range based on the properties of the first and second data elements.
14. The method of claim 2, wherein the at least one search criteria represents a degree of separation between the first data element and the second data element.
15. The method of claim 14 further comprising the step of selecting the degree of separation greater than one for facilitating the identification of at least a third data element and an additional association element, such that the association element links the first data element to the second data element and the additional association element links the second data element to the third data element for representing a link between the first and third data elements.
16. The method of claim 15 further comprising the step of increasing the degree of separation for resulting in the identification and display of further data elements indirectly linked to the first data element through further association elements.
17. The method of claim 2 further comprising the step of selecting the second data element and applying the at least one search criteria as a number of connections to the properties of the second data element for facilitating identification of a connection path represented by the association element between the first and second data elements.
18. The method of claim 17 further comprising the step of increasing the specified number of connections between the first and second data elements for facilitating identification of multiple connection paths between the first and second data elements and at least one additional data element.
19. The method of claim 17, wherein the connection path is selected from the group comprising: a direct connection path and an indirect connection path.
20. The method of clam 15, wherein the first data element represents a target object and the second data element represents an event connected to the target object.
21. A system for analysing a plurality of data elements having both temporal and spatial properties, a first data element and a second data element of the plurality of data elements linked by at least one association element, the system comprising:
- a user interface for selecting the first data element from the plurality of data elements and for providing at least one search criteria for use in analysing the properties of the plurality of data elements with respect to at least one property of the first data element;
- an analysis module configured for applying the at least one search criteria to the properties of the plurality of data elements for identifying the second data element from the plurality of data elements and the corresponding at least one association element, the at least one association element configured for representing a connection between the first data element and the second data element, the connection having a first property common to a property of the first data element and a second property common to a property of the second data element; and
- a visualisation module configured for generating a visual representation of the first and second data elements and the association element configured for display on the user interface for subsequent interaction with user events, the visual representation including a spatial domain including a reference surface for providing a spatial reference frame having at least two spatial dimensions and including a temporal domain operatively coupled to the spatial domain for providing a common temporal reference frame for locations of interest in the spatial domain.
22. The system of claim 21, wherein the visual representation of the group of data elements is selected from the group comprising; a concurrent time and geographic context and a concurrent time and diagrammatic context.
23. The system of claim 22, wherein the type of the data elements is selected from the group comprising: entities; events; and locations.
24. The system of claim 23, wherein the event type represents an action taking place at a particular one of the locations of interest in the spatial reference frame and at a particular time in the temporal domain.
25. The system of claim 23, wherein the entity type represents an actor involved in a selected event.
26. The system of claim 23, wherein the location type represents one of the locations of interest in the spatial domain.
27. The system of claim 22, wherein the association element is selected from the group comprising: a communication connection describing communication details transferred between the two or more data elements; a financial transaction or other transaction; and a relationship connection describing social details in common between the two or more data elements.
28. The system of claim 27, wherein the association element is selected from the group comprising: a direct connection; and an indirect connection.
29. The system of claim 22 further comprising an information module configured for generating an information element in response to a trigger event for display on the visual representation adjacent to one of the elements, the information element for describing selected ones of the properties of said one of the elements.
30. The system of claim 29, wherein the trigger event is a mouse over of said one of the elements.
31. The system of claim 29, wherein the information element is configured based on an element type of said one of the elements.
32. The system of claim 22 further comprising a fit module for adjusting the display of the visual representation to match a selected range in at least one of the domains.
33. The system of claim 32, wherein the range is based on the properties of the first and second data elements identified by the fit module.
34. The system of claim 22, wherein the at least one search criteria represents a degree of separation between the first data element and the second data element.
35. The system of claim 14 further comprising the analysis module configured for applying the degree of separation greater than one for facilitating the identification of at least a third data element and an additional association element, such that the association element links the first data element to the second data element and the additional association element links the second data element to the third data element for representing a link between the first and third data elements.
36. The system of claim 35, wherein an increase in the degree of separation results in the identification and display of further data elements indirectly linked to the first data element through further association elements.
37. The system of claim 22 further comprising the user interface configured for selecting the second data element and the analysis module configured for applying the at least one search criteria as a number of connections to the properties of the second data element for facilitating identification of a connection path represented by the association element between the first and second data elements.
38. The system of claim 37 further, wherein an increase in the specified number of connections between the first and second data elements facilitates identification of multiple connection paths between the first and second data elements and at least one additional data element.
39. The system of claim 37, wherein the connection path is selected from the group comprising: a direct connection path and an indirect connection path.
40. The system of clam 35, wherein the first data element represents a target object and the second data element represents an event connected to the target object.
Type: Application
Filed: Feb 28, 2011
Publication Date: Jul 7, 2011
Applicant: OCULUS INFO INC. (Toronto)
Inventors: William WRIGHT (Toronto), Thomas KAPLER (Toronto)
Application Number: 13/036,624
International Classification: G06F 3/048 (20060101);