`
`[19]
`
`[11] Patent Number:
`
`5,966,135
`
`Roy et al.
`
`[45] Date of Patent:
`
`Oct. 12, 1999
`
`US005966135A
`
`[54] VECTOR-BASED GEOGRAPHIC DATA
`
`[75]
`
`II1V€Ht0fSI Gregory AIldI‘BW ROY; 05111311 Hamid
`Bux; Kevin Glen Robinson; Roderick
`Gaetall MUHF0, a110f Calgary» Canada
`
`[73] Assignee: Autodesk, Inc., San Rafael, Calif.
`
`[21] Appl. No.: 08/757,706
`[22]
`Filed:
`Oct. 30, 1996
`51
`I t. CL5 .................................................... .. G06F 15 00
`[5 ] $8 C]
`34 :33
`..............................................................
`.
`[ 2]
`.
`5/
`[58] Field of Search ................................... .. 345/433, 439,
`345/117> 118» 135» 340» 342
`C_ d
`R f
`lte
`e erences
`Us. PATENT DOCUMENTS
`N1I1’lL1I<'i Ct 61.
`........................ ..
`9/1996 De Lorme et al.
`................... .. 364/443
`OTHER PUBLICATIONS
`
`56
`
`]
`
`[
`
`5,559,707
`
`ARGU95, ARGUS US$55 Guide 3-0, The N6Xt G€f1€fati0Il
`in GIS; MUHTO Garrett
`IHI€U1ati0Ha1> May 1994; PP~
`176-180.
`SOFT95, Specification for the Simple Vector Format (SVF)
`V1.1, article, SoftSource, Bellingham, Washington, 1995,
`pp. 1-8.
`
`XERO95, Map Viewer Technical Details, Xerox Corpora-
`tion, Jun. 2, 1995, 3 pages.
`XERO95, Mapwriter (1) User Commands, Xerox Corpora-
`tjon Nov. 5, 1993, 4 pages.
`XERO95, About
`the Xerox PARC Map Viewer, Xerox
`Corporation, Jun. 1993, 1 page.
`.
`.
`Przmary Exammer—Phu K. Nguyen
`Attorney, Agent or Firm—Gates & Cooper
`57
`ABSTRACT
`
`]
`[
`The present invention discloses a method apparatus and
`~
`~
`’
`’
`article of manufacture for a computer implemented geo-
`graphic information System that enables Viewing a map
`picture that is generated from VeCt0r_baSed data‘ Map pie-
`tures can be generated with Vector-based data. Map pictures
`created with Vector-based data can be Viewed. Additionally,
`map pictures are comprised of map objects, such as states
`anti citietst. Mapf objects cart be chgsefn to ebtain addittonal
`in orma ion,
`or examp e,
`a
`i eren map pic ure.
`areas of the map picture can be zoomed in on
`to View the areas with greater resolution Or
`to Obtain
`additional data about the areas. Furthermore, when a user
`requests to View a map picture, only the map data required
`to respond to the user’s request is downloaded to generate a
`map picture. As a user makes additional
`requests for
`information, additional map data is downloaded and new
`map pictures generated.
`
`19 Claims, 5 Drawing Sheets
`
`I26
`
`W
`
`F
`
`DATA STORAGE DEVICEX
`722
`MAP WINDOW HLE—/
`
`MAP w//voow /NFOI-?MA770N STREAM
`
`MAP LAYER STORAGE
`
`MAP LAYER INFORMATION STREAM
`MAP LAYER ATTRIBUTE srr STORAGE
`
`MAP LAYER ATTRIBUTE SET
`INFORMATION STREAM
`MAP LAYER ATTRIBUTE
`
`STREAM
`LABEL AITRIBUTE
`STREAM
`
`\
`
`3”’
`
`320
`
`J22
`
`324
`326
`
`323
`
`530
`
`
`
`332
`334
`335
`350
`
`]
`MAP LAYER CGM STREAM
`| MAP OBJECT DEHNITION STREAM
`
`MAP SYMBOL STORAGE
`REPORTS STORAGE
`/
`
`ZOOM coro STORAGE
`ZOOM GOTO ADDRESS
`DEFINITION STREAM
`ZOOM GOTO LOCATION
`DEFINITION STREAM
`
`
`
`360
`
`J52
`
`.364
`
`POP-UP MENU STRB4M
`
`.370
`
`Page 1 of 19
`
`CORELOGIC EXHIBIT 1012
`
`
`
`U.S. Patent
`
`Oct. 12,1999
`
`Sheet 1 0f5
`
`5,966,135
`
`92
`
`
`
`min.1.5m.
`
`mu§.Em
`
`\SR
`
`mu§Em5«G
`
`MUSMQ
`
`Page 2 of 19
`
`
`
`
`U.S. Patent
`
`Oct. 12,1999
`
`Sheet 2 0f5
`
`5,966,135
`
`Fig. 2
`
`Page 3 of 19
`
`
`
`U.S. Patent
`
`Oct. 12,1999
`
`Sheet 3 0f5
`
`5,966,135
`
`726
`DATA STORAGE DEVICE *2
`
`722
`MAP WINDOW F/LE~—/
`
`MAP WINDOW /NFORMA 77ON STRE4M
`
`MAP LAYER STORAGE
`
`MAP LAYER INFORMATION STREAM
`
`MAP LAYER A7TR/BUTE SL7 STORAGE I
`MAP LAYER ATTR/BUTE SET
`I
`
`/NFORMA T/ON STRE4M
`
`MAP LAYER ATTRIBUTE
`
`STREAM
`
`LABEL A7TR/BUTE
`
`STREAM
`
`MAP LAYER CGM STREAM
`
`"
`
`MAP OBJECT DEF/N/T/ON STRE4M
`
`MAP SYMBOL STORAGE
`
`REPORTS STORAGE
`
`ZOOM GOTO STORAGE
`
`ZOOM GOTO ADDRESS
`
`DEF/N/T/ON STRL-34M
`
`ZOOM GOTO LOCA77ON
`
`DEF/N/T/ON STRE4M
`
`POP-UP MENU STRL-34M
`
`Fig. 3
`
`Page 4 of 19
`
`
`
`U.S. Patent
`
`Oct. 12,1999
`
`Sheet 4 0f5
`
`5,966,135
`
`D/SPLA Y
`
`
`
`500
`
`400
`
`MAP
`
`
`
`
`
`RECEIVE REQUEST TO
`
`CRE4 TE MAP PICTURE
`
`RECEIVE REQUEST FOR
`
`ADDITIONAL INFORMA 77ON
`
`RETRIEVE
`
`VECTOR DA TA
`
`502
`
` 04
`
`5
`
`GENERA TE
`
`MAP PICTURE
`
`
`
`506
`
`DISPLA Y
`
`MAP PICTURE
`
`Fig. 5
`
`402
`
`
`
`4
`
`CR54 TE MAP
`
`WINDOW FILE
`
`STORE MAP
`
`WINDOW F/LE
`
`
`
`Fig. 4
`
`Page 5 of 19
`
`
`
`U.S. Patent
`
`Oct. 12,1999
`
`Sheet 5 0f5
`
`5,966,135
`
`602
`
`WAIT FOR
`
`EVENT
`
`
`
`OBJECT
`
`DISPLA Y
`
`
`
`
`POINTED
`
`TO?
`
`/NFORMA 77ON
`
`77P
`
`
`
`
` CENERA TE NEW
`
`
`
`MAP PICTURE
`W/TH ADDITIONAL
`DA TA
`
`DISPLAY NEW
`MAP PICTURE
`
`
`
`OBJECT
`CHOSEN?
`
`
`
`GENERATE NEW
`
`MAP PICTURE
`
`W/TH ADDITIONAL
`
`DA TA
`
`Fig.
`
`6’
`
`Page 6 of 19
`
`
`
`1
`VECTOR-BASED GEOGRAPHIC DATA
`
`BACKGROUND OF THE INVENTION
`
`5,966,135
`
`2
`
`ciently viewing a map picture that is generated from vector-
`based map data retrieved over the Internet or Intranets. In
`accordance with the present invention, a user can define map
`pictures with Vector-based data. A user can also View map
`pictures defined with vector-based data. In particular, when
`a user requests to view a map picture, only the map data
`required to satisfy the request is downloaded. When a user
`requests additional
`information, additional map data is
`downloaded to satisfy the request. Moreover, map pictures
`are comprised of objects, such as states and cities. When the
`object includes a link to additional map data, a user can
`obtain additional information, for example, map data for a
`different map picture. In this case, additional information
`may be downloaded. Additionally, in accordance with the
`present invention, a user can zoom in on an area of the map
`picture to either view the area with greater resolution or
`obtain additional information about the area.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Referring now to the drawings in which like reference
`numbers represent corresponding parts throughout:
`FIG. 1 is a block diagram of an exemplary hardware
`environment of the preferred embodiment of the present
`invention;
`
`FIG. 2 is diagram illustrating an image that could be
`displayed on the monitor using vector-based geographical
`data;
`FIG. 3 illustrates the structure of a map window file.
`FIG. 4 is a flow diagram illustrating the general logic of
`the map author;
`FIG. 5 is a flow diagram illustrating the general logic of
`the map viewer after an initial map picture is displayed;
`FIG. 6 is a flow diagram illustrating the logic of the map
`viewer’s response to specific requests from the user.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`In the following description of the preferred embodiment,
`reference is made to the accompanying drawings which
`form a part hereof, and which is shown by way of illustration
`a specific embodiment
`in which the invention may be
`practiced. It is to be understood that other embodiments may
`be utilized as structural changes may be made without
`departing from the scope of the present invention.
`Overview
`
`invention comprises a vector-based geo-
`The present
`graphic information system that enables creating map win-
`dow files containing map definition information that defines
`a map picture, storing and transmitting map data, and
`viewing map pictures generated using the map data. In
`particular, the present invention includes one or more com-
`puter programs that include a map viewer for viewing map
`pictures, a map author for defining map pictures, and a map
`server for storing and transmitting map data over the Internet
`or over Intranets.
`
`A user (i.e., author) uses the map author to create map
`window files that contain map definition information. The
`map definition information identifies map layers. Each map
`layer identifies a grouping of map objects, which are graphi-
`cal entities. In particular, a map picture can have several map
`layers, each map layer providing additional information for
`the map picture. A map layer can either be static or dynamic.
`For a static map layer, map data is embedded in the map
`window file as a computer graphic metafile (CGM), and for
`a dynamic map layer,
`the location of the map data is
`
`1. Field of the Invention
`
`to computer imple-
`This invention relates in general
`mented geographic information systems, and in particular to
`a geographic information system using vector-based data.
`2. Description of Related Art
`Computer implemented geographic information systems
`are known in the art. However, these geographic information
`systems display map pictures that are generated using raster
`data. Raster data represents a map picture with points in a
`grid. For example, on an X-Y axis, there may be a thousand
`points in the X direction and seven hundred and sixty points
`in the Y direction. Each of these points represents a color.
`For example, some computer systems enable each point to
`represent one of eight colors. A map picture is then created
`by determining a color for each point in the grid.
`Each map picture is static in that portions of the map
`picture cannot change independently of each other. That is,
`a portion of a map picture cannot be modified while viewing
`the map picture. When a portion of the map picture is to be
`modified, the entire map picture is replaced. For example,
`each map picture, such as one representing the United States
`(US), may contain several layers of information, such as
`states, counties, and streets. When a user is viewing a map
`picture of the United States and wishes to view the counties
`in a particular state, the map picture is replaced with another
`map picture that contains the additional
`information.
`Typically, the additional information is stored at a server
`computer and the map picture is displayed at a client
`computer. When the map picture that is displayed is to be
`modified, the additional information is downloaded from the
`server computer. Because this additional information is in
`the form of raster data, it is typically time-consuming to
`download this information.
`
`Additionally, some computer systems display schematics
`generated from vector-based data in computer aided design
`(CAD) files. Vector-based data uses descriptions of elements
`of the schematic to create the schematic. For example, if the
`schematic contains a line segment, the CAD file describes
`the line segment with an endpoint and a length. Moreover,
`these computer systems enable users to View data in CAD
`files from the Internet and Intranets. For instance, when a
`user at a computer system wishes to view a schematic, the
`computer system downloads all of the data in the CAD file
`for that schematic from a data storage device via the
`Internet. The CAD file typically contains data corresponding
`to different
`levels of design of the schematic. In some
`instances, a user may wish to view only some of the data in
`the files, for example, the highest level of design of the
`schematic. In this case, although only a portion of data is
`required to display the schematic requested by the user, the
`computer system has already downloaded all of the data in
`the CAD file. Because it is time-consuming to download all
`of the data, it is inefficient to do so when only a portion of
`the data is required to satisfy a users request.
`
`SUMMARY OF THE INVENTION
`
`To overcome the limitations in the prior art described
`above, and to overcome other limitations that will become
`apparent upon reading and understanding the present
`specification,
`the present
`invention discloses a method,
`apparatus, and article of manufacture for a computer imple-
`mented geographic information system that enables effi-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Page 7 of 19
`
`
`
`5,966,135
`
`3
`identified in the map window file. For dynamic map layers,
`the map data for a map layer is stored in a spatial data format
`(SDF) file at one or more map servers. The map window file
`either includes a static map layer or a dynamic map layer
`that is used to generate an initial map picture. The initial map
`picture is displayed when a user requests to view the map
`picture.
`The map window file is stored on a Web server, and the
`map data that is identified by the map definition information
`is stored on one or more map servers. The map viewer is
`used by a user to view map pictures. In particular, when a
`user inputs a request to view a map picture, the map viewer
`downloads a map window file from a Web server. Then, the
`map viewer reads the map definition information in the map
`window file to identify the map layer identifying the map
`data needed to generate an initial map picture. When the map
`definition information identifies the location of map data, the
`map viewer downloads this map data from the specified map
`server to generate the map picture. The map viewer then
`displays the initial map picture on a computer display
`device. As the user makes requests for additional informa-
`tion for the map picture, the map viewer downloads addi-
`tional map data identified in the map window file from a map
`server.
`
`Until now, geographic information system use on the
`Internet has been limited to simple applications utilizing
`map pictures generated from raster data. The present inven-
`tion provides a net-based, client/server framework for real-
`time access to dynamic map pictures and associated map
`data through a Web browser interface suitable for a wide
`range of users, from geographic information system profes-
`sionals to casual computer users. In particular, the present
`invention enables corporate customers and developers who
`use the Internet and business Intranets to display and interact
`with vector-based map data for applications that include
`tracking customers, allocating resources, and managing
`facilities or infrastructure.
`
`The map data used to generate a map picture may be a
`combination of map objects and graphic objects. The map
`objects can have uniform resource locator (URL) links.
`When a map object having a URL link is chosen, the present
`invention jumps directly to data identified by the URL link,
`such as other map pictures, documents, images, and Web
`sites. An individual map object is chosen by pointing at the
`map object with a mouse pointer and double clicking the
`mouse button. The present invention also enables choosing
`multiple map objects through various techniques, such as
`choosing multiple objects from lists or using a spatial
`technique of enclosing multiple objects within a circle or
`polygon. Information related to the chosen map objects can
`be presented in reports.
`Furthermore, users can navigate through the map picture
`to View different areas of the map, for example, by zooming
`in on areas of interest. When zooming in on an area requires
`obtaining additional map data, the map viewer re ads the map
`window file to obtain the location of the additional map data.
`The map viewer downloads this additional map data and
`generates a new map picture with the additional data. Then,
`the map Viewer displays this new map picture.
`Hardware Environment
`
`FIG. 1 is a block diagram that illustrates an example of a
`hardware environment for the preferred embodiment of the
`present invention, and more particularly, illustrates a typical
`distributed computer system using the Internet and Intranets
`100 to connect client computers 110 executing, for example,
`a computer program embodying the present invention that
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`the client computers 110 to view map
`enables users at
`pictures, to map server computers 140 executing a computer
`program embodying the present invention that transmits
`vector-based map data to the client computers 110. Atypical
`combination of resources may include client computers 110
`that are personal computers or work stations connected via
`the Internet 100 to server computers 130, 140 that are
`personal computers, workstations, mini computers, or main-
`frames.
`
`Generally, the client computers 112 are comprised of one
`or more CPUs 112, various amounts of RAM storing com-
`puter programs 113, such as a Netscape Navigator 114, a
`map viewer 118 for viewing map pictures, a Web browser
`116 for accessing information over the Internet, and a map
`author 120, and other data and components typically found
`in computers. Generally, the server computers 130, 140 are
`comprised of one or more CPUs, various amounts of RAM
`storing computer programs, such as a Web server 130 for
`accessing information over the Internet and/or Intranets 100,
`a map server 140 for storing and transmitting vector-based
`map data, and a common gateway interface (CGI) program
`150, and other data, such as map data in a spatial data format
`(SDF) structure 160 and map data in a relational database
`management system (RDBMS) 162, and other components
`typically found in computers. In addition, the client com-
`puters 110 and the server computers 130, 140 may include
`one or more monitors, and fixed or removable data storage
`devices 126, 160, 162 such as hard disk drives, floppy disk
`drives, and/or CD-ROM drives. Also included may be input
`devices such as mouse pointing devices and keyboards.
`Both the client computers 110 and the server computers
`130, 140 operate under the control of an operating system,
`such as Windows, Macintosh, UNIX, etc. Furthermore, both
`the client computers 110 and server computers 130, 140 each
`execute one or more computer programs 113 under the
`control of their respective operating systems. The client
`computers 110 and the server computers 130, 140 interact
`via the Internet 100.
`
`the computer programs implementing the
`Generally,
`present invention are tangibly embodied in a computer-
`readable medium, e.g., one or more of the fixed and/or
`removable data storage devices 126, 160, 162 attached to the
`computers. For example, at
`the client computers, under
`control of the operating system, the computer programs 113
`may be loaded from the data storage devices 126 into the
`RAM of a computer for subsequent execution by the CPU
`112. The computer programs comprise instructions which,
`when run and executed by the computer, causes the com-
`puter to perform the steps necessary to execute the steps or
`elements of the present invention. Those skilled in the art
`will recognize that the exemplary environment illustrated in
`FIG. 1 is not intended to limit the present invention. Indeed,
`those skilled in the art will recognize that other alternative
`hardware environments may be used without departing from
`the scope of the present invention.
`The map server 140 works in conjunction with the map
`author 120 and the map Viewer 118. The map author 120 is
`used to create, modify, and electronically publish map
`window files (.mwf files) 122 that define map pictures. After
`a user creates map window files using the map author 120,
`the user uses the map author 120 to save the map window
`files 122, for example, at the Web server 130.
`The map viewer 118 enables a user at a client computer
`to view map pictures and their associated data. The map
`viewer 118 is currently embodied as a Netscape Navigator
`browser 114 plug-in. The Netscape Navigator browser 114
`
`Page 8 of 19
`
`
`
`5,966,135
`
`5
`
`interfaces with the Internet and Intranets through the Web
`browser 116. When a user attempts to open a map window
`file,
`the Netscape Navigator browser 114 automatically
`invokes the map viewer 118. The map Viewer downloads a
`map window file from the Web server 130 and stores the
`map window file in a data storage device 126. The map
`window file contains map definition information that iden-
`tifies map data and the map servers from which the map
`viewer is to obtain the map data to render and display the
`map picture. The map viewer 118 makes requests for map
`data from map servers 140 via a Web server 130 and a Web
`browser 116 using the communications infrastructure of the
`Internet and/or one or more Intranets 100.
`
`When the map viewer 118 requests map data from the
`map server 140, the map server retrieves the map data from
`either the SDF file storage 160 or from the relational
`database 162 through an open database connectivity
`(ODBC) connection 170. The map server returns the
`requested map data to the map viewer 118.
`Vector-Based Data
`
`FIG. 2 is a diagram illustrating an image that could be
`displayed on the monitor using vector-based geographical
`data. Objects 202, 204, and 206 are shown in two-
`dimensional space, represented by the X-Y plane 210. Those
`skilled in the art will recognize that the X-Y plane is shown
`in FIG. 2 for illustration only, and generally is not displayed
`on the monitor with the object. The objects 202, 204, and
`206 are represented by one or more primitive or coded
`entries stored in a buffer. For example, object 204 is iden-
`tified as a line with end coordinates (X1, Y1) and (X2, Y2)
`for the line. Object 206 is defined by a point and a radius.
`Other objects are comprised of other primitives, such as
`triangles, circles, arcs, or other objects.
`Map definition information defining map pictures using
`vector-based data is saved in map window files 122 on the
`Web server 130. The map viewer 118 uses the map window
`file 122 to identify the location of map data on map servers
`140 for use in generating the map pictures. This map data is
`communicated from the map server 140 to the map Viewer
`118 using the services of a Web server 130 and Web browser
`116. Following installation of the present invention,
`the
`Netscape Navigator browser 114 recognizes the map win-
`dow file 122 as a file that requires the Netscape Navigator
`browser 114 to automatically load the map Viewer plug-in
`118 to read the file. The map 118 viewer downloads the map
`window file 122 to the data storage device 126.
`FIG. 3 illustrates the structure of the map window file. In
`FIG. 3, the map window file 122 is stored on the data storage
`device 126. The map window file is a self-contained, por-
`table map definition. The map window file describes the map
`picture and contains the information required to generate
`and display the map picture. In particular, the map window
`file contains map definition information including a map
`window information stream 310, a map layer storage 320, a
`reports storage 350, a zoom goto storage 360, and a pop-up
`menu stream 370.
`
`The map window information stream 310 contains infor-
`mation that describes the map window, such as the map
`window name, color attributes, and line styles. The Map
`Window Information Stream Table in Appendix A provides
`a list of the information provided by the map window
`information stream 310.
`
`The map window file 122 can contain one or more map
`layer storages 320. Each map layer storage 320 contains
`information about a map layer,
`including a map layer
`information stream 322, a map layer attribute set storage
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`324, an optional map layer CGM stream 332, a map object
`definition stream 334, and a map symbol storage 336. The
`map layer information stream 322 describes the map layer
`by specifying information such as whether the map layer is
`static or dynamic. The map layer is static when the map data
`for the map layer is contained in the map window file 122,
`and the map layer is dynamic when a location identifier
`identifying the location of the map layer is contained in the
`map window file 122.
`Additionally, the map layer storage 320 can contain one
`or more map layer attribute set storages 324. The map layer
`attribute set storage 324 contains the attributes used to
`display the map objects making up the map layer at a
`particular scale. In particular, the map layer attribute set
`storage 324 contains a map layer attribute set information
`stream 326, one or more layer attribute streams 328, and one
`or more label attribute streams 330. The map layer attribute
`set
`information stream 326 contains information that
`
`describes the attributes contained in the map layer attribute
`set storage 324. The map layer attribute streams 328 contain
`information about particular attributes for each type of map
`object (e.g., marker, text, polyline, or polygon). The map
`label attribute streams 330 contains label attribute informa-
`
`tion for the following map objects: marker, polyline, or
`polygon.
`The map layer CGM stream 332 of the map layer storage
`320 contains a computer graphic metafile for the map layer.
`All static map layers are saved as computer graphic meta-
`files embedded within the map window file 122. The map
`object definition stream 334 of the map layer storage 320
`contains the definition of the map object upon which the map
`layer is based. The map symbol storage 336 of the map layer
`storage 320 contains one or more symbol definition streams
`that contain the definitions of symbols used in the map
`picture. The Map Layer Storage Table in Appendix B
`provides a detailed list of the information contained in the
`map layer storage 320.
`The reports storage 350 contains one or more report
`definition streams that contain the definitions of reports that
`can be generated using computer programs that can be
`purchased and stored at the Web server 130. The Report
`Definition Stream Table in Appendix C provides a detailed
`list of the information contained in the report definition
`stream. The zoom goto storage 360 provides the categories
`of areas to which a user can zoom using the zoom goto
`command. In particular, the zoom goto storage 360 contains
`one or more zoom goto address definition streams 362 that
`contain the definition of an address to which a user can zoom
`
`and one or more zoom goto location definition streams 364
`that contain the location to which a user can zoom. The
`
`Zoom Goto Storage Table in Appendix D provides a detailed
`list of the information contained in the zoom goto storage
`360. The popup menu stream 370 contains the definition of
`a popup menu that can be displayed over the map picture.
`The Popup Menu Stream Table provides in Appendix E
`provides a detailed list of the information contained in the
`popup menu stream 370.
`Updates to the map server can be updated with the
`distribution of one map window file. The map window file
`can be saved locally, or distributed to other hosts or users to
`be copied, modified, re-used and/or embedded within other
`web pages. The map window files identify map layer files.
`These map layer files are stand-alone map layer definitions
`that are portable and exportable. Moreover, map layer files
`enable users to build and maintain libraries of map layers
`that can be used internally to build map pictures quickly, or
`provided to business partners, vendors, or clients for use in
`authoring efforts.
`
`Page 9 of 19
`
`
`
`5,966,135
`
`7
`
`The Map Author
`The map author 120 is used to define, modify, and
`electronically publish map pictures. In particular, the map
`author 120 enables a user to create a map window file
`containing map definition information that identifies map
`data and the map servers from which this map data can be
`obtained by the map viewer. FIG. 4 is a flow diagram that
`illustrates the general logic of the map author 120. Block
`400 represents the receipt by the map author 120 of a request
`from a user of a computer to create or modify a map picture.
`Upon receipt of the user’s request,
`the map author 120
`enables a user to define a map picture having map objects,
`multiple layers, and other features, which are discussed
`below.
`
`The map author 120 allows for remote authoring. The
`map author 120 enables authoring map pictures over the
`Internet or over Intranets 100 for publishing from a map
`server 140 at a different location. For example, a business
`user who wants to use a geographic information system for
`the business on a daily basis, but who does not want to enter
`into the significant costs associated with maintaining an
`in-house geographic information system database, can have
`a vendor maintain the geographic information system.
`However, the user could use the map author 120 to retain full
`control over published map pictures, even though they are
`served from a remote map server 140 over the Internet or
`Intranets 100.
`
`In particular, Block 402 illustrates that a map window file
`is created that defines a map picture. When creating or
`modifying a map window file, the map author 120 enables
`the setting of map display properties as well as the setting of
`the level of interaction within a map, allowing the user of the
`map author 120 to see the map pictures as an end-user will,
`as they are being created. Additionally, with an interactive
`legend, the map layers defined in the map are available with
`control over data source definitions,
`thematic mapping
`settings, symbol, line style, and polygon flood/fill settings,
`as well as visibility by scale control and dynamic/static layer
`definition.
`
`The map author 120 also enables editing of published map
`properties, including extents, colors, menus (e.g., pop-up
`menus), zoom navigation capabilities, map picture width
`and scale, and map layer properties (e.g., visibility by scale
`and rendering attributes).
`Moreover,
`the map author 120 includes the following
`features: a view distance feature that enables setting the
`distance between any two points on the map picture,
`enabling multiple map objects to be chosen by map object
`list or spatial techniques (e.g., radius or polygon), map
`bookmarking, intelligent map caching, multiple attributes by
`scale per layer, multiple document interface (MDI) and
`multiple map editing, customized reports associated with
`map objects, TrueType font support, constant sized text, user
`defined symbols, constant sized symbols, and automatic
`labeling of features with over-posting resolution.
`The map author 120 also has an attributes by scale feature
`that allows the setting of multiple attributes for a specific
`layer based on the layer scale. By using the attributes by
`scale feature, the map author 120 provides a richer looking
`map picture that appears to change as the end-user zooms in
`to View greater levels of detail and that avoids redundant
`data retrieval from the server. The map author 120 allows
`control over map object labeling, including multiple settings
`to resolve over-posting problems at run-time.
`The map author 120 enables a user to define a map picture
`using map objects with attached URL links. The map
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`author’s 120 distributed mapping enables viewing map
`pictures that are being drawn and refreshed from more than
`one map data source. For example,
`the map author 120
`allows a user to create map pictures that have property
`boundaries from a municipal database over-laid on top of
`contours and elevations being served from a government
`agency database.
`The map author 120 enables a user to define a map layer
`by specifying the objects for that map layer and indicating
`that attributes, such as the color of the objects, are to be
`obtained from a specified database. When the map viewer
`reads this information in the map window file, the map
`viewer 118 obtains the attribute data via the map server 140.
`In particular, the map server 140 handles many types of
`attribute data by connecting directly to the attribute data in
`its native format when linking to any open database con-
`nectivity (ODBC) database which has an ODBC driver.
`Therefore, the user does not need to convert the attribute
`data in these databases to any particular format.
`Block 404 illustrates that the map author 120 stores the
`map window file, for example on the Web server 130. The
`map author 120 can connect to multiple Web servers 130.
`Therefore, the map author 120 enables a user to store the
`map window file on one or more Web servers 130.
`Additionally, while defining a map picture, the user is able
`to access multiple map servers 140 for map data. The map
`author 120 allows a user to specify data that is in various
`formats. Then, when the map viewer 118 reads the map
`window file defining the map picture, the map viewer 118
`requests the map data from the map server 140. The map
`server 140 retrieves the specified data for the map viewer
`118, and a spatial data converter converts data formats for
`Geographic Information System data or Desktop Mapping
`data into spatial data format. Currently supported file for-
`mats include ASCII, Atlas BNA, AutoDesk DXF, ESRI
`ArcView Shapefiles, and Maplnfo Interchange (map infor-
`mation data format (MID) or map information interchange
`format (MIF)) files.
`Map window files created using the map author 120 are
`made available to Internet and/or Intranet 100 users by
`saving and publishing them using the File Save command in
`the map author 120. When a map is published, it is saved to
`a map window file (with the file extension .mwf) within the
`Web server directory hierarchy. The map window file has a
`URL so that it can be accessed by Internet and/or Intranet
`100 users with the map viewer 118.
`Individuals using a map viewer 118 can access published
`map pictures by accessing the Web site where the map
`window file defining the map picture is stored. The URLs for
`map pictures on a Web site can be made available from a
`HTML (Hypertext Markup Language) Home Page. A map
`picture can also be embedded within a Web page. When the
`URL for a map picture is placed into a Web browser 116, the
`map picture is displayed in the