Method for associating map item images and text information
A system and method for manipulating digital map information, that allows the operator to view or modify map object or item attributes from either a graphical window or a text window. In one embodiment, when the user selects a map item within the graphical window (202), the text window (210) displays a text record that includes attributes (242) associated with the currently selected item. Attributes may include, for example, a street name, or a relationship of the current item to another item. The system can display these relationships within the text window. In one embodiment, the attributes that include links to related map items or to related items of information are highlighted or are visibly identified (249) in some manner. The operator can then select a highlighted attribute to traverse to, and display the new map item. The graphical window display can be updated in parallel with the text window.
Latest Tele Atlas North America, Inc. Patents:
- System and method for determining routing point placement for aiding in encoding and decoding a path
- Methods, Devices and Map Databases for Green Routing
- METHOD OF APPLYING CLOTHOID CURVE VALUES TO ROADWAYS IN A GEOGRAPHIC DATA INFORMATION SYSTEM
- Geographic feature name reduction using phonetic algorithms
- METHOD AND SYSTEM FOR CREATING UNIVERSAL LOCATION REFERENCING OBJECTS
This application is a continuation of U.S. patent application Ser. No. 11/466,034 entitled “SYSTEM AND METHOD FOR ASSOCIATING TEXT AND GRAPHICAL VIEWS OF MAP INFORMATION,” by Gil Fuchs, et al., filed Aug. 21, 2006; which is a continuation of U.S. patent application Ser. No. 10/209,750, filed Jul. 31, 2002, entitled “SYSTEM AND METHOD FOR ASSOCIATING TEXT AND GRAPHICAL VIEWS OF MAP INFORMATION,” which issued on Sep. 5, 2006 as U.S. Pat. No. 7,103,854; which claims priority from U.S. Provisional Application No. 60/392,742 entitled “SYSTEM AND METHOD FOR ASSOCIATING TEXT AND GRAPHICAL VIEWS OF MAP INFORMATION,” filed Jun. 27, 2002; all of which applications are incorporated herein by reference.
COPYRIGHT NOTICEA portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTIONThe invention is related to systems for displaying and editing digital maps, and particularly to a system and method for displaying both graphical and textual information about a map in a linked or associated manner.
BACKGROUNDThe use of digital geographic or map data has become commonplace in today's modern, computerized society. Commonly referred to as electronic maps, digital maps, digitized maps, or simply as maps, this geographic or map data can be used in a wide variety of applications. A typical application is in the travel industry, whereby digital maps are used to quickly and automatically chart travel routes, and to locate destinations. Digital maps have found a particularly common everyday use in automobiles, wherein Global Positioning Systems (GPS) are used in association with a digital map to automatically track the position of a car and display the position on a map, for instance to guide the driver to a particular destination.
Digital maps are often also used in commercial environments, for example in calculating optimized routes for delivery drivers to take when performing deliveries, or for providing accurate directions for emergency and medical crews to follow when responding to emergency calls. For many years, the electronic map industry has also supplied maps to the military for use in military applications. Digital maps find a use in all aspects of industry, including for ground-based, maritime, and aviation purposes. As people become more familiar in carrying handheld electronic and Personal Digital Assistant (PDA) devices, increasingly distributed together with electronic maps stored therein, the electronic or digital map industry has grown to infiltrate every aspect of society.
One of the great benefits of a digital map over a traditional paper-based map is its inherent flexibility and ability to portray large amounts of data. Paper maps are necessarily limited to the amount and type of information they can portray, within the constraints of their physical formats. Paper maps are obviously also difficult to update. Digital maps don't suffer from these problems. While earlier digital maps may have seemed merely like a scanned version of the paper product, today's modern digital maps are much more powerful. Objects can be included in the map and either displayed, or not displayed, depending on the wishes of the operator. The whole product can be quickly updated to reflect changes or corrections to all or just a small subset of map objects.
However, along with this increased usage and functionality or electronic maps, the need has arisen to insure that these electronic maps are provided in such a way that they are flexible enough to allow for changes in the geography or in the political use of the underlying geographical area. For example, in urban areas the location and usage of surface streets may change on a regular basis. Schools and other important public buildings can be built seemingly almost overnight. An electronic map that is several years old (or in some cases even several months old) is of lesser use in such an environment, because the image the map displays, and the information it provides, is no longer reliably related to the underlying geography. As such, electronic map vendors continuously seek new ways in which they can regularly update and check the accuracy of their electronic maps, and do so in an easy manner such that the map need not be created from scratch each time, but can instead be updated or derived from previous versions of the map to reflect the new geography. Such a process is akin to the debugging process familiar to software application developers who must strive to fix problems and errors in their underlying software code.
While the application software industry has developed many tools for debugging software applications, current methods of debugging electronic or digital maps are often tedious and labor intensive. Typically they require the operator to retrieve a text version of the map information, sift through large amounts of textual data defining the map items within the map, and then modify the entries therein to reflect changes in the map itself. Since an electronic map is usually defined by a series of entries wherein each entry indicates, for example, a street, a public building, or a park, etc., the operator can modify the location and/or the properties of this entry by making edits to the text entry for that record.
The problems associated with these traditional methods of maintaining and updating electronic map information are that they are time consuming, and sometimes result in inaccuracies. The operator must be highly proficient in editing that particular map format. In addition, the person editing the textual record for a particular map entity may not be able to actually view the map on their screen. Instead they usually work from a text-only list that has been prepared by somebody else who previously inspected the visual map display, noted any errors, and created a Quality Assurance (QA) list. The overall result of this is that electronic maps created and updated using traditional methods are relatively inflexible and pose a barrier which discourages map vendors from updating their maps on a regular basis.
In some other instances the process of updating is often an impossible task, in that the object or item reflected in the map is not easily identified within the text version of the map. This may be the case for example when a map object has information associated with it that is used by the system in some way, but may not be visible to the end user. In these instances a visual inspection of the map yields little useful debugging information. One example of this type of map object is special street closing information, or street-by-street rush-hour information that defines how the street varies with rush-hour. Unless the map tester uses this actual information for some purpose they may not see it during the QA process. If they don't see it, then they may not check it for accuracy.
Map vendors may often like to approach the debug process from a visual means in that the person debugging the map can see it at the same time. This alleviates the tedium and potential inaccuracy in debugging map information by dealing purely with large text files. In some applications, the digital map vendor or debugger can identify an object by pointing or clicking on the map itself and by entering any modified attributes for the record therein. However, this procedure does not work for those objects described above that are hidden within the map view, for example these properties associated with particular public buildings such as opening times, etc. Modifying entries such as these for items that are otherwise hidden poses particular problems for the map editor. In addition, to date there has been little effort to combine the power of graphical presentation and text entry into one common application, such that an operator can have the best of both worlds. Simply put, an easier and more accurate map viewer, editor, and debugger would mean more accurate maps, and ensure that map vendors and customers can keep pace with the ever-increasing demands for reliable, accurate, and readily updated map information.
SUMMARYThe invention provides a system and method for displaying and editing digital maps, that can be used to view, edit, or debug the map information therein. While traditional methods require the operator to have an in-depth knowledge of the map format, the invention does not. Also, the invention does not hide the graphical format from the debugging process. Instead it harness the power of the graphical representation of the map, and the text representation to provide a more useable mechanism for map viewing and editing.
In accordance with one embodiment, the invention provides a system and method for either alternately or concurrently presenting both graphical (map) and textual information describing the objects or items within that map, and for allowing the user to view or modify records within the map by either selecting items from a graphical map or from a text view. When the user wishes to view or modify a map they can display the graphical map on a computer screen, and display a text view on the same or a different computer screen. As the user selects items within the map, for example a building, street, or park, typically by clicking on the item with a mouse or with some other form of pointing device, the text window changes to reflect the properties of the map item currently selected. The operator can then navigate between map objects better from the graphical view or the text view. Each map object or item is associated with a particular data record that describes the properties or attributes of that item. As used herein these properties may include, for example, a street name, or some relationship of this object to another object. The relationship may be, for example, how one street intersects another street to form a street corner or intersection, or that one street abuts a particular park. As used herein these relationships are referred to as “semantic relationships”. The system makes use of these relationships by extracting relationship information from the map itself and displaying it to the user in the text view format so that the user can then select from this text information to easily navigate between map objects, and to make changes to the information defining or associated with those objects. Modifying a text record to update an attribute associated with an object can be used to produce an immediate change in the graphical map itself. At the same time being able to view, display, and edit the record associated with an object provides an easy mechanism by which a map editor can change object attributes. In this way the map can be viewed in a more useable manner, and can be easily and quickly updated to reflect changes in the underlying objects.
Also, the present invention takes a step further to capitalize on the semantic relationships described above. While traditional systems may recognize this semantically related information, for purposes of route-finding, etc., the invention uses this information to provide an easy means to navigate between map items and importantly between information associated with map items. As described above, such information is often hidden from the graphical view. The invention allows an operator to navigate to this item or object by providing a traversal mechanism. In accordance with one embodiment, when the text window is displayed, those attributes that include links to other map items or to other items of information are marked, highlighted, or are visibly identified in some manner. The operator can select a highlighted attribute to traverse to that map item.
Finally, the present invention combines all of these concepts to form a coherent environment by which a digital map developer or user can view, edit, and debug, digital map information. In accordance with one embodiment, the invention comprises a system for map visualization and manipulation that allows for investigation of the relationships between objects irrelevant of map format, comprising a display device, a graphical window on said display device for displaying a graphical illustration of a map or other cartographic information, said graphical illustration representing a plurality of map objects within said map, a text window on said display device for displaying a text record of attributes associated with a first map object, including records semantically linking the first map object with a second map object, a cursor or alternative selection mechanism for selecting a map object, or any of the records within the text record, and traversing the semantic link between the first and second map object to retrieve information about the second object or to redraw the map to focus on the second object.
In another embodiment this invention comprises a method for allowing an operator to visualize or manipulate graphical maps, comprising the steps of displaying a graphical illustration of a map or other cartographic information, said graphical illustration representing a plurality of map objects within said map, displaying a text record of attributes associated with a first map object, including records semantically linking the first map object with a second map object, allowing the operator to select a map object, or any of the records within the text record, traversing the semantic link between the first and second map object and retrieving information about the second object or to redraw the map to focus on the second object.
Generally described, the provides a system and method for displaying and editing digital maps, that can be used to view or debug map information. While traditional methods require the operator to have an in-depth knowledge of the map format, the invention does not. Also, the invention does not hide the graphical format from the debugging process. Instead it harness the power of the graphical representation of the map, and the text representation of objects within the map to provide a more useable mechanism for map viewing and editing. When the user wishes to view or modify a map they can display the graphical map on a computer screen, and display a text view on the same or a different computer screen. As the user selects items within the map, for example a building, street, or a park, typically by clicking on the item with a mouse or with some other form of pointing device, the text window changes to reflect the map object currently selected. Each map object or item is associated with a particular data record that describes the properties or attributes of that object. As used herein these properties may include, for example, a street name, street property such as length, or some semantic relationship of this map object or item to another map object or item. The relationship may be, for example, how one street intersects another street to form a street corner or intersection, or that one street abuts a particular park. The system makes use of these relationships by extracting relationship information from the map itself and displaying it to the user in a textual format so that the user can easily navigate between map objects, and can make changes to the information defining or associated with those objects. Modifying a data record to update an attribute associated with an object can be used to produce an immediate change in the graphical map itself. At the same time being able to view, display, and edit the record associated with an object provides an easy mechanism by which a map editor can change object attributes. In this way the map can be viewed in a more useable manner, and can be easily and quickly updated to reflect changes in the underlying objects.
Typical UsageGenerally described, the invention can be used to provide a means such as a viewer or editor application by which an operator can view, verify, and edit electronic or digital map data, and particularly view map object or object-related information within the map. A computer is used to allow the operator perform this task, by providing a mechanism by which maps can be retrieved into the memory of the computer and on which the map viewer or map editor software application runs. A primary purpose of the viewer/editor provided by the invention is to allow operators to maintain the accuracy of map data, for example by updating the maps to reflect changes to the underlining geography.
However, the invention can also be used in everyday usage, for example as integrated into portable or handheld electronic devices, or in navigation devices, where the operator wishes to access map data on a detailed level which is not possible using existing means. The invention works by identifying map items within an electronic or digital map when the map is retrieved into the computer. As used herein the term “map item” or “item” is used to refer to any item displayed on a map, or any item included within a map but not currently displayed. For example, some items may only be items of information, in which case they are more properly thought of as map item information. Once these map items have been identified, they can be stored in the memory of a computer or other electronic device in the form of software objects. Each map item, now represented as an object, may include a number of associated parameters, typically arranged as field/value pairs. In addition, each map item may include links to one or more other map items. In the object oriented programming (OOP) world, this linking is typically done by the use of pointers. Pointers are used to link related objects together. Because the map items are linked in such a manner, once a first map item is identified or selected, for example by the actions of an operator or by some other means, then the pointers can be followed to other map items linked to that first map item, and so on. In this way, the operator can traverse a link of map items. In addition, the invention provides a means by which the attributes representing the map item are displayed in a textual manner. For example, the invention in some embodiments may include a text window wherein the fields of the text window correspond to the object attributes. Grouped together the fields comprise a “record”. Each map item or item of information can be represented by an object in memory; while each object in memory includes a number of attributes. The attributes can be displayed in a text window. The text window defines textually the record associated with the map item. Displaying the fields in a textual manner allows the operator to quickly identify a particular map item. In addition, fields that contain links to other map items can be represented in a highly visible or identifiable manner, for example by prefacing the field with a special character or icon, such as an asterisk (“*”), by using a different color, or by providing some other graphical notation. Clicking on one of these fields, and following the links therein, allows the operator to retrieve information from the object linked by the underlying pointer, and hence about the map item associated with that linked object. In this way, the operator can quickly navigate through a set of related map items from the text window. Being able to navigate through a set of linked objects, corresponding to map items within the digital map, either from a graphical window or from a text window allows the operator to quickly and easily navigate to a particular map item or item of information.
In addition to providing a mechanism for quickly selecting and updating visible map items, the invention can be used to view and/or update other information on the map that is not typically or easily accessible. Because the system allows for accessing map items that are linked to other map items, the operator can navigate through the links to select map items that are otherwise not visible in the graphical view. For example, some map items such as roads may have specific closing times or other attributes that, while very useful, would not normally appear as a displayed item on a map. These hidden features and items are used in some applications, for example in determining navigation paths, but because they are hidden they are difficult to locate, let alone debug. Using the invention, the operator can quickly navigate to such attributes and view or modify them. When operating in this manner, the graphical view may not visibly change to the operator's view. In other embodiments a visual notification that the operator is modifying an otherwise unseen attribute may be provided. In this way the invention can be used to provide a mechanism for viewing and understanding the connectivity between information associated with map items, rather than with the map items themselves. Traditional methods do not allow an operator to readily see which entities are related to other entities through a common information.
A text view window 210 is displayed, typically in the operators screen although in some instances could be displayed on a remote screen. The text view displays a record associated with a particular map item. For each map item there is at least one corresponding record. When both the graphical view and the text view are displayed, the operator can, as an initial step, select any item that is visible within the graphical view, in this instance street A, and allow the system to display the attributes and fields (i.e., the record) associated with that map item in the text view window. Selecting a new item automatically causes the text view to change 240 to that new item. The text view window displays fields (242-252) that are associated with the map item. For example, as shown in
This ensures that the invention can be used with all map formats both current, and yet to be developed. For example, in the example shown in
As shown in
One example of this map item information may be map item information that relates a street to special street closing times. For example, during rush hour some streets may be designated as one way streets. This information is typically difficult to show on a map, and as such is similarly difficult to update or debug. Using the invention, the special street closing information can be associated with the visible street map item. When an operator selects the street map item the appropriate map item information record is displayed in the text view, as will the information that pertains to street closing. Often this information will be represented not as discrete fields but as links to a street closing information record. Selecting that item from the text view allows the operator to traverse to the relevant information, and to view, update, or debug it.
Semantic Network UnderstandingThe system makes use of this understanding to create relationships between actual map items, as shown by way of example in
Relationships can also be created linking map items of the same type (for example linking one street item to another street item, or one building item to another building item). In the example shown in
As shown in
As shown in
The Prev button is used to traverse between map items of the same type. When the operator clicks on the Prev button, the semantic network and the underlying map data is examined to determine the previous map item from the current map item. That (previous) map item is then selected for view in the text window, and depending on the implementation, the graphical window redrawn to highlight the newly selected map item. Although this may appear to the operator as a “back” function commonly found in a browser, the Prev operation performs more than a mere reversal of past steps or selections. When the Prev operation is selected, the system checks the semantic network, and the map being examined, to determine which is the previous map item of the same type. In many instances this may be the map item of the same type having, for example the next lower ID than the currently selected item. In other instances, the previous map item may alphabetically precede the current one. Other sorting means will be evident to those skilled in the art. The invention is designed to work with any underlying map item sorting used in the underlying map format. For example, in some embodiments that use a GDF map format, the Prev button can be used to display the record immediately above the current record in the GDF file.
The Next button is also used to traverse between map items of the same type. Similarly to the Prev button described above, when the operator clicks on the Next button, the semantic network and the underlying map data is examined to determine the next map item from the current map item. That (next) map item is then selected for view in the text window, and depending on the implementation, the graphical window redrawn to highlight the newly selected map item. When the Next operation is selected, the system checks the semantic network, and the map being examined, to determine which is the next map item of the same type. This may be the map item of the same type having, for example the next higher ID than the currently selected item, or the map item alphabetically succeeding the current one. For example, in some embodiments that use a GDF map format, the Next button can be used to display the record immediately below the current record in the GDF file.
The Back button is used primarily to traverse between map items of a different type, which provides a powerful mechanism for the operator to quickly traverse the semantic network to view, retrieve, or edit map items that differ in type from the currently selected map item, but are related in some way through the semantic network. The “Back” button effectively moves the point of investigation to the “cousin” record that precedes the current record. When the operator clicks on the Back button, the semantic network is examined to determine the cousin map item previous to the current map item, and which is related to the current item by a semantic relationship or a link. The cousin map item is then selected for view in the text window, and depending on the implementation, the graphical window redrawn to highlight the newly selected map item. This feature allows the operator to step backward between map items of different types, traversing the links between each item as they go. (Traversing forward between map items of different type is performed by the operator explicitly selecting linked fields from the text view, or linked items from the graphical view, as previously described above). In this sense the Back feature is not merely a random back operation that depends on a sorting criterion (like the Next-Previous button pair), but instead allows the operator to step back based on an internal stack of cousins that is created as the operator follows the linked or “*” fields of a record. So, for example, if the operator examines a junction between two streets (i.e. a street corner), and from that record uses an “*” link to traverse to one of the streets which participate in this street corner, and from that street to a park adjoining the street, then the park will currently be the selected map item. A click of the Back button allows the operator to return to the street. Another click of the Back button allows the operator to return to the street corner.
Field Based NavigationWhile not shown in
Once the graphical interface is running, the operator typically instructs the computer to display a digital map or some other variant of the digital data. Usually this is done as part of a map-viewing application (i.e., a “map viewer”). The invention can be used either as part of its own map viewing software, or can be incorporated as a component into other map viewing and cartographic applications. With the map now displayed on the screen in a graphical window the operator can also open a text view window which will be used in parallel with the graphical window to represent map item information. In other embodiments, the text view window opens automatically as needed. In step 382, the system allows the user or operator to select a map object from the graphical view presented on the display. Typically this is done by means of a cursor or other pointer device, wherein the operator simply points to and clicks on a map item in order to select it. In other implementations, the operator may be allowed to select a range of map items, for example by drawing a square around a number of map items or sequentially clicking on a plurality of items. When a number of map items are selected, the “previous”, “next”, and “back” buttons of
In step 384, once either one or more map items are selected, the process interprets the underlining software object associated with each map item. As described above, each map item is typically associated with a software object. Each software object in turn has records and pointers associated with it that provide item information, and also provide a linkage between a first item and a second item. The selected object is parsed, i.e., the object that corresponds to the selected map item, to determine the record and fields associated with the selected map item, and the relationships between this item and other items. In step 386, once the item information has been parsed, the text view window is updated to display the record associated with the selected map item, relationships between this map items and other map items, and other items of information. This information is then displayed to the operator, and the operator is allowed to select further particular items of information that link to other items.
Graphical (Map) Based NavigationAs mentioned above, in some embodiments the operator can navigate between map objects either from the graphical view or from the text view. Particularly, the invention provides a means by which the operator can navigate map items from the graphics screen, while the text view is automatically updated in parallel.
Each map object or item is associated with a particular data record that describes the properties or attributes of that item. When both the graphical view and the text view are displayed (although in some instances the text view window can be hidden from view until needed), the operator can select any item that is visible within the graphical view. Selecting a new item automatically causes the text view to change to that new item, and to displays any fields that are associated with the map item. The graphical view can also be updated to highlight, focus, or otherwise identify the newly selected item currently under investigation.
The process is typical to that described above for field based navigation. Once either one or more map items are selected, the process interprets the underlining software object associated with each map item. As described above, each map item is typically associated with a software object. Each software object in turn has records and pointers associated with it that provide item information, and also provide a linkage between a first item and a second item. The newly selected object is parsed, i.e., the object that corresponds to the selected map item, to determine the record and fields associated with the selected map item, and the relationships between this item and other items. The graphical view is updated to highlight the newly selected item, and at the same time (i.e. in parallel) the text view window is displayed (or if already displayed then automatically updated) to display the record associated with the selected map item. The text view window also shows any relationships between this map items and other map items, and other items of information. The operator is then allowed to select further particular items of information that link to other items. Alternatively they can return to the graphical view and select a new map item using that method.
Search Based NavigationIn some embodiments, an additional means of navigation can be provided using a search mechanism. This means of navigation results in a parallel update to both the graphical and the text windows in response to a search criteria. A search dialog can be used to find, for example, a geographical location, a record number (such as street number #234 in the index), or a street name. Search constraints may also be used, for example by specifying any street with the letter “x” in the name, and that borders on a park. When such an item (or items) are found, the graphical window can be updated to show them, while the test window is similarly updated. If more than one item is found to match the search criteria, a mechanism can be provided to sequentially click through the list of found items.
System ImplementationThe system shown can be used to display to an operator 440 a graphical and text view of a map data such that the graphical and text views can be updated in parallel and also allow the operator to semantically traverse between map items and map item information. When a digital map is retrieved from external storage 406 (which in some instances may be the same storage as storage 420), the system may interpret it in a number of ways. When the map format is known, for example a GDF format 408 or some other ISO standard format, then the system may use a format definition file 414 incorporated within the logic of the system, that is then used to interpret the map format. For example, the definition file can be used by the system to interpret the hierarchy of objects within the map, and relationships between those objects. In other instances, for example when the map format is a proprietary format 412, hard coding 416 can be used within the logic of the system to interpret the underlining map format and convert it to a semantic linkage of objects in memory, which are then interpreted by the system and used to provide the parallel traversal mechanism. As mentioned above, an important feature of the system is its ability to work with an endless variety of present and future map formats. Because the system may manipulate different definition files, it can be customized to work with many formats simultaneously.
An optional step 474 allows the system to update the map view to display the new selected item locations, i.e., to alter the map or graphical view to focus on the selected item, or to display the newly selected item using, for example, a different color or highlight for the item.
Alternative EmbodimentsIn accordance with one embodiment of the invention, the map viewing feature can be integrated into, or used with, new or existing map viewer/editor applications. This section describes how the invention can be integrated into one example of a viewer application, and used therein to open a record dialog and show the text representations for each of the records displayed. It will be evident to one skilled in the art that embodiments of the invention can be used with other viewer applications and with other map formats than those illustrated below, and that the invention is not limited to the particular implementation shown and described hereunder. Particularly, while the Geographic Data File (GDF) map format (an industry standard map format) is used herein to assist in describing the features of the invention, other map formats may be used. The invention is flexible enough that it can be used with most map formats currently available today, and also with those yet to be developed.
Displaying Record DialogsGDF comes in three different record formats: ASCII Sequential (AS), which is part of the industry standard format; ASCII Relational (AR); and Informix Relational (IR). The latter two formats are not part of the current industry standard for GDF. Before we display the record dialogs, we'll put the map back into geometry mode. In this example the operator clicks the “GDF” menu and select “Mode”, then “Geometry”. To display the geometry records, we must first go to select mode. Open the “View” menu and select “Select”, “By Mouse Click”.
In selection mode, as illustrated in
From the screen shot shown in
The asterisked field names in the list refer to other records that correspond to those fields. For example, EDGE_ID 182 from the face record shown in
The Prev button (short for “previous”) displays the record immediately above the current record in the GDF file.
Next ButtonThe Next button moves to the record immediately after the current record.
Back ButtonAlthough not shown here, the Back button, when provided, moves to the “cousin” record that preceded the current record.
GDF Record Structure—Record CategoriesIn this example, the “GDF” menu has three mode selections: “Geometry”, “Simple” “Feature”, and “Complex Feature”. The GDF viewing mode directly corresponds to the three record categories:
Level 0—Geometry: shows the shape, length, layout, and location of geometric objects including: knots; edges; and faces.
Level 1—Simple Features: interprets the geometric objects into map features. In other words, the simple features specify how the points, lines, and areas represent real world objects. For example: a point can be a street intersection or landmark. Similarly, a line represents different types of road elements such as freeways and residential streets. Simple features include: point features; line features; and area features.
Level 2—Complex Features: combines one or more simple features to create a single larger feature.
Coordinate RecordsThe most basic component is the coordinate record. It specifies the exact geographical location of any geometric entity as well as internal shape points and includes the following fields:
- REC_DESCR: All coordinate [XYZREC] records are type 23.
- XYZ_ID: The unique ID of this record within this record section.
- G_TYPE: Geometry Type Code (typically blank).
- Q_PLAN: Quality Code (typically blank).
- DESC_ID: Source Description Identifier: the ID number of the source document where the information of this record has been derived (typically blank).
- NUM_COORD: The field counter that specifies how many times the next group of fields repeat.
- X_COORD: The longitude of a point.
- Y_COORD: The latitude of a point.
- Z_COORD: The elevation of a point.
Knot records, shown for example in
- REC_DESCR: All knot [KNOTREC] records are type 25.
- KNOT_ID: The unique ID number for this knot in this section.
- XYZ_ID: The record that provides the x, y, and z coordinates for this knot.
- FACE_ID: The ID number of the face containing this knot if it is not on an edge.
- STATUS: The type of knot this represents (1=section border node, only present for sectioning purposes, 2=normal node, 3=dataset border node, 4=end of stubble, and 5=section border node, present for reasons other than sectioning).
Edge records, shown for example in
- REC_DESCR: All edge [NEDGEREC] records are type 24.
- EDGE_ID: The unique ID number of this edge in this section.
- XYZ_ID: The ID number of the coordinate record that represents the coordinates of the intermediate shape point of this edge.
- FKNOT_ID: The record that describes the from knot.
- TKNOT_ID: The record that describes the to knot.
- FACE_ID: The record that describes the face on the left side of the edge.
- RFACE_ID: The record that describes the face on the right side of the edge.
- STATUS: The type of edge this represents (1=not applicable, 2=normal edge, 3=dataset border edge, 4=not applicable, and 5=non-section border edge).
Face records, shown for example in
- REC_DESCR: All face [FACEREC] records are type 29.
- FACE_ID: The unique ID number of this face within this section.
- NUM_EDGE: The number of edges that make up this face and the number of times the next two fields repeat.
- EDGE_ID: The edge records that border this face.
- ORIENT: This value determines whether the orientation of the edge's direction is clockwise (0) or counter-clockwise (1) relative to the face.
Point feature records, shown for example in
- REC_DESCR: All point [POFEREC] records are type 51.
- POINT_ID: The unique identifier for this record in this section.
- DESCR_ID: Source Description Identifier (always blank).
- FEAT_CODE: Feature Class Code: the code of the feature class to which the feature belongs.
- NUM_KNOT: The field counter that specifies how many times the next field repeats (always 1).
- KNOT_ID: Node Identifier: the ID number of the knot that contains the geometry information for this point.
- NUM_ATT: The field counter that specifies how many times the next field repeats.
- SATT_ID: Segmented Attribute Record Identifier: the ID number of a [DSATREC] record that contains attribute information for this feature.
Line feature records, shown for example in
- REC_DESCR: All line [LINFREC] records are type 52.
- LINE_ID: The unique ID number of the line in this section.
- DESC_ID: Source Description Identifier (always blank).
- FEAT_CODE: Feature Class Code: the code of the feature class to which the line belongs.
- SPLIT_IND: Feature Split Indicator: (0=whole feature; 1=partial feature).
- NUM_EDGE: Specifies how many times the next two fields repeat.
- EDGE_ID: The ID of an edge record that contains the geometry information for this line feature.
- POS_NEG: Indicates the direction of the line relative to the edge.
- NUM_ATT: Specifies how many times the next field repeats.
- SATT_ID: The ID of a [DSATREC] that contains an attribute for this feature.
- FROM_ID: The record ID of the first bordering point feature.
- TO_ID: The record ID of the second bordering point feature.
Area feature records, shown for example in
- REC_DESCR: All line [ARFEREC] records are type 53.
- AREA_ID: The unique ID number of the area in this section.
- DESC_ID: Source Description Identifier (always blank).
- FEAT_CODE: Feature Class Code: the code of the feature class to which this feature belongs.
- SPLIT_IND: Split Indicator: (0=whole feature; 1=partial feature).
- NUM_FACE: Specifies how many times the next field repeats.
- FACE_ID: The ID of a face that is a component of this area.
- NUM_ATT: Specifies how many times the next field repeats.
- SATT_ID: Segmented Attribute Record: the ID number of a [DSATREC] record that contains attribute information for this area feature.
Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art.
The present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.
Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing the present invention, as described above.
Included in the programming (software) of the general/specialized computer or microprocessor are software modules for implementing the teachings of the present invention, including, but not limited to capturing and annotating media streams, producing a timeline of significant note-taking events, linking still frames to points in or segments of a media stream, recognize any slide changes, production and distribution of meta data describing at least a part of a media stream, and communication of results according to the processes of the present invention.
As used herein, a given signal, event or value is “responsive” or “in response to” a predecessor signal, event or value if the predecessor signal, event or value influenced the given signal, event or value. If there is an intervening processing element, step or time period, the given signal, event or value can still be “responsive” to the predecessor signal, event or value. If the intervening processing element or step combines more than one signal, event or value, the signal output of the processing element or step is considered “responsive” to each of the signal, event or value inputs. If the given signal, event or value is the same as the predecessor signal, event or value, this is merely a degenerate case in which the given signal, event or value is still considered to be “responsive” to the predecessor signal, event or value. “Dependency” of a given signal, event or value upon another signal, event or value is defined similarly.
The present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art.
The foregoing description of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Particularly, it will be evident that the above described viewer and editor features can be incorporated into other types of software application beyond those described, and that a wide variety of map formats may be viewed and manipulated with the invention, in addition to the GDF format described herein. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.
Claims
1-17. (canceled)
18. A computer implemented method for associating text and graphical views of map information, comprising the steps of:
- displaying an image of a map, wherein the map comprises a plurality of map items displayed therein;
- displaying an interface that allows a user to select at least one of the map items displayed within the map as a user-selected map item;
- determining one or more relationships between the user-selected map item and at least one other map item;
- retrieving a set of information that corresponds to the user-selected map item; and
- displaying a textual representation of the set of information that corresponds to the user-selected map item, and that further comprises a visual indication of at least one of the relationships between the user-selected map item and the at least one other map item.
19. The computer implemented method of claim 18, wherein the step of displaying an image of a map further comprises displaying the map in a window, and wherein the step of displaying a textual representation of the set of information further comprises displaying the textual representation in a separate window.
20. The computer implemented method of claim 18, wherein the set of information that corresponds to the user-selected map item includes information not readily displayable on the image of the map.
21. The computer implemented method of claim 18, wherein the set of information that corresponds to the user-selected map item comprises clickable links to particular items of information within the set of information.
22. The computer implemented method of claim 21, wherein the method further comprises providing an editor utility that displays the clickable links and allows a user to modify the particular items of information associated with those links.
23. The computer implemented method of claim 22, wherein the editor utility further displays additional clickable links to the relationships between the user-selected map item and the at least one other map item.
24. The computer implemented method of claim 18, further comprising the steps of:
- displaying a second image of the map wherein the second image of the map comprises a plurality of map items displayed therein, and allowing the user to select at least one of the map items displayed within the map as a second user-selected map item;
- determining one or more relationships between the second user-selected map item and other map items;
- retrieving a set of information that corresponds to the second user-selected map item;
- displaying a textual representation of the set of information that corresponds to the second user-selected map item, and that further comprises a visual indication of at least one of the relationships between the second user-selected map item and the other map items; and
- allowing the user to repeat the process as desired for subsequent user-selected map items.
25. The computer implemented method of claim 24, wherein the step of displaying a second image of the map comprises displaying the second image of the map in a separate window from that used to originally display the image of the map.
26. The computer implemented method of claim 18, further comprising the step of graphically highlighting within the image of the map the at least one other map item to which the user-selected item is related.
27. The computer implemented method of claim 18, further comprising the step of graphically highlighting within the image of the map the user-selected map item.
28. The computer implemented method of claim 18, wherein the step of determining a relationship between a user-selected map item and at least one other map item further comprises determining whether said user-selected map item and said at least one other map item are related to at least one other map item in common.
29. The computer implemented method of claim 18, wherein the step of determining one or more relationships between the user-selected map item and at least one other map item further comprises establishing a relationship between the user-selected map item and the at least one other map item if each of the map items is determined to be of same item type.
30. The computer implemented method of claim 18, further comprising providing a search utility that allows the user to search for a desired map item, and if the user locates the desired map item using the search utility, then the further step of making the desired map item the user-selected item.
31. A computer implemented method for associating text and graphical views of map information, comprising the steps of:
- (a) displaying an image of a map, wherein the map comprises a plurality of map items displayed therein, and an interface that allows a user to select at least one of the map items displayed within the map as a user-selected map item;
- (b) determining one or more relationships between the user-selected map item and at least one other map item;
- (c) retrieving a set of information that corresponds to the user-selected map item;
- (d) displaying a textual representation of the set of information that corresponds to the user-selected map item, and that further comprises a visual indication of at least one of the relationships between the user-selected map item and the at least one other map item;
- (e) allowing the user to select a subsequent user-selected map item from the map or the textual representation;
- (f) displaying a new image of the map; and
- (g) retrieving a set of information that corresponds to the subsequent user-selected map item;
- (h) displaying a textual representation of the set of information that corresponds to the subsequent user-selected map item; and
- (i) allowing the user to repeat steps (e) through (h) as desired for subsequent user-selected map items.
Type: Application
Filed: Oct 30, 2007
Publication Date: Oct 2, 2008
Applicant: Tele Atlas North America, Inc. (Lebanon, NH)
Inventors: Gil Fuchs (Menlo Park, CA), Darrell Mathis (Hillsborough, CA)
Application Number: 11/929,314
International Classification: G01C 21/32 (20060101); G06F 3/048 (20060101);