Back to EveryPatent.com
United States Patent |
6,104,410
|
Wong
|
August 15, 2000
|
Method and apparatus for displaying stacked symbols to create a
multi-dimensional view
Abstract
The current invention provides both location and magnitude representations
in a geographic information system (GIS) environment. To indicate the
locations, symbols are plotted on a map. To indicate magnitude, repeated
symbols are stacked on top of each other. The higher the stack of symbols,
the bigger the magnitude. The number of symbols to be stacked will be
proportional to any scaling scheme. The position or coordinate of the
symbols to be stacked will be based on any mathematical function. The size
the symbols to be stacked will be based on any mathematical function. The
color of the symbols to be stacked will be based on any function
applicable to color. The shape of the symbols to be stacked will be based
on any function applicable to shape or object, or according to a look-up
table.
Inventors:
|
Wong; Shui-Ying (5562 Caithness Ct., Fairfax, VA 22032-3834)
|
Assignee:
|
Wong; Shui-Ying (Fairfax, VA)
|
Appl. No.:
|
784066 |
Filed:
|
January 17, 1997 |
Current U.S. Class: |
345/440 |
Intern'l Class: |
G06T 011/00 |
Field of Search: |
345/419,440,435
|
References Cited
U.S. Patent Documents
5228119 | Jul., 1993 | Mihalisin et al. | 345/418.
|
5461708 | Oct., 1995 | Kahn | 345/440.
|
5491779 | Feb., 1996 | Bezjian | 345/440.
|
5509112 | Apr., 1996 | Doi et al. | 345/440.
|
5553209 | Sep., 1996 | Johnson et al. | 345/433.
|
5553211 | Sep., 1996 | Uotani | 345/435.
|
5623590 | Apr., 1997 | Becker et al. | 345/440.
|
Other References
Tufte, Edward R., The Visual Display of Quantitative Information, p. 119,
1983.
|
Primary Examiner: Zimmerman; Mark K.
Assistant Examiner: Lee; Albert K.
Attorney, Agent or Firm: Kaufman; Marc S.
Claims
I claim:
1. A method for creating a multi-dimensional visual representation of
underlying information comprising the steps of:
reading geographic information;
reading source information to be plotted in relation to the geographic
information;
sorting the source information in accordance with geographic coordinates of
the geographic information;
displaying plural stacks of symbols in accordance with respective
geographic coordinates, the number of symbols in each stack being
indicative of the quantity of the source information associated with each
set of geographic coordinates, the stacks comprising the symbols arranged
in accordance with a predetermined mathematical stacking function.
2. A method as recited in claim 1, further comprising the step of inputting
symbol information related to the symbols displayed in said displaying
step.
3. A method as recited in claim 2, wherein the symbol information in said
inputting step comprises at least one of information relating to a symbol
style, information relating to a symbol size, information relating to a
symbol color, and information relating to a value of the quantity of the
source information represented by each symbol.
4. A method as recited in claim 3, wherein said step of reading geographic
information comprises opening a file containing a lookup table of
geographic coordinates in a standard GIS format, said step of reading
source information comprises opening a file containing records of the
source information, said step of inputting comprises displaying a dialog
box for a user to enter the symbol information, and said step of sorting
comprises creating a mapable table having columns corresponding to the
geographic coordinates and the source information.
5. A method as recited in claim 4, wherein said step of displaying,
comprises generating plural symbols in accordance with the symbol
information, arranging the symbols into the plural stacks in accordance
with the stacking function and the mapable table, and displaying the
plural stacks.
6. A method as recited in claim 1, wherein the stacking function is linear.
7. A method as recited in claim 1, wherein the stacking function is
non-linear.
8. An apparatus for creating a multi-dimensional visual representation of
underlying information comprising:
means for reading geographic information;
means for reading source information to be plotted in relation to the
geographic information;
means for sorting the source information in accordance with geographic
coordinates of the geographic information;
means for displaying plural stacks of symbols in accordance with respective
geographic coordinates, the number of symbols in each stack being
indicative of the quantity of the source information associated with each
set of geographic coordinates, the stacks comprising the symbols arranged
in accordance with a predetermined mathematical stacking function.
9. An apparatus as recited in claim 8, further comprising means for
inputting symbol information related to the symbols.
10. An apparatus as recited in claim 9, wherein the symbol information
comprises at least one of information relating to a symbol style,
information relating to a symbol size, information relating to a symbol
color, and information relating to a value of the quantity of the source
information represented by each symbol.
11. An apparatus as recited in claim 10, wherein said means for reading
geographic information comprises means for opening a file containing a
lookup table of geographic coordinates in a standard GIS format, means for
reading source information comprises means for opening a file containing
records of the source information, said means for inputting comprises
means for displaying a dialog box for a user to enter the symbol
information, and said means for sorting comprises means for creating a
mapable table having columns corresponding to the geographic coordinates
and the source information.
12. An apparatus as recited in claim 11, wherein said means for displaying,
comprises means for generating plural symbols in accordance with the
symbol information, means for arranging the symbols into the plural stacks
in accordance with the stacking function and the mapable table, and means
for displaying the plural stacks in a visible form.
13. An apparatus as recited in claim 8, wherein the stacking function is
linear.
14. An apparatus as recited in claim 8, wherein the stacking function is
non-linear.
15. A multi-dimensional display representation of underlying geographic and
source information in which the source information indicates quantities
related to geographic coordinates of the geographic information, said
display comprising:
a map representing the geographical information;
plural stacks of symbols positioned in accordance with respective
geographic coordinates of the map, the number of symbols in each of said
stacks being indicative of the quantity of the source information
associated with each set of geographic coordinates, said stacks comprising
said symbols arranged in accordance with a predetermined mathematical
stacking function.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to the field of data presentation and computer
graphics. More specifically the invention relates to the stacking or
arrangement of symbols on top of one another, creating a multi-dimensional
visual impression in a geographic information system (GIS) environment. As
a result, the invention provides the location and magnitude indications of
data in a geographic information system (GIS) environment.
2. Description of the Related Art
In the present geographic information system environment, it is common
practice to use different size of symbols to represent intensity or
frequency of occurrence. For example, on a map of the United States, to
indicate the location of major cities, one usually draws a dot on the map
where each city is located. To indicate the population size of each city,
one approach is to vary the size of the dot. That is, cities with higher
populations will be represented by bigger dots. The advantage of this
approach is that a viewer has direct impression of the relative size as
well as the location of major cities. The disadvantage is that the dot
size of some cities (such as New York) are so big compared to the others
(such as Washington D.C.) that they may block other details (such as
roads, states lines) on the map. Another approach is to use different
colors (or symbols) to indicate different population sizes. The advantages
is that it will not block other details on the map, because all cities
have the same size of symbols. The disadvantage is that a viewer has to
look at the legend to find out what color or what symbol representing what
population sizes. Therefore this approach does not give the viewer a
direct impression of the size and location. A variation of this approach
is to use darker colors to represent higher populations. The is fine if
there are only a few categories. If there are many categories, it will be
difficult to distinguish which colors are darker. Another approach is to
use a vertical or horizontal bar. The bar can be placed on the map where
the city is located, to indicate location. The height or width of the bar
is proportional to the city's population size, to indicate magnitude. By
looking at the location and height (for vertical bar) or width (horizontal
bar) of the bar, one can get an both location and magnitude impression. In
this approach, although one can choose any color or size of the bar,
however, one is limited to the single shape and form (that is, limited to
the shape and form of a bar only).
The current invention is to provide another approach to both location and
magnitude representations. To indicate the locations of major cities, as
mentioned in the above example, each city will be represented by a symbol
on the map. To indicate different population size of each city, repeated
symbols will be stacked on top of each other. The higher the stack of
symbols, the higher the population. One can choose any style, color or
size of symbols. One can stack or arrange the symbols according to any
mathematical functions.
SUMMARY OF THE INVENTION
The current invention provides both location and magnitude representations.
To indicate the locations of major cities, for instance, each city will be
represented by a symbol on the map. To indicate different population size
of each city, repeated symbols will be stacked on top of each other. The
higher the stack of symbols, the higher the population.
The number of the symbols to be stacked will be proportional to any scaling
scheme. For instance, if one symbol represents 100,000 persons, a city
with population between 500,001 and 600,000 will have 6 symbols stacked on
top of one another, while a city with 100,000 or less will have a single
symbol.
The way the symbols to be stacked will be as follows:
The position or coordinate of the symbols to be stacked will be based on
any mathematical function. That is, the coordinate of the first or base
symbol will be of certain initial value. The coordinate of the second,
third, . . . symbol will be based on any mathematical function.
The size of the symbols to be stacked will be based on any mathematical
function. That is, the size of the first or base symbol will be of certain
initial value. The size of the second, third, . . . symbol will be based
on any mathematical function.
The color of the symbols to be stacked will be based on any function
applicable to color. That is, the color of the first or base symbol will
be of certain initial value. The color of the second, third, . . . symbol
will be based on any function applicable to color.
The shape of the symbols to be stacked will be based on any function
applicable to shape or object, or according to a look-up table. That is,
the shape of the first or base symbol will be of certain initial value.
The shape of the second, third, . . . symbol will be based on any function
applicable to shape or object. The symbol can be of any shape.
Furthermore, the symbol can be two- or three-dimension.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a map of United States showing the locations of major cities. The
location of each city is represented by a symbol on the map.
FIG. 2 is a map of United States showing the locations of major cities with
different population sizes. Cities with higher populations are represented
by a bigger circle on the map.
FIG. 3 is a map of United States showing the locations of major cities with
different population sizes. Cities with higher populations are represented
by higher vertical bars.
FIG. 4 is a an example of stacking of symbols to create multi-dimensional
view. It consists of a map of United States showing the locations of major
cities with different population sizes. Cities with higher populations
have higher stack of symbols.
FIGS. 5A to 5G are similar to FIG. 4, except that different symbols and
stacking functions are used to plot the symbols to represent population
sizes.
FIG. 6 is a table showing the number of accidents occurred in some
intersections in San Francisco.
FIG. 7 is a map of San Francisco showing the locations of where accidents
occurred and the relative number of accidents at each location. Locations
with higher accidents have higher stack of symbols.
FIGS. 8A to 8D are similar to FIG. 7, except different symbol is used to
plot the accidents and different zooming levels (or scales) of the map are
shown.
FIG. 9 is a flow chart showing how the symbols are stacked to create
multi-dimensional view.
FIGS. 10A-10Y are a listing of source code for implementation in a
geographic information system (GIS) software.
DETAILED DESCRIPTION OF THE INVENTION
In order to understand the invention, a typical way of displaying location
and magnitude of data will be first described. To indicate the locations
of major cities in a map, say of the United States, each city will be
represented by a dot on the map, as shown in FIG. 1. To indicate the
population size of each city, one approach is to vary the size of the dot.
That is, cities with higher populations will be represented by bigger
dots, as shown in FIG. 2. Another approach is to use different heights of
bars to indicate different population sizes, as shown in FIG. 3.
The invention is as follows. To indicate the locations of major cities in a
map, say of the United States, each city will also be represented by a
symbol on the map. To indicate different population size of each city,
however, repeated symbols will be stacked on top of each other. The higher
the stack of symbols, the higher the population, as shown in FIG. 4. The
invention allows people to choose different symbols and different ways of
stacking the symbols, as shown in FIGS. 5A to 5G. The invention can
display any data. FIG. 6 shows the number of accidents occurred in some
intersections in San Francisco. FIG. 7 shows how the location and number
of accidents can be displayed on a map. In FIG. 7, if there is an accident
occurred in an intersection, a symbol will be plotted on that intersection
in the street map. Some intersections will have more accidents than the
others. This phenomenon is also represented by FIG. 7--the higher the
stack of symbols, the more the accidents occurring at that location. FIGS.
8A to 8D show different symbols and zoom levels of FIG. 7.
FIG. 9 shows how the symbols are stacked to create multi-dimensional view
in a geographic information system (GIS) software. In step 1, the GIS
software opens the street map files for displaying the street map. In step
2, the GIS software opens a file containing a look-up table of
intersection name and the coordinates of each intersection. Name this
table INTERSEC. In step 3, the GIS software opens the table or file
containing all records that need to be plotted on the street map. Name
this table as SOURCE. This table or file is usually resulted from sorting
through a raw file with records meeting user defined criteria. Step 4 is a
mechanism of getting user's input regarding style, size, and color of each
symbol; the number of data item per symbol; and the minimum number of data
item to be plotted. This is usually in the form of a dialog box where the
user can pick or fill in the blank for such information. These information
are then stored in variables SYMBOL.sub.-- STYLE, SYMBOL.sub.-- SIZE,
SYMBOL.sub.-- COLOR, NO.sub.-- PER.sub.-- SYMBOL and PLOTMIN respectively.
In step 5, a table with two columns, INTERSECTION and NO.sub.-- OF.sub.--
DATA.sub.-- ITEM, is created. Name this table as PLOT.sub.-- TAB. Make
this table mappable, that is, this table will contain mappable objects. In
step 6, sort the records in table SOURCE according to intersection name.
Then count the number of occurrence for each intersection. For each record
of table SOURCE, put the intersection name and its occurrence respectively
into columns INTERSECTION and NO.sub.-- OF.sub.-- DATA.sub.-- ITEM of each
record of table PLOT-TAB. That is, if intersection AAA occurred in table
SOURCE 5 times, table PLOT.sub.-- TAB will have 5 records. Each of these 5
records will have an "AAA" under the INTERSECTION column and a "5" under
the NO.sub.-- OF.sub.-- DATA.sub.-- ITEM column. In step 7, fetch the
first record from table PLOT.sub.-- TAB. Step 8 checks if column NO.sub.--
OF.sub.-- DATA.sub.-- ITEM greater than or equal to PLOTMIN. If no,
meaning no need to plot the data, then go to the next record. If yes, then
go to step 9. In step 9, get the intersection name from INTERSECTION
column of current record, then search table INTERSEC to find a matching
intersection name. If a match is found, in step 10, then get the
intersection's x and y coordinates from table INTERSEC, in step 11. In
step 12, define PLOTNUM as an integer function of PLOTMIN divided by
NO.sub.-- PER.sub.-- SYMBOL. PLOTNUM is the number of stacked symbols to
be plotted. In step 13, check if NO.sub.-- OF.sub.-- DATA.sub.-- ITEM
modulus NO.sub.-- PER.sub.-- SYMBOL greater than 0. If yes, then PLOTNUM
equals PLOTNUM+1, in step 14. If no, skip step 14. In step 15, for I
equals 1 to PLOTNUM, repeat steps 16, 17 and 18. Step 16 is to save the
coordinate in variable COORDINATE. The coordinate can be any function of x
and y, where x and y are obtained from table INTERSEC in step 11. In step
17, create an object which has the attributes as defined by the following
variables: SYMBOL.sub.-- STYLE, SYMBOL.sub.-- SIZE, SYMBOL.sub.-- COLOR,
and COORDINATE. In step 18, insert the object into table PLOT.sub.-- TAB.
In step 19, fetch next record from table PLOT.sub.-- TAB. In step 20,
check if table PLOT.sub.-- TAB has reached the end of file. If no, go to
step 8. If yes, plot or map from table PLOT.sub.-- TAB.
In step 6, If table SOURCE has already contain the name of intersection and
the number of occurrence per intersection, then we do not need to sort
table SOURCE. We simply put the intersection name and its occurrence
respectively into columns INTERSECTION and NO.sub.-- OF.sub.-- DATA.sub.--
ITEM of each record of table PLOT-TAB. That is, if intersection AAA
occurred in table SOURCE 5 times, table PLOT.sub.-- TAB will have 5
records. Each of these 5 records will have an "AAA" under the INTERSECTION
column and a "5" under the NO.sub.-- OF.sub.-- DATA.sub.-- ITEM column.
We used street map as the geographic location reference and we used
intersection as the locational point to be plotted. One can use any map or
any geographic location reference. One can use any locational points to be
plotted.
FIGS. 10A-10Y are examples of the source code to be used in MapInfo.
MapInfo is a commercially available GIS software from MapInfo Corporation,
Troy, N.Y. The source code in FIGS. 10A-10Y are examples of how the
invention can be implemented in a commercial GIS product. Similar source
code can be adapted for use in any other commercial GIS product.
Top