NZ515887A - Automatic map-generation and labeling including real-time map generation from details in database - Google Patents

Automatic map-generation and labeling including real-time map generation from details in database

Info

Publication number
NZ515887A
NZ515887A NZ51588701A NZ51588701A NZ515887A NZ 515887 A NZ515887 A NZ 515887A NZ 51588701 A NZ51588701 A NZ 51588701A NZ 51588701 A NZ51588701 A NZ 51588701A NZ 515887 A NZ515887 A NZ 515887A
Authority
NZ
New Zealand
Prior art keywords
map
label
solution
labels
current
Prior art date
Application number
NZ51588701A
Inventor
Lawrence Jason Reid
Original Assignee
Arda Systems Ltd
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
Application filed by Arda Systems Ltd filed Critical Arda Systems Ltd
Priority to NZ51588701A priority Critical patent/NZ515887A/en
Publication of NZ515887A publication Critical patent/NZ515887A/en

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

A computer - Implemented method of automatically positioning labels for features of an electronically rendered map comprises the steps of: storing a structural representation of the map features from in computer memory, one or more of the map features associated with a label, rendering one or more of the map features from the structural representation in a graphic representation, for one or more of the map features rendered, determining a placements for the associated label in the graphic representation, defining the set of label placement to be the current labeling solution, evaluating whether the current labeling solution is optimal by applying an objective function, and while the result of the objective function is sub-optimal performing the steps of: producing a plurality of alternative labeling solutions from the current solution by performing at least one transformation on one or more of the label placements, evaluating each alternative labeling solution with the objective function , selecting the best solution as the new current solution, and evaluating whether the current map labeling solution is optimal by applying the objective function.

Description

