USRE40466E1 - Method for organizing and compressing spatial data - Google Patents

Method for organizing and compressing spatial data Download PDF

Info

Publication number
USRE40466E1
USRE40466E1 US11/006,471 US647104A USRE40466E US RE40466 E1 USRE40466 E1 US RE40466E1 US 647104 A US647104 A US 647104A US RE40466 E USRE40466 E US RE40466E
Authority
US
United States
Prior art keywords
data
map
point
packets
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US11/006,471
Inventor
Alfred M. Wallner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tierravision Inc
Original Assignee
Tierravision Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=31888568&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=USRE40466(E1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tierravision Inc filed Critical Tierravision Inc
Priority to US11/006,471 priority Critical patent/USRE40466E1/en
Priority to US12/198,047 priority patent/USRE41983E1/en
Application granted granted Critical
Publication of USRE40466E1 publication Critical patent/USRE40466E1/en
Priority to US12/856,512 priority patent/USRE43923E1/en
Assigned to TIERRAVISION, INC. reassignment TIERRAVISION, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WALLNER, ALFRED
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • This invention relates to the field of optimization of spatial databases for functional purposes, and in particular to optimize spatial data to achieve minimal download data size for use with cartographic applications in a networked environment.
  • a spatial database comprises topographic information in the form of shapes, lines and points encoded with geodetic coordinates, as well as sets of attributes further describing each form.
  • Internet-based applications use the spatial database to generate bitmap images based on user input such as zip code or address on a server and transmit the map images to client devices.
  • Bitmap-based solutions have numerous limitations, which are well known in the art. While prior art describe systems, which transfer vector data to client devices instead of bitmaps, bitmap solutions remain more efficient in terms of data transfer overhead. The initial download size of vector data is significant, and unless the user interacts repeatedly with the map, the total data amount of vector data is greater than the total data amount of bitmap images.
  • bitmap-based solutions are widely used in networked applications.
  • a navigation application and spatial data are packaged and supplied as a complete system on a non-volatile storage medium.
  • Said navigation systems may be installed in vehicles or in standalone devices. These navigation systems rely on significant computing resources such as powerful processors and large permanent storage capacities.
  • Prior art introduces solutions, which use structuring and segmenting of spatial databases to improve data access times and navigational functionality. Said solutions are not applicable when computing resources are severely limited, as encountered on personal digital assistants and smartphones, on which one would want to have access to navigation capabilities and maps. Even when said resources are made available for car navigation systems, more powerful hardware results in higher cost for the system. More importantly still, since spatial data changes quite frequently, standalone car navigation systems will inevitably start producing out-of-date navigation instructions over time.
  • the objective of this invention is to introduce a new spatial database system, which reduces the data size, makes it possible to download data in small increments as needed, and which can be used with applications such as navigation systems, for which vector-based functionality is needed.
  • the primary object of the invention is to provide a compressed spatial database system, which enables incremental and efficient download of spatial vector data over a network.
  • Another object of the invention is to introduce a location-relevant naming system so that software running on network client devices can efficiently compute data segment file names depending on user interaction with a map or device-supplied location data (e.g. GPS).
  • a third object of the invention is to enable combined online and offline operation capability of a digital map display system.
  • Another object of the invention is to provide server-independent map display capability based on GPS location input.
  • a further object of the invention is to introduce a system allowing updating of dynamic location content without having to retransmit redundant map data.
  • Yet another object of the invention is to enable map centering despite using a segmented data system.
  • a method for organizing and compressing spatial data comprises the steps of parsing a spatial database, separating topographic from attribute information, segmenting the data into rectangles, eliminating subsets of the data points, further reducing the data size by converting the data from a real number format to an integer format, generating location-relevant file names for each of the rectangles and storing the files in permanent storage space.
  • map display client software computes data file names based on user interactions or device-supplied location information (GPS), fetches the computed file names from a remote server, combines data from several data files to produce an in-memory map image and draws the image on the display screen.
  • GPS device-supplied location information
  • FIG. 1 is a schematic block diagram illustrating the steps to generate a compressed spatial database
  • FIG. 2 is a sample view of a road segment before and after applying a data size reduction algorithm
  • FIG. 3 is a schematic block diagram illustrating the algorithms used for data conversion as well as data segment naming
  • FIG. 4 is a schematic block diagram showing the different components and interactions of a network-based map display system
  • FIG. 5 illustrates which file names are computed by the map display program given a geodetic coordinate
  • FIG. 1 shows the steps involved in organizing and compressing a spatial database 10 .
  • a spatial database comprises topographic information in the form of polygons, lines and points expressed in a geodetic coordinate system (longitude and latitude), and a set of attributes related to the topographic data entities.
  • functions using spatial data such as routing or map display only require a subset of the entire data set. For instance, routing does not need to know about lakes and rivers, and map display does not need to know about road turn restrictions and speed limits. It is therefore possible to optimize data sets for use with a particular function.
  • the purpose of this invention is to optimize the data set for map display functionality.
  • the optimization process comprises a number of steps, which are described in more detail below.
  • the initial step 11 consists of parsing the geographic database and extracting all the data for a pre-determined set of features and geographic area.
  • the set of features comprises roads, railways, airports, rivers, lakes, shore lines, parks, points of interest and possibly others, depending how feature-rich the final map display is intended to be.
  • the pre-determined geographic area is a rectangle of 1° longitude and 0.5° latitude, which will be referred to as a level 2 segment.
  • the parsed data from step 11 is segmented into topographic components and attribute components in step 12 .
  • Attribute information is highly redundant and is therefore an obvious compression target. Attribute information is consolidated using a simple attribute pointer or index mechanism.
  • the topographic and attribute components are then further segmented based on location in two steps. In the preferred embodiment, the first segmentation evenly divides the area into an 8 ⁇ 8 grid. Each topographic data entity along with its attributes of each selected feature is assigned to one of the 64 segments. If the data entity is a polygon or a line and falls into several segments, the data entity is decomposed into two or more pieces using mathematical line and polygon splitting algorithms, and each piece is assigned to the correct segment.
  • the resulting data segments are referred to as level 1 segments and are stored in non-volatile memory. Another segmentation is performed on the parsed data from step 11 , this time dividing the area into a 64 ⁇ 64 grid.
  • the resulting 4096 data segments are referred to as level 0 data segments, which are also stored in non-volatile memory.
  • step 13 reduction algorithms are performed on level 1 and level 2 data.
  • level 1 data covers a geographic area of 1 ⁇ 8° longitude by 1/16° latitude.
  • the reduction algorithm used in the preferred embodiments takes these facts into consideration. Two types of data reductions are performed. First, some topographic features such as secondary roads are completely eliminated. Second, the resolution of the remaining topographic features is reduced. Many road data entities contain a number of data points, as shown in FIG. 2 , which can be safely eliminated without affecting much the overall geometry of the line or polygon.
  • Block 20 in FIG. 2 shows a road segment consisting of data points 21 through 26 .
  • Block 27 in FIG. 2 shows the same road after two data points, 22 and 25 , have been eliminated using the above algorithm. It should be obvious from this example that eliminating these data points did not significantly change the overall shape of the road. Furthermore, it should be noted that the map resolution at this level is fairly low, meaning that data points appearing on a display screen are very close together or even overlapping. Therefore, eliminating data points as described will have no effect on what the viewer sees. After processing all 64 level 1 data files in this way, the level 2 data fill is processed in similar fashion.
  • topographic features are completely eliminated. For instance, all roads except for freeways and highways are eliminated, as well as parks, points of interest and possibly other features. Resolution of the remaining topographic features is reduced even further than for level I data, for instance by applying the algorithm several times to the data set.
  • Integer conversion as referred to in block 15 of FIG. 1 has two advantages. It reduces the data size by at least a factor of two, and it improves processing speed on potentially slow devices. Every geodetic coordinate is broken into two components: an offset and a value.
  • the offset may be an aggregation of multiple offsets, but it always represents the topleft comer of a given rectangle.
  • X 1 -offset Abs((x ⁇ x 2 -offset)/((Lx-max ⁇ Lx-min)/K))
  • Y 1 -offset Abs((y 2 -offset-y)/((Ly-max ⁇ Ly-min)/K))
  • X 1 -value K*N*(x 1 ⁇ x 2 -offset ⁇ x 1 -offset)
  • Y 1 -value K*N*(y 2 -offset ⁇ y 1 -offset ⁇ y 1 )
  • K segment divisor (8 in the preferred embodiment for level 1 segments)
  • FIG. 3 applies the above formulas to convert the geodetic coordinates 37.308805 and ⁇ 122.843710 in block 30 in level 1 integers 1278 and 12516 respectively in block 35 .
  • Level 2 offsets are shown in 31 and 32
  • level 1 offsets are shown in 33 and 34 .
  • the upper limit N is set to 50000, but it could be a different number.
  • the number should not exceed 65536 or 2 ⁇ 16, allowing it to be stored as a 2 byte integer (a short).
  • the number should not be too low, which would result in a loss of spatial accuracy, because several real numbers would map to the same integer.
  • the loss of accuracy is about 1 meter as implemented in the preferred embodiment of this invention.
  • a file name is assigned to the data segment as the last step in block 15 of FIG. 1 . Since the computed integer values are only distance values from a given base value or offset, they are not reversible to the original real number value without the offset. A simple and efficient way to supply the necessary offset values is to make them part of a file name.
  • a level 1 segment file name is comprised of a total of 4 numbers representing the 4 offsets used to compute integer values for that segment, as well as a letter to indicate the level, the letter ‘b’ representing level 1 .
  • the first number in 36 represents the level 2 latitude offset and the second number in 36 represents the level 2 longitude offset.
  • the third number in 36 represents the level 1 latitude offset, and the fourth number in 36 represents the level 1 longitude offset.
  • New longitude old longitude when range is 0° to 180°
  • map display software can perform a few simple calculations to compute a file name from any geodetic coordinate, which may be supplied by GPS output. It should also be evident that the task of computing file names for data segments adjacent to a given segment is very straightforward using said file-naming system.
  • a map display system 40 consists of several functional components.
  • the input interface layer 44 handles communication with the user or device.
  • a text-input component lets the user type location information such as an address, a city, a zip code or a start/end point of a trip.
  • the input interface 44 transmits said location information over the network to a geocoding engine 48 residing on a server 47 .
  • a geocoding engine computes a geodetic coordinate (longitude/latitude) from said information.
  • the input interface 44 receives said geodetic coordinate from the geocoding engine 48 , it notifies the map display engine 46 .
  • Some devices may have voice recognition capabilities. Instead of typing the user speaks said location information.
  • the input interface 44 transmits the information from the voice recognition system 42 to the geocoding engine 48 , waits for an answer and forwards it to the map display engine 46 .
  • Some devices may have a GPS receiver attached to or incorporated into the device.
  • the input interface 44 processes the GPS output and relays said output to the map display engine 46 without the need to communicate with the geocoding engine 48 .
  • the map display engine 46 uses said geodetic coordinates received from the input interface 44 to calculate four file names.
  • the input interface 44 also tells the map display engine 46 which data level is needed, e.g. high-resolution level 0 is appropriate when the user specified an address, while level 1 may be more appropriate when the user specified a city or zip code.
  • a geodetic coordinate can be decomposed and produce a unique file name.
  • the map display engine 46 could then request said file name from a server 47 on which all files 49 are stored. However, in the preferred embodiment, the map display engine actually computes a total of four file names. If only one file is fetched, the geodetic coordinate of interest to the user could be located somewhere near the edge of said file.
  • the solution employed by the map display engine 46 is to fetch three additional data segment files, which are most adjacent to said geodetic coordinate.
  • the map display engine simply determines into which area, top-left, top-right, bottom-left or bottom-right, said coordinate falls. If a point falls in the top-left quadrant of a file, as does point 54 in FIG. 5 , the map display program first finds file 105.237.3.1.b shown in block 53 , and then also fetches the file to the top, block 51 , to the left, block 52 , and to the top-left, block 50 .
  • the map display engine After fetching all 4 files from the server 47 , the map display engine combines the data of the 4 files using simple offset calculations before drawing the map picture to the screen. Said geodetic coordinates can now be displayed fairly close (within 25%) of the screen center. An even better center approximation could be achieved by using nine files. Perfect centering can be achieved by not showing a map picture of the entire available data, but instead generate a slightly zoomed-in map picture centered at said coordinate.
  • One objective of the invention is to provide a flexible mapping system in the sense that the map display system can function online as well as offline. Offline functionality is desirable because it offers the highest speed, since the data is accessed from local storage.
  • the map display engine 46 gives users several options to enable offline capability. Users can select a city or zip code and download all data files for said city or zip code. Furthermore, users can reserve a certain amount of local disk space to be allocated for map data caching. When caching is enabled, the map display engine 46 automatically stores downloaded files on the local disk. As the cache fills up, new data files replace the least frequently accessed data files. A different caching algorithm, for instance based on last accessed time stamps, could be used as well.
  • the map display engine 46 When the user has selected caching or pre-loading of data, the map display engine 46 always first scans the local disk space and, if available, loads data files from local space into memory instead of downloading said files from a remote server.
  • Local caching is very useful when users frequently request the same maps. For instance, a user may want to check road traffic conditions on a daily basis. In this case, only updated traffic information such as traffic incident locations or traffic speed maps (a list of measured traffic speeds at different locations) needs to be downloaded. Said updated traffic information can be displayed on a map, which is generated from the map display engine 46 using local map data.
  • Said offline/online capability offers optimal performance for frequently used maps as well as great flexibility regarding local storage capacities of different devices.

Abstract

A method for organizing and compressing spatial data to enable fast, incremental downloads of spatial data over a network. The method comprises multiple steps for segmenting and reducing spatial data, and introduces a location-relevant naming system for storing and accessing the data. Applications installed on remote devices are able to efficiently compute data file names based solely on location information, download the data over a network and cache the data on the device.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of optimization of spatial databases for functional purposes, and in particular to optimize spatial data to achieve minimal download data size for use with cartographic applications in a networked environment.
2. Discussion of Prior Art
A spatial database comprises topographic information in the form of shapes, lines and points encoded with geodetic coordinates, as well as sets of attributes further describing each form. Internet-based applications use the spatial database to generate bitmap images based on user input such as zip code or address on a server and transmit the map images to client devices. Bitmap-based solutions have numerous limitations, which are well known in the art. While prior art describe systems, which transfer vector data to client devices instead of bitmaps, bitmap solutions remain more efficient in terms of data transfer overhead. The initial download size of vector data is significant, and unless the user interacts repeatedly with the map, the total data amount of vector data is greater than the total data amount of bitmap images. Even if the user interacts frequently with the map and the total download size requirements for bitmap and vector data were about the same, most users prefer to have a number of shorter download wait times rather than one long download wait time. Therefore, except for a few non-mainstream applications, bitmap-based solutions are widely used in networked applications.
In navigation systems, a navigation application and spatial data are packaged and supplied as a complete system on a non-volatile storage medium. Said navigation systems may be installed in vehicles or in standalone devices. These navigation systems rely on significant computing resources such as powerful processors and large permanent storage capacities. Prior art introduces solutions, which use structuring and segmenting of spatial databases to improve data access times and navigational functionality. Said solutions are not applicable when computing resources are severely limited, as encountered on personal digital assistants and smartphones, on which one would want to have access to navigation capabilities and maps. Even when said resources are made available for car navigation systems, more powerful hardware results in higher cost for the system. More importantly still, since spatial data changes quite frequently, standalone car navigation systems will inevitably start producing out-of-date navigation instructions over time. It is therefore necessary to update the local database from time to time. Improved methods for updating said local databases have been introduced by prior art. Nevertheless, the requirement to repeatedly update data used by navigation systems remains a major inconvenience for both consumers as well as navigation system suppliers. Suppliers face substantial costs for creating and distributing the data in regular intervals, and any errors discovered after storing data sets on non-volatile media are costly to fix. To address the above problems, it is desirable to keep frequently changing spatial data on a central server and use wireless transmission networks to deliver navigation functionality to remote devices. Navigational functions such as route calculation and driving directions are performed on the server, making it also easier to integrate real-time road traffic condition data. Driving directions or maneuver instructions are text-based and relatively small in terms of data size, allowing for fairly quick wireless data transmission. On the other hand, the ability to provide graphical, cartographic map display introduces much larger data size overhead. Given the data transfer rates of wireless networks presently and during several years to come, users would experience unacceptably slow performance for map display functionality on remote devices.
The objective of this invention is to introduce a new spatial database system, which reduces the data size, makes it possible to download data in small increments as needed, and which can be used with applications such as navigation systems, for which vector-based functionality is needed.
SUMMARY OF THE INVENTION
The primary object of the invention is to provide a compressed spatial database system, which enables incremental and efficient download of spatial vector data over a network. Another object of the invention is to introduce a location-relevant naming system so that software running on network client devices can efficiently compute data segment file names depending on user interaction with a map or device-supplied location data (e.g. GPS). A third object of the invention is to enable combined online and offline operation capability of a digital map display system. Another object of the invention is to provide server-independent map display capability based on GPS location input. A further object of the invention is to introduce a system allowing updating of dynamic location content without having to retransmit redundant map data. Yet another object of the invention is to enable map centering despite using a segmented data system.
Other objects and advantages of the present invention will become apparent from the following descriptions, taken in connection with the accompanying drawings, wherein, by way of illustration and example, an embodiment of the present invention is disclosed.
In a preferred embodiment of the present invention, a method for organizing and compressing spatial data comprises the steps of parsing a spatial database, separating topographic from attribute information, segmenting the data into rectangles, eliminating subsets of the data points, further reducing the data size by converting the data from a real number format to an integer format, generating location-relevant file names for each of the rectangles and storing the files in permanent storage space. In accordance with a preferred embodiment of the present invention, map display client software computes data file names based on user interactions or device-supplied location information (GPS), fetches the computed file names from a remote server, combines data from several data files to produce an in-memory map image and draws the image on the display screen.
BRIEF DESCRIPTION OF THE DRAWINGS
The drawings constitute a part of this specification and include exemplary embodiments to the invention, which may be embodied in various forms. It is to be understood that in some instances various aspects of the invention may be shown exaggerated or enlarged to facilitate an understanding of the invention wherein:
FIG. 1 is a schematic block diagram illustrating the steps to generate a compressed spatial database;
FIG. 2 is a sample view of a road segment before and after applying a data size reduction algorithm;
FIG. 3 is a schematic block diagram illustrating the algorithms used for data conversion as well as data segment naming;
FIG. 4 is a schematic block diagram showing the different components and interactions of a network-based map display system;
FIG. 5 illustrates which file names are computed by the map display program given a geodetic coordinate;
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Detailed descriptions of the preferred embodiment are provided herein. It is to be understood, however, that the present invention may be embodied in vanous forms. Therefore, specific details disclosed herein are not to be interpreted as limiting, but rather as a basis for the claims and as a representative basis for teaching one skilled in the art to employ the present invention in virtually any appropriately detailed system, structure or manner.
FIG. 1 shows the steps involved in organizing and compressing a spatial database 10. A spatial database comprises topographic information in the form of polygons, lines and points expressed in a geodetic coordinate system (longitude and latitude), and a set of attributes related to the topographic data entities. It is well known in the art that functions using spatial data such as routing or map display only require a subset of the entire data set. For instance, routing does not need to know about lakes and rivers, and map display does not need to know about road turn restrictions and speed limits. It is therefore possible to optimize data sets for use with a particular function. The purpose of this invention is to optimize the data set for map display functionality. The optimization process comprises a number of steps, which are described in more detail below. The initial step 11 consists of parsing the geographic database and extracting all the data for a pre-determined set of features and geographic area. The set of features comprises roads, railways, airports, rivers, lakes, shore lines, parks, points of interest and possibly others, depending how feature-rich the final map display is intended to be. In the preferred embodiment, the pre-determined geographic area is a rectangle of 1° longitude and 0.5° latitude, which will be referred to as a level 2 segment.
The parsed data from step 11 is segmented into topographic components and attribute components in step 12. Attribute information is highly redundant and is therefore an obvious compression target. Attribute information is consolidated using a simple attribute pointer or index mechanism. The topographic and attribute components are then further segmented based on location in two steps. In the preferred embodiment, the first segmentation evenly divides the area into an 8×8 grid. Each topographic data entity along with its attributes of each selected feature is assigned to one of the 64 segments. If the data entity is a polygon or a line and falls into several segments, the data entity is decomposed into two or more pieces using mathematical line and polygon splitting algorithms, and each piece is assigned to the correct segment. The resulting data segments are referred to as level 1 segments and are stored in non-volatile memory. Another segmentation is performed on the parsed data from step 11, this time dividing the area into a 64×64 grid. The resulting 4096 data segments are referred to as level 0 data segments, which are also stored in non-volatile memory.
In step 13, reduction algorithms are performed on level 1 and level 2 data. In the preferred embodiment, level 1 data covers a geographic area of ⅛° longitude by 1/16° latitude. When a map picture is generated for such an area, it is neither desirable nor practical to show all the details, especially when the map picture is shown on a small screen. For instance, it is desirable to show only the main roads, while suppressing the smaller roads. The reduction algorithm used in the preferred embodiments takes these facts into consideration. Two types of data reductions are performed. First, some topographic features such as secondary roads are completely eliminated. Second, the resolution of the remaining topographic features is reduced. Many road data entities contain a number of data points, as shown in FIG. 2, which can be safely eliminated without affecting much the overall geometry of the line or polygon. For instance, the algorithm used in the preferred embodiment eliminates every other data point, provided that the angle between the two lines connecting the point to its adjacent points does not exceed ‘n’ degrees. Block 20 in FIG. 2 shows a road segment consisting of data points 21 through 26. Block 27 in FIG. 2 shows the same road after two data points, 22 and 25, have been eliminated using the above algorithm. It should be obvious from this example that eliminating these data points did not significantly change the overall shape of the road. Furthermore, it should be noted that the map resolution at this level is fairly low, meaning that data points appearing on a display screen are very close together or even overlapping. Therefore, eliminating data points as described will have no effect on what the viewer sees. After processing all 64 level 1 data files in this way, the level 2 data fill is processed in similar fashion. Even more topographic features are completely eliminated. For instance, all roads except for freeways and highways are eliminated, as well as parks, points of interest and possibly other features. Resolution of the remaining topographic features is reduced even further than for level I data, for instance by applying the algorithm several times to the data set.
Integer conversion as referred to in block 15 of FIG. 1 has two advantages. It reduces the data size by at least a factor of two, and it improves processing speed on potentially slow devices. Every geodetic coordinate is broken into two components: an offset and a value. The offset may be an aggregation of multiple offsets, but it always represents the topleft comer of a given rectangle. For any level 2 data segment (Lx-min, Lx-max, Ly-min, Ly-max), where Lx-min stands for minimum longitude, Lx-max for maximum longitude, Ly-min for minimum latitude and Ly-max for maximum latitude, the following formulas are used to compute offsets and values for each data point (x, y), where x is the longitude and y the latitude:
X2-offset=Lx-min
Y2-offset=Ly-min
X2-value=N*(x−x2-offset)
Y2-value=N*(y2-offset−y)
N=upper limit of valid integer values (50000 in the preferred embodiment)
The formulas for computing level 1 offsets and values are:
X1-offset=Abs((x−x2-offset)/((Lx-max−Lx-min)/K))
Y1-offset=Abs((y2-offset-y)/((Ly-max−Ly-min)/K))
X1-value=K*N*(x1−x2-offset−x1-offset)
Y1-value=K*N*(y2-offset−y1-offset−y1)
K=segment divisor (8 in the preferred embodiment for level 1 segments)
The formulas for computing level 0 offsets and values are the same as for level 1, except that K equals 64 in the preferred embodiment.
The example shown in FIG. 3 applies the above formulas to convert the geodetic coordinates 37.308805 and −122.843710 in block 30 in level 1 integers 1278 and 12516 respectively in block 35.
Level 2 offsets are shown in 31 and 32, while level 1 offsets are shown in 33 and 34. In the preferred embodiment of this invention, the upper limit N is set to 50000, but it could be a different number. The number should not exceed 65536 or 2^16, allowing it to be stored as a 2 byte integer (a short). The number should not be too low, which would result in a loss of spatial accuracy, because several real numbers would map to the same integer. The loss of accuracy is about 1 meter as implemented in the preferred embodiment of this invention.
Once a data segment has been processed and all real numbers converted to integers, a file name is assigned to the data segment as the last step in block 15 of FIG. 1. Since the computed integer values are only distance values from a given base value or offset, they are not reversible to the original real number value without the offset. A simple and efficient way to supply the necessary offset values is to make them part of a file name. As shown in the example of FIG. 3 block 36, a level 1 segment file name is comprised of a total of 4 numbers representing the 4 offsets used to compute integer values for that segment, as well as a letter to indicate the level, the letter ‘b’ representing level 1. The first number in 36 represents the level 2 latitude offset and the second number in 36 represents the level 2 longitude offset. The third number in 36 represents the level 1 latitude offset, and the fourth number in 36 represents the level 1 longitude offset.
In order to simplify computing requirements, a new geodetic coordinate system is introduced. The North Pole of the earth is at coordinate (0,0) and the South Pole is at (360,360). Unlike in the standard coordinate system, no negative values are used. Every latitude degree in the standard coordinate system corresponds to 2 latitude degrees in the new system. The conversion from the standard to the new coordinate system is accomplished as follows:
New latitude=90−old latitude*2
New longitude=old longitude when range is 0° to 180°
    • New longitude=180+(180−old longitude) when range is−180° to 0°
In the new coordinate system, moving south and east always results in greater coordinates, while moving west and north always results in smaller coordinates, until the respective end points 0 and 360 are reached. This system significantly reduces the number of exception checking operations required by map display software when compared to the standard coordinate system.
This shows that the file name contains the offset information for the spatial data stored in the file. Thus, map display software can perform a few simple calculations to compute a file name from any geodetic coordinate, which may be supplied by GPS output. It should also be evident that the task of computing file names for data segments adjacent to a given segment is very straightforward using said file-naming system.
The following section describes how a map display program can use said file system and offer desirable functionality such as combined online/offline operation. In a typical embodiment, the map display program is installed on a wireless device such as a smartphone or personal digital assistant. As shown in FIG. 4, a map display system 40 consists of several functional components. The input interface layer 44 handles communication with the user or device. A text-input component lets the user type location information such as an address, a city, a zip code or a start/end point of a trip. The input interface 44 transmits said location information over the network to a geocoding engine 48 residing on a server 47. As is well known in the art, a geocoding engine computes a geodetic coordinate (longitude/latitude) from said information. Once the input interface 44 receives said geodetic coordinate from the geocoding engine 48, it notifies the map display engine 46. Some devices may have voice recognition capabilities. Instead of typing the user speaks said location information. The input interface 44 transmits the information from the voice recognition system 42 to the geocoding engine 48, waits for an answer and forwards it to the map display engine 46. Some devices may have a GPS receiver attached to or incorporated into the device. The input interface 44 processes the GPS output and relays said output to the map display engine 46 without the need to communicate with the geocoding engine 48.
The map display engine 46 uses said geodetic coordinates received from the input interface 44 to calculate four file names. The input interface 44 also tells the map display engine 46 which data level is needed, e.g. high-resolution level 0 is appropriate when the user specified an address, while level 1 may be more appropriate when the user specified a city or zip code. As has been shown in detail in a previous section, a geodetic coordinate can be decomposed and produce a unique file name. The map display engine 46 could then request said file name from a server 47 on which all files 49 are stored. However, in the preferred embodiment, the map display engine actually computes a total of four file names. If only one file is fetched, the geodetic coordinate of interest to the user could be located somewhere near the edge of said file. It would look awkward to the user and be less informative if the point of interest is not shown at or near the center of the map display screen. The ability to center the map picture has been lost by segmenting the spatial database. The solution employed by the map display engine 46 is to fetch three additional data segment files, which are most adjacent to said geodetic coordinate. The map display engine simply determines into which area, top-left, top-right, bottom-left or bottom-right, said coordinate falls. If a point falls in the top-left quadrant of a file, as does point 54 in FIG. 5, the map display program first finds file 105.237.3.1.b shown in block 53, and then also fetches the file to the top, block 51, to the left, block 52, and to the top-left, block 50. After fetching all 4 files from the server 47, the map display engine combines the data of the 4 files using simple offset calculations before drawing the map picture to the screen. Said geodetic coordinates can now be displayed fairly close (within 25%) of the screen center. An even better center approximation could be achieved by using nine files. Perfect centering can be achieved by not showing a map picture of the entire available data, but instead generate a slightly zoomed-in map picture centered at said coordinate.
One objective of the invention is to provide a flexible mapping system in the sense that the map display system can function online as well as offline. Offline functionality is desirable because it offers the highest speed, since the data is accessed from local storage. The map display engine 46 gives users several options to enable offline capability. Users can select a city or zip code and download all data files for said city or zip code. Furthermore, users can reserve a certain amount of local disk space to be allocated for map data caching. When caching is enabled, the map display engine 46 automatically stores downloaded files on the local disk. As the cache fills up, new data files replace the least frequently accessed data files. A different caching algorithm, for instance based on last accessed time stamps, could be used as well. When the user has selected caching or pre-loading of data, the map display engine 46 always first scans the local disk space and, if available, loads data files from local space into memory instead of downloading said files from a remote server. Local caching is very useful when users frequently request the same maps. For instance, a user may want to check road traffic conditions on a daily basis. In this case, only updated traffic information such as traffic incident locations or traffic speed maps (a list of measured traffic speeds at different locations) needs to be downloaded. Said updated traffic information can be displayed on a map, which is generated from the map display engine 46 using local map data. Said offline/online capability offers optimal performance for frequently used maps as well as great flexibility regarding local storage capacities of different devices.
While the invention has been described in connection with a preferred embodiment, it is not intended to limit the scope of the invention to the particular form set forth, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.

Claims (44)

1. A method for organizing spatial data comprising the steps of:
a) parsing the spatial data into a plurality of packets;
b) segmenting the packets;
c) reducing a size of the packets by eliminating at least one data point from at least one display element by applying an angle comparison between an adjacent display element, wherein the at least one data point is eliminated if an angle between the at least one display element and the adjacent display element is about 180°; and
d) generating a name for each of the packets.
2. The method of claim 1, wherein the spatial data comprises topographic information comprising a plurality of elements containing geodetic coordinates.
3. The method of claim 1, wherein the step of parsing the spatial data comprises:
selecting at least one entity within the data, the entity selected from a group consisting of: a road, a railway, an airport, a river, a lake, a shore line, a park, an entity comprising a geometric shape, and an entity comprising a substantially rectangular shape.
4. The method of claim 1, wherein the step of parsing the spatial data comprises:
generating a substantially rectangular element comprising about 1° longitude and about ½° latitude.
5. The method of claim 1, wherein the step of parsing the spatial data comprises: separating a topographic element from an attribute element;
wherein the topographic element comprises elements expressed using a geodetic coordinate system; and
the attribute element is related to the topographic element.
6. The method of claim 1, wherein the step of segmenting the packets comprises:
dividing the packets into at least one element, the element selected from a group consisting of: an 8×8 grid, a 64×64 grid, a substantially rectangular grid comprising about 1° longitude and about ½° latitude, and a substantially rectangular grid comprising about ⅛° longitude and about 1/16° latitude.
7. The method of claim 1, wherein the step of reducing the size of the segmented packets comprises:
eliminating elements selected from a group consisting of: a polygon, a lake, a geographic area, a topographic element and an attribute element.
8. The method of claim 1, wherein the step of reducing the size of the segmented packets comprises:
eliminating a plurality of data points from a topographic element.
9. The method of claim 1, wherein the step of reducing the size of the segmented packets comprises:
transforming a geodetic coordinate from a real number to an integer number, wherein the integer number ranges from about 0 to about 65535.
10. The method of claim 1, wherein the step of reducing the size of the segmented packets comprises:
eliminating a plurality of data points from at least one topographic element by applying an angle comparison between an adjacent topographic element line, wherein at least one data point is eliminated if an angle between the at least one topographic element and the adjacent topographic element line is about 180°.
11. The method of claim 1, wherein the step of generating the name for each of the packets comprises the step of generating a location-relevant naming system.
12. The method of claim 1, wherein the step of generating the name for each of the packets comprises the step of generating a location-relevant naming system, wherein the packet name comprises location information representing an offset from an earth origin.
13. The method of claim 12, wherein the earth origin is selected from a group consisting of: a North Pole, and a location other than the North Pole.
14. The method of claim 1, further including the step of: repeating any one of steps a, b, c and d to process an entire spatial database.
15. A method for of displaying a map, the method comprising the steps of :
obtaining information relating to a location;
calculating at least one packet name;
determining a data level associated with at least one packet, wherein calculating the packet name is based at least partly on the data level;
displaying the map; and
caching the at least one packet until an amount of computer storage space is filled, and
determining which packets should be replaced.
16. The method of claim 15, wherein the step of calculating the at least one packet name comprises:
computing the at least one data packet name using a geodetic coordinate.
17. The method of claim 15, wherein the step of calculating the at least one packet name comprises:
calculating a request location; and
using the request location to calculate the at least one packet name.
18. The method of claim 15, A method of displaying a map, the method comprising:
obtaining information relating to a location;
calculating at least one packet name;
determining a data level;
displaying the map;
caching at least one packet until an amount of computer storage space is filled; and
determining which packets should be replaced,
wherein the step of calculating the at least one packet name comprises:
computing four adjacent data packet names;
fetching the packets from a server; and
combining an information contained in the packets to generate a map.
19. The method of claim 15, A method of displaying a map, the method comprising:
obtaining information relating to a location;
calculating at least one packet name;
determining a data level;
displaying the map;
caching at least one packet until an amount of computer storage space is filled; and
determining which packets should be replaced,
wherein the step of determining the data level comprises:
determining a resolution level selected from a group consisting of: an address, a city, a zip code and a building floor plan.
20. The method of claim 15, further including the step of:
caching at least one data packet until an amount of computer storage space is filled, and
determining which packets should be replaced.
21. The method of claim 15, further including the step of:
checking a local cache before requesting a data packet from a remote device.
22. A method An apparatus for organizing spatial data comprising the steps of :
a) means for parsing the spatial data into a plurality of packets;
b) means for segmenting the packets;
c) means for reducing a size of the packets by eliminating at least one data point from at least one display element by applying an angle comparison between an adjacent display element, wherein the at least one data point is eliminated if an angle between the at least one display element and the adjacent display element is about 180°; and
d) means for generating a name for each of the packets.
23. A method of digital map compression, comprising:
representing each data point of a digital map as a set of geographic coordinates comprising a tuple of an offset and a value, wherein the offset represents a corner of a given rectangle;
segmenting the digital map; and
reducing the number of data points in each segment of the digital map including calculating a new offset and value according to predefined minimum and maximum corners of a data segment.
24. The method of claim 23, wherein the offsets are represented as two byte integers.
25. A system for digital map compression, comprising:
means for representing each data point of a digital map as a set of geodetic coordinates comprising a tuple of an offset and a value, wherein the offset represents a corner of a given rectangle;
means for segmenting the digital map; and
means for reducing the number of data points in each segment of the digital map including calculating a new offset and value according to predefined minimum and maximum corners of a data segment.
26. The system of claim 25, wherein the offsets are represented as two byte integers.
27. A system for digital map compression, comprising:
a database configured to represent each data point of a digital map as a set of geodetic coordinates comprising a tuple of an offset and a value, wherein the offset represents a corner of a given rectangle;
a data segmentation module configured to segment the digital map; and
a data reduction module configured to reduce the number of data points in each segment of the digital map including calculating a new offset and value according to predefined minimum and maximum corners of a data segment.
28. The system of claim 27, wherein the offsets are represented as two byte integers.
29. A method of reducing data defining a map, the method comprising:
selecting a point from a plurality of points defining a portion of the map;
determining a first line from the point to a first adjacent point of the plurality of points;
determining a second line from the point to a second adjacent point of the plurality of points such that the first and second lines intersect at the point;
eliminating the point in dependence on whether an angle formed between the first and second lines at the point exceeds a threshold angle.
30. The method of claim 29, wherein selecting a point comprises selecting every other adjacent point of the plurality of points.
31. A method of reducing data defining a map, the method comprising:
transforming each of a plurality of points defining a portion of the map into a plurality of offsets from a selected point, wherein the portion of the map and the selected point are selected such that at least one dimension of each of the plurality of offsets is less than a predetermined value, wherein the predetermined value is selected so that each of the plurality of offsets is representable by less data than each of the corresponding points.
32. The method of claim 31, wherein the selected point is associated with an identifier of the portion.
33. The method of claim 31, wherein the portion defines a region bounded by a shape and where the first point is associated with a point of the shape.
34. The method of claim 33, wherein the selected point is associated with a predetermined corner of the shape.
35. The method of claim 32, wherein the selected point is encoded in a name of a data structure associated with the portion of the map.
36. The method of claim 36, wherein the data structure comprises a file.
37. The method of claim 31, wherein the predetermined value is less than 65536.
38. The method of claim 31, wherein the predetermined value is selected so that each of the plurality of offsets is representable as a 16 bit value.
39. A method of providing a map, the method comprising:
receiving a request for information relating to a location;
determining a data level of the information;
identifying a data segment associated with the location and the data level, the data segment comprising geographic coordinates that are indicative of offsets from a coordinate; and
determining at least one identifier for a data segment indicative of the coordinate of the data segment; and
displaying the data segment based on the coordinate.
40. The method of claim 39, further comprising:
caching the data segment based at least partly on the identifier.
41. The method of claim 39, wherein calculating the at least one identifier is based at least partly on the data level.
42. The method of claim 39, wherein the data segment is indicative of map data in a region and wherein the coordinate comprises a predetermined location in the region.
43. The method of claim 39, wherein the data segment is indicative of map data in a rectangular region and wherein the coordinate comprises at least one of an upper right, upper left, lower right, or lower left corner of the rectangular region.
44. The method of claim 39, wherein displaying the data segment based on the coordinate comprises offsetting geographic coordinates of the data segment from the coordinate.
US11/006,471 2000-09-22 2004-12-06 Method for organizing and compressing spatial data Expired - Lifetime USRE40466E1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/006,471 USRE40466E1 (en) 2000-09-22 2004-12-06 Method for organizing and compressing spatial data
US12/198,047 USRE41983E1 (en) 2000-09-22 2008-08-25 Method of organizing and compressing spatial data
US12/856,512 USRE43923E1 (en) 2000-09-22 2010-08-13 Method for organizing and compressing spatial data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/668,695 US6703947B1 (en) 2000-09-22 2000-09-22 Method for organizing and compressing spatial data
US11/006,471 USRE40466E1 (en) 2000-09-22 2004-12-06 Method for organizing and compressing spatial data

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/668,695 Reissue US6703947B1 (en) 2000-09-22 2000-09-22 Method for organizing and compressing spatial data

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US09/668,695 Division US6703947B1 (en) 2000-09-22 2000-09-22 Method for organizing and compressing spatial data
US12/198,047 Division USRE41983E1 (en) 2000-09-22 2008-08-25 Method of organizing and compressing spatial data

