SPATIALLY ENABLED DOCUMENT MANAGEMENT SYSTEM
BACKGROUND OF THE INVENTION I. Field ofthe Invention The present invention relates generally to geographic information systems and integrated document management systems, and more particularly to systems and methods for seamlessly integrating the functions of these products through a cohesive interface which permits geographical features to be linked to related documents and real-time data. II. Background Art In the business and industrial world, modern computer hardware and software have made an unprecedented amount of information available to decision makers. Moreover, such technology has dramatically enhanced the manner in which this information is organized, retrieved and presented to the user. Two prime examples of systems which have become virtually indispensable to many businesses and governments are the geographical information system (GIS) and the document management system (DMS). In the case of a GIS, geographical information is displayed on an electronic map, and the user simply selects the desired feature in order to retrieve specific information about that feature. In a DMS, queries can be made against a virtual warehouse of documents, enabling users to retrieve and edit documents, while the DMS handles the version control and check-in and check-out procedures. For those organizations that require both a GIS and a DMS, users quickly realize that these systems are incapable of communicating with one another to the extent desirable. In most cases, the GIS is employed to find certain information about a geographic feature, after which the DMS is searched, based on the retrieved information from the GIS, for documents relating to that feature. Conversely, it may be difficult or impossible to know whether certain documents within a DMS are related to particular geographic features in the GIS. Thus, the GIS must usually be queried for keywords in the hope of discovering those features which may correspond to the documents. In view ofthe time and effort typically required in operating both the GIS and the DMS for each task, a distinct need has arisen for these systems to
communicate more effectively with one another. As will be described in greater detail below, the purpose ofthe present invention is to place the GIS and DMS under the control of a single interface which synergistically links the powerful informational tools of both systems. In order to fully understand the utility and novelty ofthe present invention, it is helpful to examine the features inherent in currently available GIS and DMS solutions, each considered alone, as well as the typical environments in which these diverse systems are employed in business, industry and government. Once the functionality of these separate systems is understood, the unique features ofthe present invention, which serve to integrate GIS and DMS in a particularly advantageous manner, will become readily apparent. In general, GIS products are software systems which relate particular geographical locations or features on maps ("spatial features") to specific numerical or textual data associated with those spatial features. Nonexhaustive examples of such maps which might be used are terrain maps, street maps, pipeline networks, and maps depicting geopolitical boundaries. A wide variety of other types of maps may also be used, such as architectural plans, layouts of industrial facilities, anatomical charts, and computer networks. At the present time, GIS is employed in developing military tactics and strategy, municipal zoning and building permit issuance, traffic planning, pipeline analysis, transportation scheduling, emergency management, environmental assessments, and a host of other business, industrial and government applications. Although the foregoing examples of GIS maps are typically represented by two-dimensional regions, it is contemplated that the present invention will provide equal utility with future generation GIS products employing three-dimensional environments as well, inasmuch as the spatial features in any dimension may be associated with the desired data. While the architecture of various GIS products may differ, the generation of useable spatial data requires the development of a map or region of geographic information which will form the basis for data queries. In the particular case of maps pertaining to terrain, such maps may be comprised of aerial photographs ofthe terrain which are imported into the GIS after correcting for curved-lens distortions. Alternatively, such maps may be generated through computer-aided design (CAD) tools. In either case, software mapping tools are then used to digitize bitmapped images ofthe terrain and add numerical location information related to the topology ofthe image. Regardless ofthe form ofthe map, a range of tools within the GIS
-0.
product is typically available for defining selectable spatial features on the map which are associated with data corresponding to those locations Such spatial features are usually points, lines, polygons and text By way of example, points may comprise such objects as trees, tanks, state capitols, and county seats Lines may comprise such objects as roads, pipelines, and waterways Polygons may comprise geopolitical boundaries, lakes, and property perimeters Text objects are typically cartographical text which is sometimes use for annotation purposes Data associated with these spatial features may be areas, lengths, perimeters, longitude and latitude information, volumetric flow, population distribution, and a wide range of other attributes contained within a relational database management system (RDBMS) The association between the spatial features and the RDBMS allow the user to spatially analyze geographical features and regions on the map and to make decisions based upon the interrelationship of those features More advanced GIS products might also include dynamic segmentation capabilities which enable the user to consider how data associated with certain spatial features varies along a specified path, sometimes referred to as distributed attributes Generally speaking, a document management system is the automated control of electronic documents, such as page images, spreadsheets, word processing documents, and drawings, within an organization from initial creation to final archiving Document management allows organizations to exert control over the production, storage and distribution of documents, yielding greater efficiency in the ability to reuse information, to control a document through a workflow process, and to reduce product cycle times Some of the functions common to many modern document management systems are document identification, storage and retrieval, tracking, version control, workflow management, and presentation So-called "integrated" document management systems (IDMS) incorporate a full range of document management functions throughout the life span ofthe documents across all platforms, applications and company organizational units A DMS typically requires an underlying infrastructure, such as a set of computer workstations and servers that are interconnected by local area networks (LAN's) or wide area networks (WAN's) It generally must have characteristics, such as network operating system independence, file format independence, location independence, long file name support, and link tracking, so that any user can access any given document at any time, subject to security
controls. The actual stored documents are contained within a data storage device, commonly referred to as a "data warehouse", linked to a relational database management (RDBMS) or an object-relational database management system (ORDBMS) which includes descriptive data about the actual documents. Permanent documents which are generally not subject to editing are typically retained within a separate area ofthe data storage device and marked as "read only." A typical scenario for a user would be the querying ofthe DMS for documents containing one or more attributes, after which the names of those documents meeting the search criteria would be displayed for the user. A viewing window is usually provided so that each ofthe documents retrieved by the query may be viewed in thumbnail form. Those documents subject to being edited may then be checked out and edited, with other users being able to see that the particular document is temporarily unavailable for editing. Once the editing is complete, the document is checked back in to the data warehouse ofthe DMS, with both the original and edited version ofthe document being reflected in subsequent query results. While both GIS products and DMS products may both be used within a given organization, there has been no satisfactory solution to bring these two critical technologies together in a way that seamlessly integrates the functions of both into a single user interface. The advantages of doing so are numerous. For example, all administrative functions across both applications, such as those relating to security and restricted access of information, could be handled through one unifying system. Multiple unique environment spaces could be defined and stored on an enterprise server which set the desired parameters for both the GIS and the DMS. Spatial features could immediately be linked not only to geographic data, but also to a wide range of documents, such as photographs, field notes, word processing documents, spreadsheets, databases, digitized audio and video, and the like. Furthermore, true unification of these systems should permit the association of spatial features to other third- party software applications which are linked to live, real-time data related to the particular spatial features. The merging of GIS with DMS into a "spatially enabled document management system" (SEDMS) satisfies the parallel purposes of both underlying systems, which are to provide required information. A key advantage to the integration of GIS and DMS is that users would have quick access to needed documents pertaining to geographical features.
rather than having to search the DMS separately. Conversely, users would be able to dynamically view associated spatial features with particular documents queried from the DMS components of the integrated system. The inevitable results are improvements in the decision- making process and an increase in productivity of workers who were previously managing separate systems. While industry indications are that various efforts are being made to associate conventional spatial data with more complex data, such as documents, it is believed that no full-scale, synergistic integration of GIS with DMS has been achieved to the extent provided by the present invention. SUMMARY OF THE INVENTION It is therefore an object ofthe present invention to provide a spatially enabled document management system that operates from a single user interface, wherein the functions ofthe GIS and the DMS are simultaneously available to the user. Another object ofthe present invention is to provide a spatially enabled document management system that enables the user to select spatial features which result in the display of a wide range of linked documents. Still another object ofthe present invention is to provide a spatially enabled document management system that enables users to dynamically view spatial features which are linked to selected documents. Yet another object ofthe present invention is to provide a spatially enabled document management system that allows the user to access all administrative functions, including security restrictions, across the GIS and DMS applications in a single interface. Another object ofthe present invention is to provide a spatially enabled document management system that permits the definition and retrieval of multiple unique environment spaces. Another object ofthe present invention is to provide a spatially enabled document management system that includes the ability to launch third-party software applications in order to retrieve documents containing periodically updated data linked to selected spatial features. Therefore, a spatially enabled document management system (SEDMS) is provided for integrating a geographical information system (GIS) with a document management system (DMS) wherein selected features within the GIS can be associated with one or more
documents within the DMS, comprising a programmable computing device electronically connected to one or more data storage devices, wherein the computing device includes a video display device; a GIS programmed into the computing device, wherein the GIS includes a graphical image displayed on the video display device representative of a geographic region, one or more selectable spatial features on the graphical image, and a first relational database management system (RDBMS) capable of associating the spatial features with spatial attributes stored on the data storage devices; a DMS programmed into the computing device, wherein the DMS is capable of retrieving one or more documents, and wherein the DMS includes a second RDBMS capable of associating the documents with document attributes stored on the data storage device; and an interface for enabling execution of one or more queries to compare one or more ofthe spatial attributes of a selected spatial feature with the document attributes to display a list ofthe documents whose document attributes contain a match with the spatial attributes ofthe selected spatial feature; and compare one or more of the document attributes of a selected document with the spatial attributes to display a list of the spatial features whose spatial attributes contain a match with the document attributes of the selected document. In a preferred embodiment, the interface enables simultaneous display ofthe spatial features and the documents on the video display device. Preferably, the system further comprises an agent manager for linking one or more agents to the selected spatial feature, and wherein each agent enables the execution of an external software application. In this embodiment, the agent receives one or more ofthe spatial attributes ofthe selected spatial feature from the agent manager, launches the external software application, and causes the external software application to display information specific to the selected spatial feature. More preferably, upon the subsequent selection of a second selected spatial feature linked to the agent, the agent causes the external software application to display information specific to the second selected spatial feature. Also preferably, the system further comprises an agent manager for linking one or more agents to the selected document, and wherein each agent enables the execution of an external software application. In this embodiment, the agent receives one or more ofthe document attributes ofthe selected document from the agent manager, launches the external software application, and causes the external software application to display information specific to the selected document. More preferably, upon the subsequent selection of a second
selected document linked to the agent, the agent causes the external software application to display information specific to the second selected document. Furthermore, the interface further comprises means for selectably adding and removing different classes of spatial features from the display, as well as means for defining multiple sets of environment parameters in the SEDMS, and for storing and retrieving such sets of parameters. Also, the interface further comprises means for defining a plurality of security parameter sets, wherein predetermined spatial features, documents, and relationships between spatial features and documents are restricted from unauthorized display and use. Moreover, the system further comprises means for defining queries linked to specific spatial features and specific documents. Also, a method is provided for using a spatially enabled document management system (SEDMS) resulting from the integration of a geographical information system (GIS) with a document management system (DMS) wherein particular spatial features in the GIS are linked to particular documents in the DMS, and wherein the SEDMS includes a user interface, comprising selecting one or more ofthe spatial features within a graphical image in the user interface; comparing attributes associated with the spatial features to attributes associated with the documents, and establishing which ofthe documents are linked to the spatial features; and displaying a list ofthe documents linked to the spatial features in a window adjacent to the graphical image. Preferably, the method further comprises providing an agent management means for enabling an agent, wherein the agent is capable of executing an external software application linked to the selected spatial feature; executing the agent; and displaying information specific to the selected spatial feature within the external software application. More preferably, the method further comprises selecting a second spatial feature linked to the agent, and causing the external software application to display information specific to the second selected spatial feature. Optionally, the method may also include selecting one ofthe linked documents and viewing the contents thereof, or opening the linked document in an external software application and editing the linked document. Also, a method is provided for using a spatially enabled document management system (SEDMS) resulting from the integration of a geographical information system (GIS) with a document management system (DMS) wherein particular spatial features in the GIS are linked
to particular documents in the DMS, and wherein the SEDMS includes a user interface, comprising selecting one or more ofthe documents within the DMS from a window in the user interface; comparing attributes associated with the documents to attributes associated with the spatial features, and establishing which ofthe spatial features are linked to the documents; and displaying the spatial features linked to the documents in a graphical window in the user interface. Preferably, the method further comprises providing an agent management means for enabling an agent, wherein the agent is capable of executing an external software application linked to the selected document; executing the agent; and displaying information specific to the selected document within the external software application. More preferably, the method further comprises selecting a second document linked to the agent, and causing the external software application to display information specific to the second selected document. These and other objects and advantages of the present invention will no doubt become apparent to those skilled in the art after having read the following description ofthe preferred embodiments which are contained in and illustrated by the various drawing figures. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a schematic diagram depicting a typical environment for the present invention employing a server and one or more workstations over a LAN or WAN. Figure 2 is a schematic diagram illustrating the manner in which the GIS and the DMS are underlying components within the control of a common user interface, as well as the presence ofthe agent manager and any defined agents. Figure 3 is a preferred embodiment of a user interface ofthe SEDMS depicting the various components ofthe GIS, the DMS. as well as features unique to the common interface. Figure 4A is a schematic diagram showing the multiple ways in which a spatial feature can be defined within the present invention. Figure 4B is a schematic diagram showing the multiple ways in which a document can be defined within the present invention. Figure 5A is a flowchart depicting a typical workflow scenario wherein a spatial feature is selected to show associated documents. Figure 5B is a flowchart depicting a typical workflow scenario wherein a document is selected to show associated spatial features.
Figure 5C is a flowchart depicting a typical workflow scenario wherein a spatial feature is selected to execute a linked agent DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following description will provide an explanation ofthe spatially enabled document management system (SEDMS) that integrates a geographical information system (GIS) with a document management system (DMS), wherein selected features within the GIS can be associated with one or more documents within the DMS Additional features ofthe SEDMS which enhance its basic functions will also become apparent from the ensuing description For the purposes herein, a "spatially enabled document management system" means a system, in accordance with the ensuing descπption and claims, which integrates the functions of an underlying GIS and an underlying DMS, such that spatial features and DMS documents can be "linked" to one another, either through actual attachment to one another or through matching based on queries, for bidirectional searching capabilities In other words, the spatial features of a SEDMS can be selected to display all documents linked to those spatial features, thus permitting the linked documents to be viewed and/or edited Conversely, the DMS documents of a SEDMS can be selected to display all spatial features linked to those DMS documents Turning now to Figure 1 , a schematic diagram is provided which depicts a typical hardware environment for the present invention employing at least one server 1 and one or more workstations 2,3 over a local area network (LAN) or wide area network (WAN) 4 The workstations 2,3 and server 1 are each preferably comprised of a programmable computing device 5, an input device 6 such as mouse and/or keyboard, as well as a video display device 7 Suitable network hardware and software (not shown) are also provided so that the workstations 2,3 and the server 1 may communicate with one another over the LANAVAN 4 The server 1 and workstations 2,3 are further connected, locally or via the LANAVAN, to one or more data storage devices 8,9 which hold spatial data and documents respectively It should be understood however that the precise location of the spatial data and documents is not critical to the operation ofthe present invention, inasmuch as such information can either be located in a single data storage device or distributed across many such devices, as long as the GIS and DMS are properly configured to retrieve such information from the appropriate location
Such data storage devices 8,9 can be quite remote from one another, but yet electronically interconnected over communication lines so as to make their interoperation available to the user. For example, as suggested in Figure 1, the GIS and DMS could be located on a remote server 1 in communication with several workstations 2,3, with the attributes for the spatial features and the documents themselves stored separately in off-site storage areas 8,9. Referring now to Figures 2 and 3, the schematic diagram of Figure 2 illustrates the manner in which the GIS and the DMS are underlying components within the control of a common SEDMS interface 12, as well as the presence ofthe agent manager 13 and any defined agents 15, as will be further explained below. Figure 3 depicts a preferred embodiment ofthe SEDMS interface 12 showing the various components ofthe GIS 10, the DMS 14, as well as features unique to the common SEDMS interface 12. Generally, the invention includes a GIS 10 programmed into the server 1, wherein the GIS 10 includes a graphical image 1 1 displayed on the video display device 7 representative of a geographic region. The graphical image 1 1 includes one or more selectable spatial features 16. The GIS 10 further includes a first relational database management system (RDBMS) 18 capable of associating the spatial features 16 with spatial attributes 17 stored on the data storage device 8. The invention further includes a DMS 14 programmed into the server 1, wherein the DMS 14 is capable of retrieving one or more documents 20. The DMS 14 includes a second RDBMS 19 capable of associating the documents 20 with document attributes 21 stored on the data storage device 9. Also generally, the invention further includes an SEDMS interface 12 for enabling execution of one or more queries 22,23. In one case, queries 22 are used to compare one or more ofthe spatial attributes 17 of a selected spatial feature 24 with the document attributes 21 to display a list of documents 25 whose document attributes 21 contain a match with spatial attributes 17 ofthe selected spatial feature 24. In another case, queries 23 are used to compare one or more ofthe document attributes 21 of a selected document 26 with spatial attributes 17 to display a list of spatial features 16 whose spatial attributes 17 contain a match with the document attributes 21 ofthe selected document 26. For the purposes herein, a "graphical image" 1 1 is defined as any image displayed on the video display device 7 which depicts characteristics ofthe geographical region. A
"geographical region" is defined as any region or volume, of two or more dimensions, whose properties or spatial features 16 are desirable to track or analyze in connection with specific documents 20 within the DMS 14. For example, a conventional U.S. map containing geopolitical boundaries could be a "graphical image" representative ofthe United States as a "geographical region." Alternatively, a three-dimensional CAD drawing depicting the chip layout and multi-layered conductive lines on a computer motherboard could be a "graphical image" representative ofthe motherboard itself as a "geographical region." A "spatial feature" 16, for the purposes herein, is an entity on the graphical image 11 that corresponds to some physical feature ofthe geographical region being viewed. Such features are typically represented by geometry in the form of a point, a line segment, or a polygon. These elements of geometry are further defined by non-graphic "attributes" 17 (alphanumeric characters or strings of such characters) stored in table format on the data storage device 8. For the purposes herein, "spatial attributes" 17 are any attributes of a spatial feature 16. The RDBMS 18 within the GIS associates those attributes 17 with the particular spatial features 16, such that the selection of a particular spatial feature 16 in the graphical image 11 permits viewing of attributes 17 as well. As used herein, a "document" 20 may be virtually any kind of electronic information associated with or related to a spatial feature 16. Nonlimiting examples of such documents 20 may be text files, database files, spreadsheets, photographs, CAD drawings, digitized audio and video, and computer animations. In the same way that the spatial features 16 are actually defined by spatial attributes 17, documents 20 are similarly defined by document attributes 21. Document attributes 21 are data that describe important characteristics about a document 20, such as authorship, time and date of creation, file format, summary ofthe contents, and any other data that may be relevant to associating it with other documents 20 or spatial features 16 through queries 22,23. The second RDBMS 19 within the DMS 14 manages the relationships between the document attributes 21 and the documents 20 themselves in generally the same manner that the first RDBMS 18 manages the relationships between the spatial attributes 17 and the spatial features 16. Both of these RDBMS's 18, 19 communicate with one another via the basic connectivity functions ofthe present invention. In connection with the present invention, the term "interface" 12 is broadly defined as that executable programming code which presents the user ofthe SEDMS with a single,
1 unified interface displaying the major components of both the GIS 10 and the DMS 14
2 adjacent to one another on the display device 7, and sharing a common command menu 30.
3 Importantly, the programming code ofthe interface 12 permits bidirectional communication
4 between the user and the simultaneously displayed GIS 10 and DMS 14 components.
5 Furthermore, the interface 12 programming code also enables bidirectional communication
6 between the GIS and DMS for the purposes of associating the selected spatial features 16 with
7 the desired documents 20, and vice versa. The correlation between spatial features 16 and
8 documents 20 is. broadly speaking, conducted in most cases by a comparison ofthe spatial
9 attributes 17 ofthe spatial features 16 with the document attributes 21 ofthe documents 20.
10 The interface 12 also includes the ability to select a particular environment space, wherein
1 1 each particular environment determines the availability of spatial features, documents and
12 agents, which will be further described later herein.
13 Referring specifically to Figure 3, the various features ofthe interface 12 will be
14 explained in greater detail. In this figure, a network of spatial features 16 in the form of
15 pipeline segments is displayed over a region comprised of various county boundaries 40. The
16 interface 12 is generally divided into two primary components, namely a GIS component 31
17 (or "spatial window") and a DMS component 32 (or "document window"). Preferably, the
18 command menu 30 resides above the GIS and DMS components 31,32 in conventional pull-
19 down form commonly employed by programmers of ordinary skill. Additionally, one or more
20 tool bars 33 are available for enabling quick execution ofthe various functions ofthe GIS 10 i and the DMS 14, as well as those functions unique to the present invention. An always-on
22 -top legend window 34 is preferably provided which shows those classes of spatial features 16
23 which are currently displayed in the graphical image 11. Conveniently, any ofthe classes of
24 spatial features 16 shown in the graphical image 1 1 may be removed from the display by
25 selecting the class in the legend and deleting that selected class. Conversely, authorized
26 classes of spatial features 16 may also be added to the graphical image 11 by an "add feature"
27 function selectable from the tool bar 33. i When the user desires to locate documents 20 that are linked to certain spatial features
29 16, a "show links" function is activated, such as by a suitable button 35 located on the tool bar
30 33. The "show links" button 35 enables the queries (or relationships) 22 defined for each
31 spatial feature 16, as will be further explained below. Thereafter, selection of any spatial
feature 16, such as the selected spatial feature 24 shown in Figure 3, causes the name 36 ofthe selected spatial feature 24 to appear in the document window 32, along with the list of linked documents 25 Preferably, the list of linked documents 25 may comprise two types, namely "attached" documents and "related" documents Attached documents 37 are those documents 20 which are specifically defined as being linked to the selected spatial feature 24 In other words, attached documents 37 are always tied to that particular spatial feature 24. Related documents 38. however, are those documents 20 which are the result of a match based on whatever queries 22 are defined for the spatial feature 16 For example, a spatial query 22 may ask for all documents having a document attribute 21 which includes "Segment No. %SegNo%", where SegNo is the number ofthe pipeline segment as the selected spatial feature 24. In that case, all documents 20 having an attribute 21 referring to that particular pipeline segment will be retrieved For any selected document 26 selected in the document list 25, a wide range of actions can be taken by the user, as illustrated by the document item action list 41. For example, the selected document 26 may be opened for editing, checked out, routed to others as a part of the workflow features ofthe SEDMS, and examined with respect to its properties. Conveniently, a document viewer window 42 is also preferably provided below the document list 25 so that a reduced image ofthe selected document 26 may be viewed by the user. Such a document viewer 42 should be capable of reading a large number of different file formats so that any document appearing in the viewer 42 may be briefly examined prior to making a decision as to what action is to be taken next by the user. By way of example, in the interface 12 shown in Figure 3, a bitmap image of a photograph is displayed. For the purpose of relating or linking spatial features 16 to documents 20, it is helpful to consider the manner in which spatial features 16 and documents 20 can be associated with one another Shown in Figure 4A is a schematic diagram showing the multiple ways in which a spatial feature 16 can be defined within the present invention As mentioned earlier, each spatial feature 16 can be defined in terms of its most basic spatial attributes 17, which can often be geometric information in tabular form as well as a variety of other types of information specific to the spatial feature 16 Additionally, certain documents 37 may optionally be "attached" to the spatial feature 16 by causing such documents to appear any time the spatial feature 16 is selected Furthermore, the spatial feature 16 can also include one
or more queries 22 or relationships which, upon selection ofthe spatial feature 16, are caused to execute, calling up documents 20 whose attributes 21 match the query criteria. Finally, any spatial feature 16 can further be defined in terms of what agents 15 are available to the user, as will be explained below Documents 20 are similarly defined as illustrated in Figure 4B. As mentioned earlier, each document 20 can be defined in terms of its basic document attributes 21, which is typically data regarding authorship, creation date, editing date, and a variety of other types of information specific to the document 20 Additionally, certain spatial features 44 may optionally be "attached" to the document 20 by causing such spatial features 44 to appear any time the document 20 is selected Furthermore, the document 20 can also include one or more queries 23 or relationships which, upon selection ofthe document 20, are caused to execute, calling up spatial features 16 whose attributes 17 match the query criteria Finally, any document 20 can further be defined in terms of what agents 15 are available to the user, as will be explained below One ofthe most advantageous features ofthe present invention is the implementation of predefined agents 15 and their interaction with an agent management means 13. Agent management means 13 comprises executable programming code for linking one or more agents 15 to a selected spatial feature 24 or a selected document 26. Each agent 15 also comprises executable programming code which enables the execution of an external software application 50, such as a database application, spreadsheet application, word processing application, or any type of software application that the user may require to handle day-to-day business forms and reports When executed in connection with a selected spatial feature 24, the agent 15 receives one or more spatial attributes 17 ofthe selected spatial feature 24 from the agent manager 13 The agent then launches the external software application 50 and causes the external software application 50 to display information specific to the selected spatial feature 24 For example, selection of a spatial feature 24 not only retrieves the attached and related documents 37,38 linked to that spatial feature 24 in the document window 32. but also calls up the list of agents 15 which may be defined for that selected spatial feature 24. By way of example using the pipeline of Figure 3, one type of agent 15 may be a database application which opens a database representing only the maintenance history for the particular pipeline segment selected Rather than having to open up a separate
database program and finding that particular database, the user simply executes the agent 15 for that pipeline segment. This time-saving function is a highly productive substitute for numerous additional keystrokes, clicking and searching for needed information in other external applications. Moreover, the agent 15 includes the intelligence to remain open during subsequent selection of spatial features 16 which rely upon the same type of information. In other words, upon the subsequent selection of a second selected spatial feature 55 linked to that agent 15, the agent 15 causes the external software application 50 to display information specific to that second selected spatial feature 55. By way of example, a second pipeline segment may be selected, which immediately brings up the database ofthe maintenance history for that particular pipeline segment without re-launching the external software application 50. Additionally, agents 15 can be defined for documents 20 in precisely the same manner as for spatial features 16, causing any other forms or reports related to those documents 20 to be easily retrieved. Such agents 15 provide the ability to customize an enterprise- wide solution for retrieving critical information about specific spatial features 16. While the specific programming code for each agent 15 will vary significantly, depending upon the needs ofthe user, the particulars ofthe application, and the forms or reports to be retrieved, all such agents 15 may be constructed by persons of ordinary skill without undue effort. Regardless ofthe type of agent 15 developed, each such agent 15 must at least respond to the following actions performed by the agent management means 13 : (a) configuration ofthe agent, (b) initialization ofthe agent, (c) launching the agent, (d) refreshing the agent with updated information, and (e) closing the agent. For example, in an agent designed to bring up a database in Microsoft® Access, one ofthe first requirements is for the administrator ofthe SEDMS to define which database to use, which form to use, and where these items are located. Field names from the spatial attributes 17 are typically used as parameters in the configuration ofthe agent 15 so that only specific information related to that spatial feature 16 is displayed. One example of the programming procedures implemented for a particular agent 15 used to display reports from Seagate Software's Crystal Reports™ is provided in Appendix A hereof, using the programming language of Microsoft® Visual Basic. When the user wants to see a form associated with a selected spatial feature 24, the initialize and launch methods are called. The initialize method starts the software application and loads the desired form, after which the
launch method performs parameter substitution on the "where clause" and sets it for the form. Finally, Figures 5A through 5C illustrated three common workflow scenarios that may be conducted by a user ofthe SEDMS. Specifically, Figure 5 A is a flowchart depicting a typical workflow scenario wherein a spatial feature 16 is selected to show associated documents 20. Figure 5B is a flowchart depicting a typical workflow scenario wherein a document 20 is selected to show associated spatial features 16. Figure 5C is a flowchart depicting a typical workflow scenario wherein a spatial feature 16 is selected to execute a linked agent 15. In addition to the foregoing description ofthe preferred embodiments, an example configuration ofthe present invention is provided below for further clarification, as well as an example of a practical industrial application ofthe invention. Example Configuration In a highly specific configuration ofthe present invention, and by way of example only using currently available hardware and software, the GIS and DMS would be installed onto the hard drive of a computer server connected to several workstations over a LAN or WAN having a suitable network operating system. While it is contemplated that a variety of GIS and DMS solutions could be employed, one example of a GIS that may be used with the present invention is marketed under the trade name GeoMedia™ by Intergraph Corporation of Huntsville, Alabama. An example of a DMS solution that could be employed is marketed under the trade name Panagon™ by FileNET Corporation of Kirkland, Washington. In preferred embodiment ofthe invention, both the server and client versions ofthe interface system are developed as native 32-bit software applications for use on modern computers having installed operating systems such as Microsoft® Windows® 98 or Windows® NT, or as a 32-bit web browser interface for use in connection with the Internet or an Intranet. The server version ofthe interface preferably includes all ofthe administrative functions, such as the security server 60, environment configuration, and initializing the system for use. The functions ofthe security server 60 for the SEDMS are generally handled through the DMS 14, which will control access to various aspects ofthe SEDMS via user names and passwords. For example, the security server 60 will control access to specific environments, availability of spatial features and software functionality, access to certain agents 15, and access to documents. Development and customization is preferably performed with programming
languages that support standard Object Linking and Embedding (OLE)/ Automation interfaces without any prerequisite proprietary software. Examples of such programming tools that support OLE/ Automation include Microsoft® Visual Basic and Visual C++, as well as Borland® Powerbuilder. Also preferably, the interface software is 100% OPEN GIS compliant, as well as 100% ODMA (Open Document Management API) compliant. Client versions ofthe interface software, including any agents created for use with selected spatial features, are developed using Microsoft® ActiveX component technology, thus allowing for rapid assembly of new user and application extensions. All services during operation are implemented as Distributed Component Object Model (DCOM)/OLE servers, simplifying the integration. DCOM allows each discrete service to be distributed across the network, optimizing resource utilization and ensuring peak performance. DCOM also provides a sophisticated inter-process messaging structure that allows user-developed functions residing on remote servers. Example Application In an oil and gas company, an engineer wishes to review the location of existing pipelines as well as any information related to those pipelines. After logging into the SEDMS, the engineer opens a dialog box ofthe interface 12 which displays a list of authorized environments containing different types of information, perhaps concerning pipelines in different parts ofthe state. Those environments available to the engineer are only those environments to which he is authorized by the security server 60. The engineer would then select the environment which contains information and maps about those pipelines in the particular region he desires, upon which the geographic image 1 1 would be displayed in the GIS portion of the interface 12. Although a wide variety of spatial features 16 may be defined in that particular environment, the engineer may select only those features, such as pipelines 24 and county lines 40, to be displayed on the image 1 1. Selection of a pipeline segment 24 would show, in a separate document window 32 ofthe interface 12, the list of documents 25 in the DMS 14 which are linked to that particular spatial feature 24. The list of documents 25 may show a photograph of the pipeline and its local pumping station, a CAD drawing ofthe connections made between pipeline segments, a bitmap image ofthe right-of-way agreement that was required to construct the pipeline, and editable text files of correspondence transmitted in connection with that pipeline. Each of these documents 25 would be
immediately viewable within a small viewing window 42 adjacent to the list of documents 25. Opening any of those documents 25 in the interface 12 would execute the DMS 14 functions required to retrieve the selected document 26 in its parent software application, subject to all of the version control and workflow functions of the underlying DMS 14. In a separate portion ofthe interface window, the interface 12 would display whether there are any agents 15 configured for that pipeline segment, such as an updated database tracking the flow of product through the pipeline at any given time, or possibly a maintenance history for that segment. Execution ofthe agent 15 would execute the external software application 50 for that database, allowing the user to view changing information about the flow through the pipeline or the maintenance history. Subsequent selection of a similarly defined spatial feature 55 would show the specific flow information or maintenance history for that newly selected spatial feature 55. Although the present invention has been described in terms of specific embodiments, it is anticipated that alterations and modifications thereof will no doubt become apparent to those skilled in the art. It is therefore intended that the following claims be interpreted as covering all such alterations and modifications as fall within the true spirit and scope ofthe invention.
End If Exit Function
ErrorHandler:
Config = False
MsgBox Err.Description
Err.Clear End Function
Public Function lnitialize(loCust As idmobjects.CustomObject) As Boolean
This routine is called the first time a user opens an agent associated with a feature. This routine retrieves all the information from the DMS and stores it in global variables
Set up error handling
On Error GoTo ErrorHandler mrptDesc = GetProperty(loCust, "Description") mrptName = GetProperty(loCust, "Argl") mrptWhere = GetProperty(loCust, "Arg2") rptWind = 0
Initialize = True
Exit Function
ErrorHandler:
Initialize = False
Err.Clear End Function
Public Function Launch (loRS As GRecordset) As Boolean
Once an agent is opened, this routine is called every time the user selects a feature. All ofthe information about the feature is passed in as Grccordset
Dim oldWind As Long
Set up error handling
On Error Go To ErrorHandler
Get the report name and where clause and perform parameter substitution rptName = Parse(mrptName, loRS, loColl)
rptWhere = Parse(mrptWhere, loRS, loColl)
Set the parameters for the Crystal report OCX frrnCR.ocxCR.WindowTitle = mrptDesc frmCR.ocxCR.ReportFileName = rptName frmCR.ocxCR.SelectionFormula = rptWhere frmCR.ocxCR.Action = 1
Launch = True
Exit Function
ErrorHandler:
MsgBox Err.Description, vbOKOnly, "Error in Launch"
Err.Clear
Launch = False End Function
Public Function CleanUp() As Boolean
Tins routine is called before closing the Agent
DestroyWindow rptWind CleanUp = True End Function
Public Function CanClose() As Boolean
This routine returns whether the user has closed the report or not On Error GoTo ErrorHandler
If WinValid(rptWind) Then
CanClose = False Else
CanClose = True End If
Exit Function
ErrorHandler:
CanClose = True
Err.Clear End Function