i 1 PATENTS FORM 5 Number 515887 PATENTS ACT 1953 Dated 3 December 2001 COMPLETE SPECIFICATION SYSTEM AND METHOD FOR AUTOMATIC MAP-GENERATION AND LABELING We, ARDA SYSTEMS LIMITED, a New Zealand company, of 14 Spey Place, Papakowhai, Wellington, New Zealand, do hereby declare the invention for which we pray that a patent may be granted to us, and the method by which it is to be performed, to be particularly described in and by the following statement. 21733-1 2 FIELD OF INVENTION The invention relates to automated map generation and in particular to a method, system, and computer program for on-demand, generation and labeling of street maps.
BACKGROUND TO INVENTION In the past, web sites on the Internet concerned with providing maps to users have used scanned or digitised versions of manually produced paper maps. Due to their large file 10 size these maps are slow to download over traditional wired connections and are unsuitable for display on WAP enabled mobile devices. The traditional methods of presenting such scanned or digital maps online are also not particularly well suited to on-demand, real time delivery of street maps over a wide area network such as the Internet, particularly to a wide variety of user devices with very different capabilities and 15 connection speeds. Even so, most Internet map providers today still take this approach.
A far more effective approach is to generate the required map on demand. Some effort has gone into developing techniques for doing this. Some systems which can automatically generate and label features of topological maps already exist.
If the map is a street map then as part of the map generation process street names need to be positioned along road casings. Road casings generally take the form of two parallel lines that represent the road on a map although for simpler of lower resolution maps a road casing may be a simple line.
The labeling of a road network is a specialised instance of the problem of labeling line features in a map. The general line-labeling problem has been the topic of considerable research effort in the past, and this research has produced some automatic methods that are suitable to some extent for labeling line features, such as rivers and mountain ranges 30 and to a more limited extent, roads. These approaches make use of a flat or uniformly curved text baseline for the labeling of such features. 21733-1 •10 3 Because of the high information density in a dedicated street map and cartographic legibility constraints, the generation of street maps has historically not employed general line feature labeling methods. The production of street maps has centred on manual cartographic processes, where the cartographer manually places text labels on top of a road network. With the advent of low cost, high-powered digital computers running GIS and CAD systems, efficiency gains have been made in the street map production process. But the process is still highly labour intensive as the cartographer is still responsible for making decisions about where the individual text elements are to be placed. Whenever the maps need to be altered, for example to change the scale or rendering style to allow the map to be delivered to a graphics enabled cellular phone or to a personal digital assistant rather than personal computer or paper media, the cartographer is required to manually reposition the text elements. For cities the manual effort expended can easily be in the order of man-years. For an entire country, the effort of manually producing sets of legible street maps for today's wide variety of end devices is not economically feasible.
It would be useful to have a method for generating maps electronically where the labeling of map features such as streets in a road network is automated, allowing the output to be generated for a wide variety of media and presentation devices, produced to any size or scale. It would also be useful if the method produced map labelings that bear a high degree of visual similarity to the style of labeling performed by manual cartographic processes for street maps, providing legibility even when the street map being produced is dense.
SUMMARY OF INVENTION In broad terms in one form the invention provides a computer-implemented method for automatically positioning labels for features of an electronically rendered map comprising the steps of storing a structural representation of the map features in computer memory, one or more of the map features associated with a label; rendering one or more of the map features from the structural representation in a graphic representation; for one 21733-1 4 or more of the map features rendered, determining a placement for the associated label in the graphic representation; defining the set of label placements to be the current labeling solution; evaluating whether the current labeling solution is optimal by applying an objective function; and while the result of the objective function is sub-optimal 5 performing the steps of: producing a plurality of alternative labeling solutions from the current solution by performing transformations on one or more of the label placements; evaluating each alternative labeling solution with the objective function; selecting the best solution as the new current solution; and evaluating whether the current map labeling solution is optimal by applying the objective function.
In broad terms in another form the invention provides a system for automatically rendering and labeling a map comprising at least one structural representation of map features stored in computer memory, one or more of the map features associated with a label; a map renderer configured to translate one or more of the map features from the 15 structural representation into a graphic representation capable of being rendered on a display; a display configured to display the graphic representation of a map to a user; and map labeling means configured to determine the optimum placement of labels in the graphic representation of a map by performing the steps of: for one or more of the map features in the graphic representation, determining a placement for the associated label 20 within the graphic representation; defining the set of one or more label placements to be the current labeling solution; evaluating whether the current labeling solution is optimal by applying an objective function; and while the result of the objective function is sub-optimal performing the steps of: producing a plurality of alternative labeling solutions from the current solution by performing transformations on one or more of the label 25 placements; evaluating each alternative labeling solution with the objective function; selecting the best solution as the new current solution; and evaluating whether the current map labeling solution is optimal by applying the objective function. 21733-1 intellectual property office of n.z \ 7 MAY 2001t RECEIVED BRIEF DESCRIPTION OF THE FIGURES Preferred forms of the map generation system, method and computer program will now be described with reference to the accompanying figures in which: Figure 1 illustrates a preferred computer architecture for carrying out the invention; Figure 2 illustrates a preferred network architecture for carrying out the invention; Figure 3 is a flow diagram of a preferred method of deriving structural and geometric models of the road network; Figure 4 illustrates the original vector-based form of the road network data; Figure 5 illustrates the road network still in vector form but with the direction of vectors in individual road segments harmonised; 6 Figure 6 illustrates the road network represented as a directed graph; Figure 7 illustrates the most basic preferred structural representation of the road network 5 centreline; Figure 8 illustrates a small section of a directed graph structure which could be used to represent the road centreline of a road network for the purposes of label placement; Figure 9 illustrates a preferred method of placing a label along a representation of the road centerline; Figure 10 illustrates a label inside a road casing; Figure 11 is a flow chart of the basic steps involved in the optimisation the labeling solution; Figure 12 shows an automatically generated map incorporating user selected features; 20 Figure 13 shows an automatically generated map highlighting a user selected feature; Figure 14 is an instance of the process illustrated in Figure 11; Figure 15 shows an example initial solution for the instance illustrated in Figure 14; Figure 16 shows one example label transformation for the initial solution illustrated in Figure 15; and Figure 17 shows an alternative example label transformation for the initial solution 30 illustrated in Figure 15. 21733-1 7 DETAILED DESCRIPTION OF PREFERRED FORMS One preferred means of implementing the invention comprises a personal computer or 5 workstation operating under the control of appropriate operating and application software.
Figure 1 shows the preferred system architecture of a personal computer or server which could be used to implement the invention. The personal computer or server 100 typically 10 comprises a central processor 102, a main memory 104 for example RAM, and an input/output controller 106. The personal computer or server 100 also comprises peripherals such as a keyboard 108, a pointing device 110 for example a mouse, touch pad or track ball, a display or screen device 112, a mass storage memory 114 for example a hard disk, floppy disk or optical disc, and an output device 116 for example a printer. 15 The personal computer or server 100 could also include a network interface card or controller 118 and/or a modem 120. The individual components of the system 100 could communicate through a system bus 122.
Figure 2 illustrates a block diagram of a preferred network arrangement 200 in which the 20 present invention may be implemented.
The network arrangement 200 preferably includes one or more clients. These clients may have a generally fixed location such as clients 201A, 201B, 201C, 201D, 201E and 201F, which may comprise a personal computer or workstation as illustrated in Figure 1. 25 Alternatively or in addition there may be mobile clients such as clients 202A, 202B, 202C or 202D which may comprise for example, a Personal Digital Assistant (PDA) 202A, a mobile phone 202B, a laptop computer 202C, or a vehicle such as car which has been fitted with a telematic device capable of accessing a mobile network for example 202D. A mobile client 202 may comprise any device capable of downloading and 30 displaying graphic information such as a map for example. A mobile client may be WAP capable or may use any other available mobile technology to access the invention. 21733-1 8 Each client 201 or 202 could be connected to a computer system 203 capable of carrying out the invention. Computer system 203 may comprise a personal computer or server as described above and illustrated in Figure 1. The system 203 could comprise a data 5 memory 203A in which is stored geographical information which can be used to carry out the invention. The data memory 203A is connected to a server 203B programmed to carry out the invention.
Clients could be connected directly to the computer system 203, could be connected 10 through a local area network or LAN, could be connected through the internet or could be connected through a mobile network via a WAP gateway, for example.
Clients 201A and 20IB for example, are connected to a network 204, such as a local area network or LAN. The network 204 could be connected to a suitable network server 205 15 and communicate with computer system 203 as shown. Client 201C is shown connected directly to the system 203. Client 20ID is shown as connected to the system 203 through the Internet 208 and clients 20IE and 20IF are shown connected to a network 206 such as local area network or LAN, with the network 206 connected to a suitable network server 207 which in turn accesses the invention through the internet 208. A client 201 20 may be connected to the invention via any combination of wire or fixed wireless technology.
Mobile clients 202A, 202B, 202C and 202D are shown connected to the system 203 through a mobile network 209.
Users may access and use the invention through any one of clients 201 or 202 or by accessing computer system 203 directly.
The invention is primarily embodied in the methodology set out below as implemented 30 through computing resources as described above and illustrated in Figures 1 and 2. The invention is also embodied in the software used to implement the methodology and in any 21733-1 9 system comprising a combination of hardware and software used to implement the methodology.
In order to be able to generate a map on demand, data representing the map features must 5 be stored in an abstract form. A map feature may be a road or street in a road network or a river in a network of rivers, for example.
A road network model is typically stored in a geographic information system in data memory 203A, represented as thousands or millions of line segments organized into a set 10 of disconnected polylines made up of individual vectors and stored in a database. This type of representation may be referred to as a geo-spatial model and is the most common form in which this type of data is stored. The vector polylines may have attributes such as the road name and database key. In order to generate the map and be able to place labels on the roads it is necessary to derive a structural model of the road network from 15 this initial geo-spatial model.
Figure 3 is a flow diagram of the preferred process of deriving the preferred structural models for carrying out the invention.
Initially the road network model is retrieved from a geographic information store as shown at 301. A small portion of such a model is illustrated in Figure 4. The representation of the road centreline in a typical geo-spatial model will consist of generic vector information. It is not uncommon for the vectors which make up a single street or road for example to have conflicting or opposing directions.
This is illustrated for example in Figure 4 where the representation of a single road 400 is made up of two vectors 401 and 402. The two vectors each represent geometric information about the shape of the road but the direction vectors are almost opposing each other. It is not possible to start at one end of the road representation and follow the 30 successive vectors to the endpoint of the road representation. A vector representation in which successive vectors follow on from one another in such a way may be referred to as 21733-1 harmonised. The process of transforming a vector representation of a road network as shown in Figure 4 into a form in which the vectors that make up a single road are harmonised may be referred to as harmonisation.
Similarly the road 403 is represented by three direction vectors 404, 405 and 406. Once again the vectors do not follow on from one end of the road to another. The direction of the vectors is not harmonised.
In the present invention the preferred data structure for storing information regarding 10 road centerlines in a road network for the purposes of labeling the roads is a directed graph. The next step in deriving a workable model as shown in Figure 3 at 302 is therefore to harmonise the direction of the vectors which will make up a single edge in the final directed graph representation. Figure 5 shows the same portion of the road centreline model from Figure 4 but this time the direction of all vectors contributing to 15 any single road have been harmonised.
In order to perform harmonisation, the invention must first ascertain which vectors represent a single road and then a harmonised direction must be chosen for the vectors which define that road. This means that while maintaining the same basic geometric 20 information the vectors should be oriented in such a way that they follow on from each other in succession from one end of the road to the other.
The result of this process can be seen in Figure 5 where the direction of vectors 501 and 502 are harmonised with each other while still maintaining the same information about 25 the curve of the road as the vectors 401 and 402 in Figure 4. The directions of vectors 503, 504 and 505 have also been harmonised, where vectors 404, 405, and 406 were not.
The preferred orientation of the vectors for any given map feature or road would depend on pre-determined rules which define the best orientation of the label of that road or map 30 feature for the purposes of legibility in the final map representation. This is because the 21733-1 11 labels which will ultimately be attached to the map features will take their orientation from the direction of the edge which represents the map feature in the directed graph.
The next step as shown at 303 in Figure 3 is to amalgamate or join the individual vector 5 chunks which make up each road into a single unified edge. Figure 6 illustrates the same portion of road model as Figures 4 and 5 at the stage when the vectors have been amalgamated into a graph edge. For example the two vectors 501 and 502 in Figure 5 are represented in Figure 6 as a single directed edge 601. At this stage in the process the model has been transformed into a directed graph. Each edge is a single directed polyline 10 with the polyline defining the curves in the road. The nodes of the graph represent intersections in the road network. This is the preferred model for the labelling of a road network.
Figure 7 illustrates an alternative useful structural model which may be derived to carry 15 out some functions of the invention. In this model the road centreline is represented as an undirected graph. This model is well suited to the task of rendering road casings for example. This model may also be used for performing other tasks requiring general information about road features such as road length.
Figure 8 shows a schematic diagram of a small portion of a particularly preferred directed graph structure which could be derived by the invention and used to represent road centerlines for the purposes of labeling roads in a map. Each edge of the graph, for example 801, represents a road or section of the road network. Each edge is comprised of the polyline which is the geometric representation of the road centreline. Each of these 25 polylines is a continuous line composed of one or more line segments, for example 802. The nodes of the graph, for example 803, are used for connectivity purposes only and contain data concerning the interconnectivity of roads. The nodes in the directed graph are therefore the equivalent of intersections in the road network. Each edge may also comprise additional data fields such as, for example, the name of the street which the 30 graph edge represents. 21733-1 12 Once the structural model of the road network has been derived it may be stored in computer memory 230A as indicated at 304 in Figure 3 and the task of rendering the map and particularly labeling the map features or roads may begin.
Typically the invention will generate a map for a particular geographical area of interest specified by a user. In the case where this area of interest forms a subset of the map features stored in a structural model in computer memory 203A, as may be the case when a user wishes to see a map of a particular suburb within a city, only the relevant part of the structural model will be rendered in graphical form. In cases where the user requests an area that is outside that stored in a structural model in computer memory 203A, the system may be able to access a relevant geo-spatial model from an external geographic information system and generate a structural model on demand as described above.
In all cases the invention will generate a graphic representation of a structural model or part thereof as requested by a user along with any supplementary related features and display this representation to a user as a map on a graphic display device, for example 112 in Figure 1, or alternatively the display components of clients 202A, 202B, 202C, or 202D from Figure 2.
The invention will first generate graphic representations of the map features. In the case of roads this may involve generating and rendering road casings which must fit together at any intersections and terminate at any dead ends. The invention will then determine a position within the graphic representation in which to place any labels that are associated with the map features in the structural model.
The method of the invention is described below with reference to road maps but the method could also be used to label other map features, particularly interconnected linear features such as rivers.
In the case of roads, the preferred place for road labels within the graphic representation will be within the road casing of the corresponding road. In the case of a low resolution 21733-1 13 rendering of the map where roads are represented by simple lines, a preferred place for road labels will be in substantial alignment with the line representation of the corresponding road. Road casings will in turn be aligned with the road centerline as defined by the corresponding polyline in the structural model.
Every road represented by a structural model for the map is labeled initially, with the initial label placement being in substantial alignment with the road centerline.
Figure 9 illustrates a preferred method of placing a label to fit to the road centerline. Each 10 road label, such as for example "Queens Parade" is decomposed into a set of graphic symbols or glyphs for example 900A, 900B, 900C and 900D, each glyph being made up of one or more characters. The edge polyline in the graph representing the road to be labeled, in this case Queens Parade, must then be reviewed and analysed to determine the best positioning for the glyphs along the segments of the polyline. The process begins at 15 one end of the polyline and advances along the line segments for that polyline to determine linear features of the polyline as a whole, and in particular the total length. The labels can then be placed so that the text appears in the length-wise center of the directed graph edge. This means that there is the same amount of total polyline length before and after the glyphs along the edge. The normal vector 901 and length of each line segment 20 within the polyline that represents the street is used to determine a baseline position 902 and angle of rotation 903 for each glyph. A glyph should generally be vertically centred on the polyline segment.
Figure 10 illustrates a road for which a label has been produced and rendered within an 25 appropriate road casing 1002 according to the invention. The road casings are centred around polyline 1003. The polyline is not visible in the final user display.
Once the initial label placement has been made the invention uses an objective function to rate the 'success' of the labeling solution. The primary quality criterion used by the 30 objective function is the number of collisions between text labels. That is, the number of times text labels overlap each other is used as the basis for measuring the quality of the 21733-1 14 initial labeling solution and any alternative candidate labeling solution which is produced thereafter. In this problem, better labeling solutions correspond to lower scores as measured by this objective function.
As glyphs can be very close without actually colliding, a solution which the computer deems to cause no collisions may still be difficult for a human viewer to read. The collision test is therefore based on bounding intersections between glyphs where the glyph bounding box has been enlarged to provide a minimum allowable distance between glyphs from different roads.
Figure 11 shows a simplified flow chart of the general process which is used to optimise the labeling solution.
At the start of the optimisation process, an initial solution comprising individual label 15 placements for each map feature is generated at 1101 as described above. This solution is defined as the default current solution.
If the current solution is not optimal according to the results of the objective function at 1102 and 1103 the program attempts to improve the quality of the map by creating a 20 plurality of alternative labeling solutions derived from the current solution. The new candidate solutions are generated by performing transformations on selected labels of the current solution.
Possible transformations could, for example, include deleting a label from the map, 25 shifting a label or splitting a label. If the label is to be shifted the label is moved along the polyline from its initial centred position. If the label is to be split a label word may be divided into two parts, the first part is hyphenated and the second part is positioned below the first part, parallel with it.
In order to decide which labels to select for transformation the system prioritises the labels in the map based on pre-determined heuristics at 1104. 21733-1 The heuristics may be based on one or more attributes of the roads represented in the graph. One important attribute included in the heuristics may be the importance of a road with regard to traffic flow. Using this criterion, highways and arterial routes will have a 5 comparatively high priority and labels for this type of road will be less likely to be considered good candidates for radical transformations than labels of small suburban streets, for example.
Labels could also be prioritised, for example, according to the number of collisions a 10 label contributes to. Labels that are involved in a large number of collisions may be ranked as better candidates for transformation than those that contribute to a smaller number of collisions.
Additionally, a dynamically generated electronic map may allow for the selective display 15 of user-requested features. For example, a user may wish to be shown all schools located within the map area. Other examples of user-requested features may include the highlighting of the locations of ATMs, hospitals, parks, petrol stations and so on, or even of a particular address or a particular street.
The inclusion of such features may require the use of thematic map layers. A thematic map layer may contain geographic information relating to the position relative to the structural model of a supplemental item or feature that may be of interest to a user but is not an essential feature of a map. A layer may exist for each supplemental feature or class of supplemental feature that a user may conceivably wish to be visible on the map.
Roads referred to by active layers will be less likely to have their labels deleted than roads that are not. For example, there may be a thematic map layer for "Hospitals" with data that identifies hospital locations relative to the map features in the structural model and therefore in the map. If the user has requested to be shown hospitals, in other words 30 the "Hospital" thematic layer is active, then those streets referred to in the "Hospitals" 21733-1 16 thematic layer as being the location of a hospital may be given a higher priority and will be less likely to be considered good candidates for label deletion.
An example of the incorporation of user-defined features in a map generated in 5 accordance with the invention is shown in Figure 12. In this example a user has defined a region of interest and has requested that the location of all schools be indicated on the map. The invention then generates a map and includes indicators such as 1201, 1202, and 1203 marking the location of schools. In this example, the map label of any street on which a school was located or from which a school may be accessed will be given a 10 higher priority and will not be considered a good candidate for transformation.
Figure 13 shows an example map where a user has requested that the location of a particular street, Allen Street 1301, be indicated on the map. Because of the user's interest in Allen Street, the map label for this street would not be considered a good 15 candidate for transformation and would be prioritised accordingly.
Once the invention has completed prioritisation of the map labels it applies transformations to labels with appropriate (lower) priorities as shown at 1105.
All new candidate solutions generated are evaluated with the objective function at 1106. Old candidate solutions which were generated in any previous iteration of the optimisation algorithm are re-examined. If these solutions can also be derived from the current solution then a new objective function value is calculated for these solutions with reference to the current solution. The system then selects the new current solution to be 25 the candidate solution with the lowest updated objective function value at 1107 and the process loops back to the test at 1103 If the objective function value of the new current solution is not optimal according to the test at 1103 then the process of optimisation repeats with the system producing new 30 candidate solutions derived from the new current solution. 21733-1 17 This process repeats until a solution with an optimal objective function value is found.
Figure 14 shows, by way of example, a flow diagram of a specific instance of the process illustrated in Figure 11. In this instance the initial label solution made at 1401 is a simple 5 centering of the label on the midway point along the polyline which represents a road. The label placement process of the invention has been considerably simplified in this example purely for the sake of clarity.
Figure 15 illustrates an example of an initial labeling solution for two roads labeled 10 "Queen" 1501 and "Main" 1502 according to this simplified label placement solution.
Following the process illustrated in Figure 14 the invention then applies an objective function to the initial labeling solution at 1402. In this instance this means counting the number of label collisions. The test for the optimal labeling solution is whether the 15 number of collisions equals zero as shown at 1403. If it does not, as in the initial labeling solution illustrated in Figure 15, then the invention must apply pre-determined rules to select labels as candidates for transformation as shown at 1404. In this instance the system selects the labels which contribute to the largest number of collisions, although, as outlined above, other heuristics may be used in addition to or instead of this to select 20 candidate labels for transformation.
For the example illustrated in Figure 15 the system selects the label "Queen" 1501 as the best candidate for label transformations. The system now uses a further set of predetermined rules to apply the most appropriate transformations to the label as shown at 25 1405. In this instance shifting the label is the preferred label transformation choice while deleting the label is considered to be acceptable as a last resort. Once again, other rules may be used to prioritise label transformations without departing from the scope of the invention as described above. 21733-1 18 Figure 16 shows one new resultant solution in which the label "Queen" 1501 has been shifted to the right. Figure 17 shows an alternative solution generated by the system in which the label "Queen" 1501 has been shifted to the left.
Referring to Figure 14 the system now applies the objective function to each resultant solution as shown at 1401. In the example illustrated in Figure 12 this means counting the number of collisions for each resultant solution.
The system then applies the objective function to each new solution, in this case counting 10 the number of collisions of each new solution as shown at 1406. The system then selects the solution with the lowest number of collisions as the new current solution at 1407. Out of the solutions illustrated in Figures 16 and 17 the system would select the solution illustrated in Figure 17 with zero collisions rather than the solution illustrated in Figure 16 with one collision.
The system now checks whether the number of collisions for the new solution equals zero. For the solution illustrated in Figure 17 this is true so the solution is found to be optimal and the process ends and the final label solution is fixed.
Maps that are generated on demand in accordance with the present invention are ideally suited to delivery to and display on a wide range of end user devices with very different capabilities with respect to the resolution and size of the display. Because a graphic representation of both map features and labels can be generated on demand from a structural model, the invention is capable of providing maps at an appropriate resolution 25 for any end user device, for example any of the clients 201 and any of the mobile clients 202 in Figure 2.
The on demand nature of the graphic representations also means that a user may choose to view a map at many different levels of detail. In other words a user can zoom in and 30 out on a map and each time user changes zoom preferences the representation may be regenerated at an appropriate resolution and level of detail, meaning that the map will 21733-1 19 never be fuzzy due to inappropriate resolution and will almost always be clear and legible within reasonable constraints.
As mentioned above, street maps which can be dynamically generated in this way are 5 also ideally suited to the delivery of customised geographical information. In other words, because the map is rendered on demand from a structural model, it is easy to include and highlight supplemental features that a user may wish to identify on the map. Such features may include addresses or local facilities as described above.
This concept can be expanded to include the idea of tracking mobile assets and items of value such as vehicles, boats, light air-craft, jet skis, caravans and even people (for example, children), pets or valuable livestock.
As mentioned above, because the map is generated on demand it can also be customised 15 for the device on which it will ultimately be viewed and a map can be created with the appropriate resolution and level of detail for any end device including mobile phones, PDAs, pocket PCs and devices that are a mergence of these technologies.
The system is therefore also suitable as a base for the provision of user-location based 20 services using maps as the baseline to wireless devices. Maps delivered over the mobile telephone network to wireless devices have a number of applications.
When the system is used from a cell-phone the location of the device can be determined, for example, through the triangulation of cell site towers or through the use of GPS. By 25 deploying this technology a map showing the present location of the user can be delivered to the handset.
Maps produced according to the invention could also be used for providing routing instructions from a point of origin to a specific destination, the location of mobile assets 30 using GPS or could utilize telematics to display location-based information to other wireless devices including those in motor vehicles. 21733-1 The foregoing describes the invention including preferred forms thereof. Alterations and modifications as will be obvious to those skilled in the art are intended to be incorporated within the scope hereof, as defined by the accompanying claims. 21733-1 21