Publications (1)

Publication Number Publication Date
USRE40466E1 true USRE40466E1 (en) 2008-08-26

Family

ID=31888568

Family Applications (4)

Application Number Title Priority Date Filing Date
US09/668,695 Ceased US6703947B1 (en) 2000-09-22 2000-09-22 Method for organizing and compressing spatial data
US11/006,471 Expired - Lifetime USRE40466E1 (en) 2000-09-22 2004-12-06 Method for organizing and compressing spatial data
US12/198,047 Expired - Lifetime USRE41983E1 (en) 2000-09-22 2008-08-25 Method of organizing and compressing spatial data
US12/856,512 Expired - Lifetime USRE43923E1 (en) 2000-09-22 2010-08-13 Method for organizing and compressing spatial data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/668,695 Ceased US6703947B1 (en) 2000-09-22 2000-09-22 Method for organizing and compressing spatial data

Family Applications After (2)

Application Number Title Priority Date Filing Date
US12/198,047 Expired - Lifetime USRE41983E1 (en) 2000-09-22 2008-08-25 Method of organizing and compressing spatial data
US12/856,512 Expired - Lifetime USRE43923E1 (en) 2000-09-22 2010-08-13 Method for organizing and compressing spatial data

Country Status (1)

Country Link
US (4) US6703947B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109159A1 (en) * 2006-11-02 2008-05-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US20120066005A1 (en) * 2010-09-10 2012-03-15 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating
US10262373B2 (en) 2013-06-07 2019-04-16 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1172741A3 (en) * 2000-07-13 2004-09-01 Sony Corporation On-demand image delivery server, image resource database, client terminal, and method of displaying retrieval result
US6703947B1 (en) 2000-09-22 2004-03-09 Tierravision, Inc. Method for organizing and compressing spatial data
US7689621B1 (en) * 2000-11-06 2010-03-30 Navteq North America, Llc Multi-dimensional spatial index for a geographic database
US20020116175A1 (en) * 2000-12-15 2002-08-22 Stouffer Scott Allen Method and system for using a voice channel with a data service
US20020102989A1 (en) * 2001-01-26 2002-08-01 Calvert Brian Edward Method and apparatus for accurately locating a communication device in a wireless communication system
JP4230132B2 (en) * 2001-05-01 2009-02-25 パナソニック株式会社 Digital map shape vector encoding method, position information transmission method, and apparatus for implementing the same
US20030005042A1 (en) * 2001-07-02 2003-01-02 Magnus Karlsson Method and system for detecting aborted connections and modified documents from web server logs
US7035936B2 (en) * 2001-07-25 2006-04-25 Fouquet Julie E Method for establishing a communication network based on topographic network devices and for transmitting a message through same
US7139835B2 (en) * 2001-07-25 2006-11-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Communication network based on topographic network devices
JP2004265139A (en) * 2003-02-28 2004-09-24 Nec Corp Content execution system, personal digital assistant, external apparatus, content execution method and program
US7302343B2 (en) * 2003-07-31 2007-11-27 Microsoft Corporation Compact text encoding of latitude/longitude coordinates
JPWO2005039058A1 (en) * 2003-10-17 2007-11-29 松下電器産業株式会社 Encoded data generation method and apparatus
US20060058951A1 (en) * 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060058953A1 (en) 2004-09-07 2006-03-16 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US20060265388A1 (en) * 2005-05-20 2006-11-23 Woelfel Joseph K Information retrieval system and method for distinguishing misrecognized queries and unavailable documents
US20070033089A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation User interface and geo-parsing data structure
CN101166326B (en) * 2006-03-31 2014-05-28 黑莓有限公司 Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
US8121610B2 (en) 2006-03-31 2012-02-21 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
EP1840523B1 (en) * 2006-03-31 2011-03-09 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
EP1840521A3 (en) * 2006-03-31 2009-02-11 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
US10605610B2 (en) * 2007-04-09 2020-03-31 Ian Cummings Apparatus and methods for reducing data transmission in wireless client-server navigation systems
CN101329178B (en) * 2007-06-18 2011-07-20 阿里巴巴集团控股有限公司 Method and device for obtaining coded information and address localization
KR101714781B1 (en) * 2009-11-17 2017-03-22 엘지전자 주식회사 Method for playing contents
KR101585692B1 (en) * 2009-11-17 2016-01-14 엘지전자 주식회사 Method for displaying contents information
KR101650948B1 (en) * 2009-11-17 2016-08-24 엘지전자 주식회사 Method for displaying time information and display apparatus thereof
US20120030760A1 (en) * 2010-08-02 2012-02-02 Long Lu Method and apparatus for combating web-based surreptitious binary installations
US8718922B2 (en) * 2011-07-28 2014-05-06 Navteq B.V. Variable density depthmap
US8683008B1 (en) 2011-08-04 2014-03-25 Google Inc. Management of pre-fetched mapping data incorporating user-specified locations
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US9275374B1 (en) 2011-11-15 2016-03-01 Google Inc. Method and apparatus for pre-fetching place page data based upon analysis of user activities
US9063951B1 (en) 2011-11-16 2015-06-23 Google Inc. Pre-fetching map data based on a tile budget
US8711181B1 (en) 2011-11-16 2014-04-29 Google Inc. Pre-fetching map data using variable map tile radius
US8886715B1 (en) 2011-11-16 2014-11-11 Google Inc. Dynamically determining a tile budget when pre-fetching data in a client device
GB2493037B (en) 2011-11-24 2013-08-07 Chersoft Ltd Communicating electronic map data
US9305107B2 (en) 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US9197713B2 (en) * 2011-12-09 2015-11-24 Google Inc. Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
US9389088B2 (en) 2011-12-12 2016-07-12 Google Inc. Method of pre-fetching map data for rendering and offline routing
US8803920B2 (en) 2011-12-12 2014-08-12 Google Inc. Pre-fetching map tile data along a route
EP2637033B1 (en) * 2012-03-07 2015-05-06 Telit Automotive Solutions NV Contextual data compression for geo-tracking applications
CN105894548B (en) * 2012-04-18 2019-09-24 苏州超擎图形软件科技发展有限公司 The method and device of spatial data progressive transmission
US9311748B2 (en) 2013-02-20 2016-04-12 Google Inc. Method and system for generating and storing data objects for multi-resolution geometry in a three dimensional model
US20150207742A1 (en) * 2014-01-22 2015-07-23 Wipro Limited Methods for optimizing data for transmission and devices thereof
US20170213241A1 (en) * 2016-01-26 2017-07-27 Facebook, Inc. Reach and frequency for online advertising based on data aggregation and computing
US11776090B2 (en) * 2021-04-12 2023-10-03 Sas Institute Inc. Dynamic per-node pre-pulling in distributed computing

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4630209A (en) * 1981-07-01 1986-12-16 Toyota Jidosha Kogyo Kabushiki Kaisha Audio/visual display system for multiple maps
US4888698A (en) * 1986-10-23 1989-12-19 U.S. Philips Corporation Method for storing a parcelwise divided digital data base as well as of addressing a data parcel in a mass memory, and apparatus for carrying out the method
US5202829A (en) * 1991-06-10 1993-04-13 Trimble Navigation Limited Exploration system and method for high-accuracy and high-confidence level relative position and velocity determinations
US5754846A (en) * 1990-10-01 1998-05-19 U.S. Philips Corporation Method of storing a topological network, and methods and apparatus for identifying series of 1-cells in a network stored by such a method
US5802492A (en) 1994-06-24 1998-09-01 Delorme Publishing Company, Inc. Computer aided routing and positioning system
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US5881074A (en) 1997-03-25 1999-03-09 Level One Communications, Inc. 1000base-t packetized trellis coder
US5953722A (en) * 1996-10-25 1999-09-14 Navigation Technologies Corporation Method and system for forming and using geographic data
US5966135A (en) * 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
US5968109A (en) * 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media
US5974419A (en) * 1996-10-25 1999-10-26 Navigation Technologies Corporation Parcelization of geographic data for storage and use in a navigation application
US6018695A (en) * 1996-01-26 2000-01-25 Navigation Technologies Corporation System and method for distributing information for storage media
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6178380B1 (en) 1998-10-22 2001-01-23 Magellan, Dis, Inc. Street identification for a map zoom of a navigation system
US6222483B1 (en) * 1998-09-29 2001-04-24 Nokia Mobile Phones Limited GPS location for mobile phones using the internet
US6704645B1 (en) 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
US6708112B1 (en) 2001-12-11 2004-03-16 Garmin Ltd System and method for calculating a navigation route based on adjacent cartographic map databases
US6795450B1 (en) 2000-09-28 2004-09-21 Tdk Semiconductor Corporation Method and apparatus for supporting physical layer link-suspend operation between network nodes
US20050004945A1 (en) 1999-12-22 2005-01-06 Cossins Robert N. Geographic management system
US6868088B2 (en) 2001-02-14 2005-03-15 3Com Corporation Automatic detector of media interface protocol type
US20050135413A1 (en) 2003-12-08 2005-06-23 Kewei Yang Signaling and coding methods and apparatus for long-range 10 and 100 MBPS Ethernet transmission
US6912596B2 (en) 2002-08-02 2005-06-28 Texas Instruments Incorporated Automatic resume from suspend for IEEE-1394 PHY
US7047428B2 (en) 2002-01-03 2006-05-16 Broadcom Corporation Method and apparatus for performing wake on LAN power management
US7054947B2 (en) 2001-01-15 2006-05-30 Samsung Electronics Co., Ltd. Auto-negotiation method for high speed link in gigabit Ethernet using 1000 Base-T standard and apparatus thereof
US7079551B2 (en) 2000-10-05 2006-07-18 Kiribati Wireless Ventures, Llc Private network link verification procedure in free space optical communication network

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2091526B (en) 1981-01-13 1985-10-02 Harris Corp Digital map generator and display system
US4520506A (en) 1981-10-20 1985-05-28 Harris Corporation Method and system for compression and reconstruction of cultural data for use in a digital moving map display
JPS59174714A (en) 1983-03-25 1984-10-03 Nippon Denso Co Ltd Vehicle mounted electronic map display device
CA1277043C (en) 1985-07-25 1990-11-27 Marvin S. White, Jr. Apparatus storing a representation of topological structures and methods of building and searching the representation
US4972319A (en) 1987-09-25 1990-11-20 Delorme David M Electronic global map generating system
US5299300A (en) 1990-02-22 1994-03-29 Harris Corporation Interpolation processing of digital map imagery data
US5355314A (en) 1990-03-26 1994-10-11 Hammond Incorporated Method and apparatus for automatically generating symbol images against a background image without collision utilizing distance-dependent attractive and repulsive forces in a computer simulation
JP2644935B2 (en) 1991-07-25 1997-08-25 株式会社日立製作所 Terrain information processing method and device
DE69217311T2 (en) 1991-09-25 1997-07-24 Philips Electronics Nv Device and method for map display in vehicle navigation
US7049981B2 (en) 1994-06-24 2006-05-23 Navteq North America, Llc Electronic navigation system and method
US6321158B1 (en) 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
US5543789A (en) 1994-06-24 1996-08-06 Shields Enterprises, Inc. Computerized navigation system
WO1996007170A1 (en) 1994-08-31 1996-03-07 Nac Geographic Products Inc. A geodetic coding system
US5727057A (en) 1994-12-27 1998-03-10 Ag Communication Systems Corporation Storage, transmission, communication and access to geographical positioning data linked with standard telephony numbering and encoded for use in telecommunications and related services
JP3176260B2 (en) 1995-07-26 2001-06-11 キヤノン株式会社 Navigation device using wireless communication device
GB9516762D0 (en) 1995-08-16 1995-10-18 Phelan Sean P Computer system for identifying local resources
US5699255A (en) 1995-10-18 1997-12-16 Trimble Navigation Limited Map transmission for in-vehicle navigation system with dynamic scale/detail adjustment
JP3743037B2 (en) 1995-11-01 2006-02-08 株式会社日立製作所 Information providing method to mobile terminal, information providing system, and mobile terminal
SG75807A1 (en) 1996-01-11 2000-10-24 Sony Corp Signal transmitting method and apparatus
JPH09305108A (en) 1996-03-11 1997-11-28 Denso Corp Method and device for specifying location, and method and device for displaying map using them
JPH09287964A (en) 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd Mobile communication system
JP3370526B2 (en) 1996-04-24 2003-01-27 富士通株式会社 Mobile communication system and mobile terminal and information center used in the mobile communication system
KR100263982B1 (en) 1996-04-28 2000-08-16 모리 하루오 Navigation apparatus
JPH1019588A (en) 1996-06-27 1998-01-23 Mitsubishi Electric Corp Navigation system
US6202023B1 (en) 1996-08-22 2001-03-13 Go2 Systems, Inc. Internet based geographic location referencing system and method
US5839088A (en) 1996-08-22 1998-11-17 Go2 Software, Inc. Geographic location referencing system and method
JP3143927B2 (en) 1996-09-20 2001-03-07 トヨタ自動車株式会社 Position information providing system and device
US6141454A (en) 1996-11-01 2000-10-31 Motorola Methods for data compression and decompression using digitized topology data
US5987381A (en) 1997-03-11 1999-11-16 Visteon Technologies, Llc Automobile navigation system using remote download of data
JPH10282879A (en) 1997-04-01 1998-10-23 N T T Data:Kk Map provision system and its operating method, and map providing server
US6148261A (en) 1997-06-20 2000-11-14 American Calcar, Inc. Personal communication system to send and receive voice data positioning information
EP1005627B1 (en) 1997-08-19 2003-10-29 Siemens VDO Automotive Corporation Vehicle information system
US5946687A (en) 1997-10-10 1999-08-31 Lucent Technologies Inc. Geo-enabled personal information manager
US6055478A (en) 1997-10-30 2000-04-25 Sony Corporation Integrated vehicle navigation, communications and entertainment system
US6304212B1 (en) 1997-12-24 2001-10-16 Casio Computer Co., Ltd. Position data display/control apparatus and methods
US6249740B1 (en) 1998-01-21 2001-06-19 Kabushikikaisha Equos Research Communications navigation system, and navigation base apparatus and vehicle navigation apparatus both used in the navigation system
US6081803A (en) 1998-02-06 2000-06-27 Navigation Technologies Corporation Support for alternative names in a geographic database used with a navigation program and methods for use and formation thereof
JPH11224047A (en) 1998-02-06 1999-08-17 Matsushita Electric Ind Co Ltd Map information providing method and terminal device used in same
US6122520A (en) 1998-02-13 2000-09-19 Xerox Corporation System and method for obtaining and using location specific information
US6262741B1 (en) 1998-03-17 2001-07-17 Prc Public Sector, Inc. Tiling of object-based geographic information system (GIS)
US6092076A (en) 1998-03-24 2000-07-18 Navigation Technologies Corporation Method and system for map display in a navigation application
US6073076A (en) 1998-03-27 2000-06-06 Navigation Technologies Corporation Memory management for navigation system
JP3514626B2 (en) 1998-04-14 2004-03-31 インクリメント・ピー株式会社 Route information providing system and WWW server used therefor, route information providing method and WWW server used therefor
JP3703297B2 (en) 1998-04-27 2005-10-05 株式会社日立製作所 Geographic information data management method
US6574551B1 (en) 1998-05-05 2003-06-03 Magellan Dis, Inc. Autoscaling of recommended route
JP3494920B2 (en) 1998-05-28 2004-02-09 インクリメント・ピー株式会社 Map information providing system and map information search method
US6163749A (en) 1998-06-05 2000-12-19 Navigation Technologies Corp. Method and system for scrolling a map display in a navigation application
US6076039A (en) 1998-09-03 2000-06-13 Garmin Corporation Navigation device and method for displaying cartographic markers
US6393149B2 (en) 1998-09-17 2002-05-21 Navigation Technologies Corp. Method and system for compressing data and a geographic database formed therewith and methods for use thereof in a navigation application program
US6363392B1 (en) 1998-10-16 2002-03-26 Vicinity Corporation Method and system for providing a web-sharable personal database
US6201498B1 (en) * 1998-11-17 2001-03-13 Judy Fan GPS receiver with close range wireless communication port
EP1134674A4 (en) 1998-11-24 2010-06-09 Panasonic Corp Data structure of digital map file
JP2000197103A (en) 1998-12-25 2000-07-14 Hitachi Commun Syst Inc Method for informing personal handy phone system possessor of current position
US6188955B1 (en) 1998-12-30 2001-02-13 Garmin Corporation Method and apparatus for storing cartographic route data
DE60027499T2 (en) * 1999-03-05 2006-11-16 Hitachi, Ltd. Information presentation system for mobile units
JP2000293099A (en) 1999-04-09 2000-10-20 Toyota Motor Corp Map database
DE59908421D1 (en) 1999-05-21 2004-03-04 Siemens Ag Method for obtaining a three-dimensional map display and navigation system
US6983313B1 (en) 1999-06-10 2006-01-03 Nokia Corporation Collaborative location server/system
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6307573B1 (en) 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
JP3596805B2 (en) 1999-07-29 2004-12-02 松下電器産業株式会社 Information terminal device and route guidance method
JP3543690B2 (en) 1999-08-11 2004-07-14 日本電気株式会社 Map display terminal, map display method used therefor, and recording medium recording control program therefor
GB2360421B (en) 1999-11-10 2004-02-18 Ibm Transmission of geographic information to mobile devices
US6343290B1 (en) 1999-12-22 2002-01-29 Celeritas Technologies, L.L.C. Geographic network management system
US6584328B1 (en) 2000-01-10 2003-06-24 Compal Electronics, Inc. Wireless communication system that uses keywords to find and display map graphic data
US20020055924A1 (en) 2000-01-18 2002-05-09 Richard Liming System and method providing a spatial location context
KR20000030232A (en) 2000-02-14 2000-06-05 한민홍 The rough map offer technology for cellular phone in Internet
US6424933B1 (en) 2000-03-17 2002-07-23 Vicinity Corporation System and method for non-uniform scaled mapping
EP1152383B1 (en) 2000-04-28 2008-02-20 Matsushita Electric Industrial Co., Ltd. Interactive navigation system
US20010044803A1 (en) 2000-05-22 2001-11-22 Kehyeh Szutu One step map retrieval by inputting a unique number
KR100316804B1 (en) 2000-05-25 2001-12-12 홍봉희 Apparatus and method for providing the dynamically created geographic information to mobile terminal
US6487495B1 (en) 2000-06-02 2002-11-26 Navigation Technologies Corporation Navigation applications using related location-referenced keywords
US7894986B2 (en) 2000-06-02 2011-02-22 Navteq North America, Llc Method and system for forming a keyword database for referencing physical locations
US7010567B1 (en) 2000-06-07 2006-03-07 Alpine Electronic, Inc. Map-data distribution method, and map-data distribution server and client
US6748426B1 (en) 2000-06-15 2004-06-08 Murex Securities, Ltd. System and method for linking information in a global computer network
US6253151B1 (en) 2000-06-23 2001-06-26 Navigation Technologies Corp. Navigation system with feature for reporting errors
US6278939B1 (en) 2000-07-24 2001-08-21 Navigation Technologies Corp. Method and system for providing data from a remotely located geographic database for use in navigation system units
US6292745B1 (en) 2000-07-24 2001-09-18 Navigation Technologies Corp. Method and system for forming a database of geographic data for distribution to navigation system units
US6591270B1 (en) 2000-07-28 2003-07-08 Navigation Technologies Corporation Method for organizing map data
US6674849B1 (en) 2000-07-28 2004-01-06 Trimble Navigation Limited Telephone providing directions to a location
US6703947B1 (en) 2000-09-22 2004-03-09 Tierravision, Inc. Method for organizing and compressing spatial data
US20020156792A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs
US7149625B2 (en) 2001-05-31 2006-12-12 Mathews Michael B Method and system for distributed navigation and automated guidance
US7245304B2 (en) * 2001-11-16 2007-07-17 Lockheed Martin Corporation System and method for managing compressed graphic image data
US7174243B1 (en) * 2001-12-06 2007-02-06 Hti Ip, Llc Wireless, internet-based system for transmitting and analyzing GPS data
US7496082B2 (en) * 2002-07-15 2009-02-24 Lee Howard K Dedicated device for automatically accessing wireless internet network and supplying wireless packet data-based indoor-capable GPS locations
US7363126B1 (en) 2002-08-22 2008-04-22 United Parcel Service Of America Core area territory planning for optimizing driver familiarity and route flexibility
US6973386B2 (en) * 2002-12-20 2005-12-06 Honeywell International Inc. Electronic map display declutter
WO2004097446A2 (en) * 2003-04-25 2004-11-11 New Jersey Institute Of Technology Wireless network assisted gps system
US20040260678A1 (en) 2003-06-18 2004-12-23 Microsoft Corporation State based configuration failure detection using checkpoint comparison
JP4503410B2 (en) * 2004-01-20 2010-07-14 クラリオン株式会社 Map data update method, map data update system, authentication key generation device and navigation device for in-vehicle navigation device
JP4669331B2 (en) * 2005-06-24 2011-04-13 アルパイン株式会社 VEHICLE TRAVEL GUIDE DEVICE AND UPDATED MAP DATA GENERATION METHOD FOR VEHICLE TRAVEL GUIDE DEVICE
JP4743055B2 (en) * 2006-09-07 2011-08-10 株式会社デンソー Map display control device and program for map display control device

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4630209A (en) * 1981-07-01 1986-12-16 Toyota Jidosha Kogyo Kabushiki Kaisha Audio/visual display system for multiple maps
US4888698A (en) * 1986-10-23 1989-12-19 U.S. Philips Corporation Method for storing a parcelwise divided digital data base as well as of addressing a data parcel in a mass memory, and apparatus for carrying out the method
US5754846A (en) * 1990-10-01 1998-05-19 U.S. Philips Corporation Method of storing a topological network, and methods and apparatus for identifying series of 1-cells in a network stored by such a method
US5202829A (en) * 1991-06-10 1993-04-13 Trimble Navigation Limited Exploration system and method for high-accuracy and high-confidence level relative position and velocity determinations
US5802492A (en) 1994-06-24 1998-09-01 Delorme Publishing Company, Inc. Computer aided routing and positioning system
US5848373A (en) * 1994-06-24 1998-12-08 Delorme Publishing Company Computer aided map location system
US6018695A (en) * 1996-01-26 2000-01-25 Navigation Technologies Corporation System and method for distributing information for storage media
US5953722A (en) * 1996-10-25 1999-09-14 Navigation Technologies Corporation Method and system for forming and using geographic data
US5968109A (en) * 1996-10-25 1999-10-19 Navigation Technologies Corporation System and method for use and storage of geographic data on physical media
US5974419A (en) * 1996-10-25 1999-10-26 Navigation Technologies Corporation Parcelization of geographic data for storage and use in a navigation application
US5966135A (en) * 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
US5881074A (en) 1997-03-25 1999-03-09 Level One Communications, Inc. 1000base-t packetized trellis coder
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6222483B1 (en) * 1998-09-29 2001-04-24 Nokia Mobile Phones Limited GPS location for mobile phones using the internet
US6178380B1 (en) 1998-10-22 2001-01-23 Magellan, Dis, Inc. Street identification for a map zoom of a navigation system
US20050004945A1 (en) 1999-12-22 2005-01-06 Cossins Robert N. Geographic management system
US6795450B1 (en) 2000-09-28 2004-09-21 Tdk Semiconductor Corporation Method and apparatus for supporting physical layer link-suspend operation between network nodes
US7079551B2 (en) 2000-10-05 2006-07-18 Kiribati Wireless Ventures, Llc Private network link verification procedure in free space optical communication network
US7054947B2 (en) 2001-01-15 2006-05-30 Samsung Electronics Co., Ltd. Auto-negotiation method for high speed link in gigabit Ethernet using 1000 Base-T standard and apparatus thereof
US6868088B2 (en) 2001-02-14 2005-03-15 3Com Corporation Automatic detector of media interface protocol type
US6708112B1 (en) 2001-12-11 2004-03-16 Garmin Ltd System and method for calculating a navigation route based on adjacent cartographic map databases
US20050125143A1 (en) 2001-12-11 2005-06-09 Garmin Ltd., A Cayman Islands Corporation System and method for estimating impedance time through a road network
US6704645B1 (en) 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
US7047428B2 (en) 2002-01-03 2006-05-16 Broadcom Corporation Method and apparatus for performing wake on LAN power management
US6912596B2 (en) 2002-08-02 2005-06-28 Texas Instruments Incorporated Automatic resume from suspend for IEEE-1394 PHY
US20050135413A1 (en) 2003-12-08 2005-06-23 Kewei Yang Signaling and coding methods and apparatus for long-range 10 and 100 MBPS Ethernet transmission

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109159A1 (en) * 2006-11-02 2008-05-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US7734412B2 (en) * 2006-11-02 2010-06-08 Yahoo! Inc. Method of client side map rendering with tiled vector data
US20120066005A1 (en) * 2010-09-10 2012-03-15 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating
US8504393B2 (en) * 2010-09-10 2013-08-06 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating
US8676613B2 (en) * 2010-09-10 2014-03-18 State Farm Mutual Automobile Insurance Company Methods for grid-based insurance rating
US8738407B2 (en) * 2010-09-10 2014-05-27 State Farm Mutual Automobile Insurance Company Computer readable medium containing a set of computer readable instructions for grid-based insurance rating
US8738408B2 (en) * 2010-09-10 2014-05-27 State Farm Mutual Automobile Insurance Company Methods for grid-based rating insurance products using a programmed computer system
US10262373B2 (en) 2013-06-07 2019-04-16 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating
US10650466B1 (en) 2013-06-07 2020-05-12 State Farm Mutual Automobile Insurance Company Systems and methods for grid-based insurance rating

