Abstract:
A method for transforming spatial data includes displaying a first graphical representation that represents spatial data formatted in a first coordinate system and displaying a second graphical representation that represents spatial data formatted in a second coordinate system. The data represented by the first graphical representation is transformed into the second coordinate system in response to the first graphical representation being dragged and dropped onto the second graphical representation. In another aspect, a computer-readable medium contains instructions for controlling a computer system to perform a method of transforming spatial data.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     This invention relates generally to software capable of transforming spatial data, and more particularly to transforming spatial data in connection with the production of maps.  
         [0002]     A geographic information system (GIS) generally refers to a digital representation of geographically referenced information structured to support spatial analysis. While having many purposes, GIS data files have been found to be particularly useful in electronic map production. GIS data are formatted into a set of parameters that define how the data are displayed or interpreted as a map. These parameters, which typically include projection (including various subfactors, such as parallels (meridians), spheroid and zones, depending on the projection), position on screen, scale, units and angle of rotation, are collectively referred to as a “co-ordinate system.” A co-ordinate system can contain all or part of this set of parameters.  
         [0003]     A projection is a vital part of displaying geographic data. “Projection” is a cartographic term for a mechanism (typically a mathematical algorithm) of portraying the spherical surface of the earth, or a portion thereof, on a flat surface. In displaying the earth on a flat surface some distortions of conformality, distance, direction, scale and area always result from the process; no projection is perfect. Different projections allow mapmakers to balance these various distortions, favoring one truth over another as best suited for a particular application. Every projection has advantages and disadvantages; for instance, some are better for depicting small areas while others are better for depicting large areas. There are hundreds of different projections in use today, each with its own unique formula and set of distortions.  
         [0004]     As used herein, a transformation of spatial data refers to a change in some or all of the parameters defining the co-ordinate system in which the data is formatted. As such, a spatial data transformation is the conversion from one co-ordinate system to another. Mapmaking often requires spatial data transformations to utilize data that are formatted in different coordinate systems. For example, a first data file may contain political boundary data for a geographic area and a second data file may contain road data for the same geographic area. Using data from both files could produce a map of the geographic area showing both political boundaries and roads. However, if the two data files had different projections, then it would be necessary to “re-project” one set of data so that the projections matched. Re-projection is the mathematical process of moving spatial data from one projection to another. This can be done but typically involves a complicated mathematical process. Automated systems for achieving spatial data transformations are available but require the user to open a dialogue box and provide detailed input. Current software mechanisms that allow users to transform spatial data generally work by either providing a list of predefined projections for users to choose from, an interface to define all aspects of the projection, or a combination of the two. In all cases, however, this is a menu-driven process and requires deep knowledge and complex decision-making. This process is very time consuming and so difficult to use that users generally require special training to use it. The process must be repeated every time the user wishes to view the data in a different projection.  
         [0005]     Accordingly, it would be desirable to have software that is capable of transforming spatial data in a more efficient and accurate manner, whether for cartographic or other purposes.  
       SUMMARY OF THE INVENTION  
       [0006]     The above-mentioned need is met by the present invention, which provides, in one aspect, a method for transforming spatial data that includes displaying a first graphical representation that represents spatial data formatted in a first coordinate system and displaying a second graphical representation that represents spatial data formatted in a second coordinate system. The data represented by the first graphical representation is transformed into the second coordinate system in response to the first graphical representation being dragged and dropped onto the second graphical representation.  
         [0007]     In another aspect, the present invention provides a method of using a computer system having a display and a pointing device to transform spatial data. The method includes displaying a first data set icon representing a first map data set comprising spatial data formatted in a first coordinate system, and displaying a second data set icon representing a second map data set having spatial data formatted in a second coordinate system. Also displayed is a data layer icon representing a data layer that contains some or all of the data of the first map data set. The data of the data layer is transformed to the second coordinate system in response to the pointing device being used to drag and drop the data layer icon onto the second data set icon.  
         [0008]     In yet another aspect, the present invention provides a computer-readable medium containing instructions for controlling a computer system to perform the methods of transforming spatial data discussed above.  
         [0009]     The present invention and its advantages over the prior art will be more readily understood upon reading the following detailed description and the appended claims with reference to the accompanying drawings. 
     
    
     DESCRIPTION OF THE DRAWINGS  
       [0010]     The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the concluding part of the specification. The invention, however, may be best understood by reference to the following description taken in conjunction with the accompanying drawing figures in which:  
         [0011]      FIG. 1  is a block diagram of a computer system for implementing a software program for transforming spatial data.  
         [0012]      FIG. 2  shows a representation of a screen display from the above-mentioned software program.  
         [0013]      FIG. 3  shows a representation of the screen display after a spatial data transformation has been made.  
         [0014]      FIG. 4  shows a flow chart depicting a drag-and-drop transformation process. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0015]     The present invention relates to a software tool for transforming spatial data, such as for high quality map production or other types of applications. In one embodiment, the software includes a suite of plug-ins for vector graphics applications, such as Adobe Illustrator and Macromedia FreeHand, that enables a user to produce maps from geographic information systems (GIS) map data. The software can alternatively be embodied as a component of a standalone software application and need not necessarily result in high quality map production. One feature of the software is that users are able to import data, such as GIS data files, of varying coordinate systems for processing. When a GIS data file is imported, the software reads the file&#39;s coordinate system parameters, particularly the projection, so that these parameters are known for future processing. If the software does not recognize the projection, the user will be prompted to identify and enter the projection of the data file. The user will typically go to the data source to learn the projection when it is not known.  
         [0016]     The software allows users to create and edit “map data sets” that can be selectively displayed. A map data set comprises a set of spatial data formatted in a specific co-ordinate system and thus contains the necessary information to display the spatial data as a map image. Each map data set may contain one or more data layers. A data layer is essentially a subset of the spatial data in a data set, although all of the spatial data of a data set can be contained in a single data layer. Data layers can be viewed as a way of organizing and managing the data. Various types of data layers are available. Area layers contain data that define a two-dimensional section, such as a country, state or lake. Line layers contain data that define a line, such as a road or river. Text layers contain textual data. Point layers contain data that define a point location, such as a city. The software can also include non-map data sets and layers; i.e., sets and layers that have no geographic data but contain data relating to logos, photographs, etc. that may be used in a map. Map data sets are created automatically by the software when data are imported into the application. A user can also create a map data set by manually specifying the required parameters. Map data sets are fully editable.  
         [0017]     The software also provides for the display of certain graphical representations of data sets and/or data layers that collectively function as a user interface for managing map data sets and data layers. Namely, the graphical representations enable the transformation of spatial data from one co-ordinate system to another through a simple drag-and-drop technique that is described in more detail below. These graphical representations can comprise icons, text, images or any other displayed object for representing a data set or layer. In one embodiment, the graphical representations are displayed in an object palette or listing that also includes a variety of functions to create and edit map data sets.  
         [0018]     Referring now to the drawings wherein identical reference numerals denote the same elements throughout the various views,  FIG. 1  shows a block diagram of a computer system  10  that can be used to implement the software described above. The computer system  10  contains a processor  12  that communicates with other elements of the computer system  10  over a system bus  14 . A keyboard  16  allows a user to input information into the computer system  10 , and a display  18  allows the computer system  10  to output information to the user. A pointing device  20  is provided for moving the cursor or pointer on the display  18  and inputting information. The pointing device  20  is typically a mouse, but can also be a touch pad or a button device commonly used in laptop computers. A storage device  22  is used to store data and programs within the computer system  10 . A memory  24 , also attached to the system bus  14 , contains an operating system.  
         [0019]     With any implementation, the software described above can be loaded into the computer system  10  via a removable computer readable medium (such as a floppy disk, CD-ROM or the like) inserted into the appropriate drive of the computer system  10  and accessed from there. Alternatively, the software could be accessed from the removable computer readable medium inserted into the appropriate drive. The software could also be accessed via the Internet or another computer network. As used herein, the term “computer-readable medium” refers generally to any medium from which stored data can be read by a computer or similar unit. This includes not only removable media such as the aforementioned floppy disk and CD-ROM, but also non-removable media such as a hard disk or integrated circuit memory device. While one exemplary computer system has been described for purposes of illustration, it should be noted that the present invention is not limited to implementation on this particular system. One skilled in the art will recognize that many other systems are possible.  
         [0020]      FIGS. 2 and 3  show depictions of what is shown on the display  18  while the present software program is running, in accordance with one embodiment or instance of its use. The display  18  shows a display window  26  that includes an object palette  28 , an image display section  30  and a toolbar  32  that contains various tools for editing map images (the toolbar  32  is optional and is not necessarily present in all embodiments). As previously mentioned, the object palette  28  functions as a user interface for managing map data sets and data layers. To this end, the object palette  28  displays a series of data set icons  34  that represent specific map data sets. Each of the represented map data sets will have a corresponding co-ordinate system, which will likely be a different system for each map data set. In the illustrated example, there are four data set icons  34 , identified as Mercator, Robinson, USA Lat-Long and World Orthographic, respectively. The object palette  28  also displays data layer icons  36  that represent data layers. Each data layer icon  36  is shown as being associated with a corresponding data set icon  34 . This is accomplished in the illustrated example by positioning the data layer icon directly below the data set icon it is associated with. For example, in  FIG. 2 , the usa_area data layer icon is positioned under the USA Lat-Long data set icon and the world_area data layer icon is positioned under the World Orthographic data set icon. The object palette  28  further includes data set icons  38  and data layer icons  40  for non-map data sets and layers. As previously mentioned, these non-map data sets and layers contain data relating to logos, photographs, and other such non-geographic information or artwork that might appear on a map. It should be noted that while  FIGS. 2 and 3  show graphical representations in the form of icons accompanied by text descriptions, the present invention includes using any graphical representations of data sets and/or data layers, including icons alone, text alone or other types of graphical representations such as images and the like. Furthermore, the graphical representations need not necessarily be displayed in a palette.  
         [0021]     The image display section  30  displays map images corresponding to the map data sets that actually contain data. In the illustrated example, images corresponding to the USA Lat-Long and the World Orthographic map data sets are displayed in the image display section  30 .  
         [0022]     The present invention allows users to produce a spatial data transformation through a simple drag-and-drop step. To transform data, all a user needs to do is drag and drop the appropriate graphical representation corresponding to the selected data onto the graphical representation corresponding to the co-ordinate system that they would like to see the data in. In the illustrated embodiment, a user transforms the data in a given data layer by dragging and dropping the appropriate data layer icon onto the data set icon corresponding to the desired co-ordinate system. (The software can also be configured to transform data in response to a data set icon being dragged and dropped onto another data set icon.) The process is a simple matter of using the pointing device  20  to place the curser over the data layer icon of the layer to be transformed (within the object palette  28 ), holding down the appropriate mouse button (typically, but not necessarily, the left mouse button), and while keeping the appropriate mouse button depressed, dragging the mouse to the destination data set icon, and then releasing the appropriate mouse button. This results in an immediate transformation that can be instantly visualized on the display  18 . The user can repeat this process as often as desired, as well as move back and forth.  
         [0023]     For example, referring to the screen display of  FIG. 2 , suppose the user drags and drops the usa_area data layer icon  36  to the World Orthographic data set icon  34 . This would result in the data of the usa_area data layer being transformed from the USA Lat-Long co-ordinate system to the World Orthographic co-ordinate system. As shown in  FIG. 3 , the image corresponding to the usa_area data layer is automatically re-projected, moved and resized in the image display section  30  to fit the parameters of the destination co-ordinate system. This image is perfectly positioned with respect to the existing image of the data from the world_area data layer icon. Also, in the object palette  28 , the usa_area data layer icon is now positioned under the World Orthographic data set icon, along with the world_area data layer icon.  
         [0024]     Turning to  FIG. 4 , the manner in which the software performs the drag-and-drop transformation process is described. The process begins at block  40  when a user drags and drops the source data layer icon onto the destination data set icon as described above. Next, at block  42 , the software determines if the projection of the source data is known. In other words, is the source projection recognized or was it identified when the data was imported. If not, the user is asked to specify the source projection at block  44 . The software causes a dialogue box to pop up on the display  18  asking the user to enter the source projection. Once the user complies, the process moves to block  46 . If the software does know the source projection at block  42 , the process moves directly to block  46 .  
         [0025]     At block  46 , the software determines if the projection of the destination co-ordinate system is known. If not, the user is asked to specify the destination projection at block  48 . As before, the software causes a dialogue box to pop up on the display  18  asking the user to enter the destination projection. Once the user complies, the process moves to block  50 . If the software does know the destination projection at block  46 , the process moves directly to block  50 .  
         [0026]     At block  50 , the software determines if the source and destination projections are the same. If no, the process moves to block  52 . If yes, the process moves to block  54 . At block  52 , the data of the source data layer is re-projected to match the destination projection. The software performs the appropriate mathematical calculations on each data point to accomplish the re-projection. The mathematical calculations are generally known in the art and many are commercially available from various sources. At block  54 , the software creates an affine transformation matrix based on the position, scale and rotation of the destination co-ordinate system. Next, the software applies the affine transformation matrix to the data of the source data layer at block  56 , thereby transforming the source co-ordinate system parameters (other than projection, which has already been transformed) to match the destination co-ordinate system parameters. At block  58 , the software moves the source data layer icon to be displayed under the destination data set icon, thereby completing the transformation.  
         [0027]     While specific embodiments of the present invention have been described, it will be apparent to those skilled in the art that various modifications thereto can be made without departing from the spirit and scope of the invention as defined in the appended claims.