Claims (52)

WHAT WE CLAIM IS:
1. A computer-implemented method of automatically positioning labels for features of an electronically rendered map comprising the steps of: storing a structural representation of the map features in computer memory, one or more of the map features associated with a label; rendering one or more of the map features from the structural representation in a graphic representation; for one or more of the map features rendered, determining a placement for the associated label in the graphic representation; defining the set of label placements to be the current labeling solution; evaluating whether the current labeling solution is optimal by applying an objective function; and while the result of the objective function is sub-optimal performing the steps of: producing a plurality of alternative labeling solutions from the current solution by performing at least one transformation on one or more of the label placements; evaluating each alternative labeling solution with the objective function; selecting the best solution as the new current solution; and evaluating whether the current map labeling solution is optimal by applying the objective function.
2. A method as defined in claim 1 wherein the structural representation is a directed graph. 21733-1 22
3. A method as defined in claim 2 wherein the edges in the directed graph represent sections of the road network between intersections and dead ends.
4. A method as defined in claim 2 or claim 3 wherein one or more of the edges in the graph comprises a polyline containing the geometrical representation of the road centerline as a sequence of connected line segments.
5. A method as defined in any one of claims 2 to 4 wherein the nodes in the graph contain the interconnectivity data of the roads arriving at an intersection. • 10
6. A method as defined in any one of the preceding claims wherein the labels for features include road labels.
7. A method as defined in any one of claims 2 to 6 wherein an initial label placement 15 comprises the steps of: decomposing the road label into one or more glyphs, each glyph comprising one or more characters; and placing the labels so that the text appears in the length-wise center of the graphic representation of the associated directed graph edge.
8. A method as defined in claim 7 wherein the initial label placement further comprises the step of determining a baseline position and rotation for each glyph from the direction vector and length of each successive line segment. 25 9. A method as defined in any one of the preceding claims wherein the objective function is based on the number of collisions between labels in the current labeling solution. 21733-1 intellectual property office of N.z 17 MAY 20M
RECEIVED 23
10. A method as defined in any one of claims 7 to 8 wherein each glyph has a bounding box area defined around it which provides a minimum allowable distance between glyphs. 5
11. A method as defined in claim 10 wherein a collision comprises a collision of the bounding boxes of two or more glyphs from different labels.
12. A method as defined in any one of the preceding claims wherein at least one 10 transformation for a particular label comprises deleting the label.
13. A method as defined in any one of claims 7 to 12 wherein at least one transformation for a particular label comprises moving the label along a centreline from its initial centred position. 15
14. A method as claimed in any one of the preceding claims wherein at least one transformation for a particular label involves dividing a label into two parts, hyphenating the label and placing the second part of the label below and substantially parallel to the first half. £ 20
15. A method as claimed in any one of the preceding claims wherein the labels in the current labeling solution are selected as candidates for transformation according to pre-defined priorities. 25
16. A method as claimed in claim 15 wherein labels in a current labeling solution are prioritized according to size and significance. rlNTiuSTUATPROPERTY office oe n.z 21733-1 i \ 1 2004 received 24
17. A method as claimed in claim 15 or 16 wherein labels in a current labeling solution are prioritized according to the number of collisions that a label contributes to. 5
18. A method according to any one of the preceding claims wherein a user selects features of a map that are significant to the user.
19. A method according to claim 18 wherein labels in a current labeling solution are prioritized according to whether the feature they label is related to a user selected 10 feature.
20. A method according to any one of the preceding claims wherein a solution with the lowest possible objective function value is optimal. 15
21. A method according to any one of the preceding claims wherein the map is created in real time and delivered for display on a remote device across a network.
22. A method according to claim 21 wherein the map is generated with a size and resolution appropriate for the calling device. 20
23. A method according to any one of claims 21 and 22 wherein the map is requested across a wireless network.
24. A method according to any one of the previous claims wherein the map includes 25 user-defined items and features. 21733-1 Tntellectual property office of n.z 1 7 MAY 2004 RECEIVED 25
25. A method according to claim 24 wherein a user-defined item is a mobile asset capable of being tracked electronically.
26. A system for automatically rendering and labeling a map comprising: at least one structural representation of map features stored in computer memory, one or more of the map features associated with a label; a map rendering component configured to translate one or more of the map features from the structural representation into a graphic representation capable of being rendered on a display; a display configured to display the graphic representation of a map to a user; and a map labeling component configured to determine the optimum placement of labels in the graphic representation of a map by performing the steps of: for one or more of the map features in the graphic representation, determining a placement for the associated label within the graphic representation; defining the set of one or more label placements to be the current labeling solution; evaluating whether the current labeling solution is optimal by applying an objective function; and while the result of the objective function is sub-optimal performing the steps of: producing a plurality of alternative labeling solutions from the current solution by performing transformations on one or more of the label placements; fTNTBllcfuAl3^ERTY J OFPiCP OF N.Z 1 \ 7 MAX 2004 26 evaluating each alternative labeling solution with the objective function; selecting the best solution as the new current solution; and 5 evaluating whether the current map labeling solution is optimal by applying the objective function.
27. A system as defined in claim 26 wherein the structural representation is a directed graph.
28. A system as defined in claim 27 wherein the edges in the directed graph represent sections of the road network between intersections and dead ends.
29. A system as defined in claim 27 or claim 28 wherein one or more of the edges in 15 the graph comprises a polyline containing the geometrical representation of the road centerline as a sequence of connected line segments.
30. A system as defined in any one or claims 27 to 29 wherein the nodes in the graph contain the interconnectivity data of the roads arriving at an intersection. 0 20
31. A system as defined in any one of claims 26 to 30 wherein the labels for map features include road labels.
32. A system as defined in any one of claims 27 to 31 wherein performing an initial 25 label placement comprises the steps of: decomposing the road label into one or more glyphs, each glyph comprising one or more characters; and "intellectual property 1 OFFICE OF N2 2i733-1 | 1 y m 20Q4 RECEIVED 27 placing the labels so that the text appears in the length-wise center of the graphic representation of the associated directed graph edge.
33. A system as defined in claim 32 wherein performing the initial label placement 5 further comprises the step of determining a baseline position and rotation for each glyph from the direction vector and length of each successive line segment. •
34. A system as defined in any one of claims 26 to 33 wherein the objective function is based on the number of collisions between labels in the current labeling 10 solution.
35. A system as defined in any one of claims 32 to 33 wherein each glyph has a bounding box area defined around it which provides a minimum allowable distance between glyphs. 15
36. A system as defined in claim 35 wherein a collision comprises a collision of the bounding boxes of two or more glyphs from different labels.
37. A system as defined in any one claims 26 to 36 wherein one possible transformation for a particular label comprises deleting the label. 20
38. A system as defined in any one of claims 32 to 37 wherein one possible transformation for a particular label comprises moving the label along a centreline from its initial centred position. 25
39. A system as claimed in any one of claims 26 to 38 wherein one possible transformation for a particular label involves dividing a label into two parts, 21733-1 f inmitctuai Property' 1 OFPICf of n.z 17 MAY 2004 received 28 hyphenating the label and placing the second part of the label below the first half, parallel to it.
40. A system as claimed in any one of claims 26 to 39 wherein the labels in the 5 current labeling solution are selected as candidates for transformation according to pre-defined priorities.
41. A system as claimed in claim 40 wherein labels in a current labeling solution are prioritized according to size and significance. 10
42. A system as claimed in claim 40 or 41 wherein labels in a current labeling solution are prioritized according to the number of collisions that a label contributes to. 15
43. A system according to any one of claims 26 to 42 further comprising a data input means configured to allow a user to select features of a map which are significant to them.
44. A system according to claim 43 wherein labels in a current labeling solution are 20 prioritized according to whether the feature they label is related to a user selected feature. 25
45. A system according to any one of claims 26 to 44 wherein a solution with the lowest possible objective function value is optimal.
46. A system according to any one of claims 26 to 45 wherein the display is located on a remote device . ,, , — INTELLECTUAL PROPERTY OFFICE 0^ N.Z 21733-1 1 7 MAY 2004 received 29 5 10
47. A system according to claim 46 wherein the map is generated with a size and resolution appropriate for the remote device display.
48. A system according to any one of claims 46 and 47 wherein the map is delivered to the display across a wireless network.
49. A system according to any one of claims 26 to 48 wherein the map includes user-defined items.
50. A system according to claim 49 wherein a user-defined item is a mobile asset capable of being tracked electronically.
51. A method of automatically positioning labels for features of an electronically rendered map substantially as herein described with reference to the accompanying figures.
52. A system for automatically rendering and labeling a map substantially as herein described with reference to the accompanying figures. 21733-1 17 MAY 20CI RECEIVED
NZ51588701A 2001-12-03 2001-12-03 Automatic map-generation and labeling including real-time map generation from details in database NZ515887A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
NZ51588701A NZ515887A (en) 2001-12-03 2001-12-03 Automatic map-generation and labeling including real-time map generation from details in database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NZ51588701A NZ515887A (en) 2001-12-03 2001-12-03 Automatic map-generation and labeling including real-time map generation from details in database