Also Published As

Publication number Publication date
US6703947B1 (en) 2004-03-09
USRE41983E1 (en) 2010-12-07
USRE43923E1 (en) 2013-01-15

Similar Documents

Publication Publication Date Title
USRE40466E1 (en) Method for organizing and compressing spatial data
US8712445B2 (en) Method of applying a spherical correction to map data for rendering direction-of-travel paths on a wireless communications device
EP2560143B1 (en) Generating and serving tiles in a digital mapping system
US8368695B2 (en) Transforming offline maps into interactive online maps
US20030231190A1 (en) Methods and systems for downloading and viewing maps
EP1738329B1 (en) Generating and serving tiles in a digital mapping system
US20150088413A1 (en) Signature based map caching
US20100020091A1 (en) Generating and serving tiles in a digital mapping system
EP1253400A2 (en) Geographic location referencing system and method
CN101400138B (en) Map data simplifying method oriented to mobile equipment
US20050288836A1 (en) Geographic information data base engine
JP2020500319A (en) Map making device using machine learning and image processing
CN112639766A (en) Improving offline map data availability
EP2078926A1 (en) System and Method for Dynamically Downloading and Displaying Map Data
WO2004084437A1 (en) Navigation system using mobile device and method thereof
EP1939837A2 (en) Lossless real-time compression of geographic data
CN110995849B (en) Transmission and storage method of vector data position information
CN104713544A (en) Location information display method and equipment
WO2004099719A1 (en) Method and system for providing map information to mobile device
JP2001142819A (en) Method and device for plotting map
CN106464735B (en) Implementation of third-party services in digital service platform
US20140120942A1 (en) Real-time spherical correction of map data
Budiarto et al. Transformation of spatial data format for interoperability between GIS applications
KR100312410B1 (en) Method for compression and ecompression of vector data in ageographic information system
KR20080079344A (en) Geographic information data coding and decoding system and method thereof

Legal Events

Date Code Title Description
AS Assignment

Owner name: TIERRAVISION, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WALLNER, ALFRED;REEL/FRAME:031483/0138

Effective date: 20030619