Publications (1)

Publication Number Publication Date
NZ515887A true NZ515887A (en) 2004-08-27

Family

ID=32867160

Family Applications (1)

Application Number Title Priority Date Filing Date
NZ51588701A NZ515887A (en) 2001-12-03 2001-12-03 Automatic map-generation and labeling including real-time map generation from details in database

Country Status (1)

Country Link
NZ (1) NZ515887A (en)

Similar Documents

Publication Publication Date Title
US10360228B1 (en) Ranking of geographic information
ES2425555T3 (en) Navigation system that uses corridor maps
US7440875B2 (en) Schematic generation
US7599790B2 (en) Generating and serving tiles in a digital mapping system
US8983773B2 (en) Pictorial navigation
Kropla Beginning MapServer: open source GIS development
Nivala et al. Need for Context-Aware Topographic Maps in Mobile Devices.
US9885585B1 (en) Route based search
US20090027418A1 (en) Map-based interfaces for storing and locating information about geographical areas
US20080133579A1 (en) Map service system and method
US20090210388A1 (en) Efficiently discovering and synthesizing maps from a large corpus of maps
EP3716219A1 (en) Generating and serving tiles in a digital mapping system
CN104221008A (en) Prefetching map tile data along a route
JP2009520992A (en) Method and system for generating a universal position reference object
US7269510B2 (en) Device and carrier of map information data
US7617077B2 (en) Method and apparatus for automatically discovering hierarchical relationships in planar topologies
KR100412023B1 (en) Method For Indication Of Advertisement by using position information In Electronic Map
US20050110800A1 (en) Method for dynamically updating a planar topology
NZ515887A (en) Automatic map-generation and labeling including real-time map generation from details in database
Pascaul et al. An architecture for geographic information systems on the web-WebGIS
Ali Framework Development of Cybercartography for Mobile Environment
Anand et al. Map generalization for OSMasterMap data in location based services & mobile GIS applications
Anand et al. Generalisation of large-scale digital geographic datasets for mobilegis applications
Stojanović et al. Analysis of Cartographic Generalization based on PYTHON Programming Language on Digital Topographic Maps
Huang et al. Real-time map rendering and interaction: a stylized hierarchical symbol model

Legal Events

Date Code Title Description
S881 Correction of error according section 88(1) (mistake in register by reason of an error or omission on the part of the patent office)

Free format text: THE SECOND APPLICANT'S NAME HAS BEEN CORRECTED

ASS Change of ownership

Owner name: KIWI SITE LIMITED, NZ

Free format text: OLD OWNER(S): KIWI SITE LIMITED; LAWRENCE JASON REID

PSEA Patent sealed
RENW Renewal (renewal fees accepted)
RENW Renewal (renewal fees accepted)
RENW Renewal (renewal fees accepted)

Free format text: PATENT RENEWED FOR 3 YEARS UNTIL 28 FEB 2016 BY AJ PARK

Effective date: 20130124

RENW Renewal (renewal fees accepted)

Free format text: PATENT RENEWED FOR 1 YEAR UNTIL 28 FEB 2017 BY AJ PARK

Effective date: 20160622

RENW Renewal (renewal fees accepted)

Free format text: PATENT RENEWED FOR 1 YEAR UNTIL 28 FEB 2018 BY AJ PARK

Effective date: 20170220

LAPS Patent lapsed