- 1 - TITLE
Referencing Maps with respect to Digitising Apparatuses
DEvSCRIPTION
This invention relates to a method of referencing a map with respect to a digitising apparatus, and also to a digitising apparatus having a digitising surface on which a map can be laid.
Examples of such methods and apparatus are known from patent documents EP-A-0268628 and WO-A-95/01551. In both cases, the digitising apparatus has a digitising surface with its own coordinate system. A map can be laid on the digitising surface, and the map, of course, has its own coordinate system. The apparatus also includes some means, such as a cursor or puck, by which a user can indicate a position on the map on the digitising surface, and for detecting the digitiser coordinates of the indicated position. In order to provide many of the features described in the above two documents, an accurate mapping is required between the coordinate systems of the digitising surface and the map, and it is therefore necessary to reference the map accurately with respect to the digitising surface.
EP-A-0268628 describes a referencing method in which the cursor is placed at three arbitrary positions of known latitude and longitude, and at each position the user enters the latitude and longitude values, and the apparatus detects the position of the cursor on the digitising surface. A processor then sets up a mathematical mapping between the two coordinate systems. A similar referencing method is briefly described in WO-A-95/01551.
A problem with the above methods is that they require the cursor to be
positioned accurately at three places on the map, and also require three latitude and longitude pairs of values to be entered by the user.
In a modification to the above method also described in EP-A-0268628, which avoids the need for the user entering the latitude and longitude values, the three positions are not arbitrary, but are marked on the map, and the latitude and longitude values for those three positions can be read by the apparatus from a bar code provided on the map. However, this modification requires all three referencing positions to be over the digitising surface. In some cases, maps are used which are far larger than the digitising surface so that they overhang the edges of the digitising surface or placed on it in a folded condition, and this modification cannot then be used, or at least not for all areas of the map.
In accordance with a first aspect of the present invention, there is provided a method of referencing a map which is marked with a set of grid points. The method comprising the steps of: determining parameters of an initial mapping between the map and digitiser coordinate systems; storing or receiving information from which the spacing between the grid points can be determined; receiving an indication from the user of a position which is at an arbitrary one of the grid points; determining the digitiser coordinates of the indicated position; determining (from the determined digitiser coordinates of the indicated position, the grid spacing information and the initial mapping parameters) the map coordinates of that one of the grid points which is at the indicated position; and determining parameters of a revised mapping which takes account of the correlation between the determined digitiser coordinates and map coordinates of the indicated position.
With this method, given the initial approximate mapping and the grid spacing information, the method can be thought of as making a calculated guess at the map coordinates of the arbitrary grid point indicated by the user, without the user needing to enter those map coordinates, and then improving the mapping accordingly.
In one simple example of the method of the first aspect of the invention, the revised mapping represents solely a translation of the initial mapping such that the
determined digitiser coordinates and map coordinates of the indicated position are mapped onto each other by the revised mapping. In other words the revised mapping is merely a repositioning of the initial mapping.
In an improved example of the method of the first aspect of the invention, the method preferably further including the steps of: receiving an indication from the user of a second position which is at a second arbitrary one of the grid points; determining the digitiser coordinates of the indicated second position; and determining (from the determined digitiser coordinates of the indicated second position, the grid spacing information and the initial mapping parameters) the map coordinates of that one of the grid points which is at the indicated second position; the revised mapping parameters also taking account of the correlation between the determined digitiser coordinates and map coordinates of the indicated second position. In this case, the revised mapping may represent a translation, rotation and/or scaling of the initial mapping, and it may be such that the digitiser coordinates and map coordinates of the indicated first-mentioned position are mapped onto each other, and the digitiser coordinates and map coordinates of the indicated second position are mapped onto each other, by the revised mapping.
This example of the method may further include the steps of: receiving an indication from the user of a third position which is at a third arbitrary one of the grid points; determining the digitiser coordinates of the indicated third position; and determining (from the determined digitiser coordinates of the indicated third position, the grid spacing information and the initial mapping parameters) the map coordinates of that one of the grid points which is at the indicated third position; the revised mapping parameters also taking account of the correlation between the determined digitiser coordinates and map coordinates of the indicated third position. (These steps may also be repeated.) In this case, mappings which are more complex than merely scaling, translation and rotation may be employed.
Alternatively, the method may further include the steps of: receiving an indication from the user of a third position which is at a third arbitrary one of the grid
points; determining the digitiser coordinates of the indicated third position; determining (from the determined digitiser coordinates of the indicated third position, the grid spacing information and the initial or revised mapping parameters) the map coordinates of that one of the grid points which is at the indicated third position; and determining parameters of a further revised mapping which takes account of the correlations between the determined digitiser coordinates and map coordinates of at least the indicated second and third positions. (Again, these steps may also be repeated.) Accordingly, the mapping may updated (which might be necessary if the map has been slightly jogged on the digitiser), or if, for example, the user is particularly interested in one portion of the map, they can reference a grid point in that portion of the map so as to improve the mapping in that portion.
The initial mapping may be obtained in any convenient way. With one particularly convenient way, the step of determining the initial mapping parameters may include the steps of: receiving an indication from the user of the current position of the user; determining the digitiser coordinates of the indicated current position; receiving an indication of the map coordinates of the current position of the user; receiving an indication of the scale of the map; and determining the initial mapping parameters from the map scale and the determined digitiser coordinates and received map coordinates of the current position of the user. The step of determining the initial mapping parameters may also include the step of receiving and taking into account an indication (which need not be particularly accurate) from the user of the relative orientation of the map and digitiser coordinate systems. The map coordinates of the current position may conveniently be obtained from a positioning system, such as GPS.
In accordance with a second aspect of the present invention, there is provided a digitising apparatus which is adapted to perform the method of the first aspect of the invention.
In accordance with a third aspect of the present invention, there is provided a digitising apparatus, comprising: a digitising surface having a digitiser coordinate
system and on which a map can be laid which is marked with a set of grid points of a map coordinate system; means by which a user can indicate positions on the map on the digitiser surface; means for detecting the digitiser coordinates of the position indicated by the user with the indicating means; first storing or receiving means for storing parameters of an initial mapping between the map and digitiser coordinate systems; second storing or receiving means for storing or receiving information from which the spacing between the grid points can be determined; and processing means operable in a referencing mode to: receive from the detecting means the digitiser coordinates of a position which is indicated by the user with the indicating means and which is at an arbitrary one of the grid points; determine, from the detected digitiser coordinates of the indicated position, the grid spacing information and the initial mapping parameters, the map coordinates of that one of the grid points which is at the indicated position; and determine parameters of a revised mapping which takes account of the correlation between the detected digitiser coordinates of the indicated position and the determined map coordinates of the indicated position.
A specific embodiment of the present invention will now be described, purely by way of example, with reference to the accompanying drawings, in which:
Figure 1 is a schematic illustration of a digitising apparatus; and
Figure 2 is similar to figure 1, but with a folded map placed on the apparatus.
Apparatus
Referring to figure 1, the digitising apparatus comprises, in a known manner, a digitising tablet 10 having an active area 12, a cursor, puck or mouse 14, a GPS receiver 16 and a processor 18. In figure 1, the active area 12 of the digitising tablet 10 is shown as having an (x, y) coordinate system ranging from (x, y)=(0, 0) to (x, y) = (l, 1). In a known fashion, the processor 18 is able to determine the (x, y) coordinates of the position of a datum point of the cursor 14 on the active area 12 of the digitising tablet 10. Also, in a known fashion, the processor 18 is able to
- 6 - determine the position of the GPS receiver 16 in a particular coordinate system such as latitude and longitude, or the Ordnance Survey of Great Britain (OSGB) grid. In the remainder of this specific description, it will be assumed that the GPS receiver 16 supplies OSGB coordinates (u, v) with a one metre resolution. Also in a known of manner, the cursor 14 has a keypad 22, a liquid crystal display 24, a transparent window 26, and a number of indicators 28 which can indicate to the user a required direction of movement of the cursor 14. For a further description of many of the functions of the digitising apparatus, reference is directed to patent document EP-A-0268628.
Example Map
Referring now to figure 2, this shows part of a map 30, which is Sheet 196 of the OSGB 1:50000 Landranger series of maps, laid somewhat crookedly on the active area 12 of the digitising tablet 10. The map 30 has been folded into quarters so that only the southwest quarter is visible, covering the area (u, v) = (429ooo, o76ooo) to (u, v) = (449ooo, o96ooo). A cross 32 is shown on the map 30, marking the position of The Shipyard, Bath Road, Lymington, Hampshire, United Kingdom, at grid reference (432990, o9547θ). In the following example, it is assumed that the user (and therefore the GPS receiver 16) are currently at the position (uc, vc) of the cross 32, that is (uc, vc) = (432990, 095470).
Reierencing jieJylap ^
The processor 18 is programmed to perform the example of the new referencing method as follows:
A. In response to the user pressing a key or combination of keys on the keypad 22 denoting that apparatus is to be set up for a new map, the processor 18 causes a message such as "Enter map scale" to be displayed on the display 24. Using the keypad 22, the user enters the nominal scale, which in this example is 50000, and this is stored as sm= 50000. The apparatus is preprogrammed with the scale of the digitiser tablet 10 coordinate system, which in this example is sd = 1/0.48 units/metre
(i.e. the size of the active area 12 of the digitiser tablet is 480 mm x 480 mm). Then, the processor 18 causes a message such as "Enter grid intersection spacing" to be displayed on the display 24. Using the keypad 22, the user enters the spacing between the primary grid lines on the map, which in this example is 10000, and this is stored as g= 10000.
B. In response to the user pressing a key or combination of keys on the keypad 22 denoting that referencing is to be performed, the processor 18 causes a message such as "place cursor on current position and press enter key" to be displayed on a display 24.
C. Once the user has placed the datum point 20 of the cursor 14 on the position of the cross 32 and in response to the user pressing the enter key, the processor 18 reads the current grid reference (uc, vc) = (432990, 095470) from the GPS receiver 16 and also the current cursor position, which in the example is (xc, yc) = (0.2508, 0.9033), from the digitising tablet 10.
D. The processor 18 then causes a message such as "place cursor on position to North (0), West (1), South (2) or East (3) of current position, and press 0,1,2 or 3" . This placing of the cursor does not need to be very accurate. Suppose that, in the example, the user places the datum point 20 of the cursor 14 on the position of the cross 34 and then presses the "2" key.
E. In response to the pressing of the key, the processor 18 notes the value d of the key and reads the cursor position (xd, yd); thus, in the example, d = 2 and (xd, yd) = (0.3000, 0.4000).
F. The processor 18 then causes a message such as "place cursor on first main grid intersection and press enter key". Suppose that, in the example, the user places the datum point 20 of the cursor 14 at the grid intersection (440ooo, o90ooo) (figure 2 reference 36) and presses the enter key.
G. In response to the pressing of the enter key, the processor 18 reads the cursor position (x,, y,), which in the example is (x,, y,) = (0.5533, 0.6900).
- 8 -
H. The processor 18 then causes a message such as "place cursor on second main grid intersection and press enter key". Suppose that, in the example, the user places the datum point 20 of the cursor 14 at the grid intersection (430000, 08O000) (figure 2 reference 38) and presses the enter key.
I. In response to the pressing of the enter key, the processor 18 reads the cursor position (x2, y2), which in the example is (x2, y2) = (0.1567, 0.2542).
J. The processor 18 then calculates the approximate angle θ anticlockwise of the northings (v) direction of the map from the y axis of the digitising tablet 10. It will be appreciated that if d = 0, or d = 2, then θ = tan l[(xc-xd)/(yd-yc)], and if d = 1, or d = 3, then θ = tan '[(yd-yc)/(xd-xc)]. Thus, in the example, θ = 5.583°.
K. The processor 18 then calculates the approximate grid references (u,, Vj) and (u2, v2) of the first main grid intersection from: u, = uc + (sm/sd){(x,-xc).cosθ + (y,-yc).sinθ} ι = vc + (s,Λι){(yryc)-cosθ " (x,-xc).sinθ} u2 = uc + (sm/sd){(x2-xc).cosθ + (y2-yc).sinθ} v2 = vc + (sm/sd){(y2-yc).cosθ - (x2-xc).sinθ} Thus, in the example:
(U„ V,) = (439717, 089668) (U2, V2) = (429226, 080l84)
L. The processor 18 then rounds the grid references (u,, v,) and (u2, v2) to the nearest grid spacing g = 10000 to determine the exact grid intersections (U,, V,) and (U2, V2). Thus, in the example:
(U„ V,) = (440000, o90ooo)
(U2, V2) = (430000, 08O000)
M. The processor 18 now knows the map coordinates (U,, V,), (U2, V2) and the digitiser coordinates (x,, y,), (x2, y2) of the first and second main grid intersections, respectively, and can therefore set up a mapping for mapping each of the coordinate systems onto the other.
S£u ιg i Jlj^J^ap4ϊmg^Hκt.Mell^
The setting up of the mapping can be done in a number of ways. For example, it may be assumed that the coordinates (U,, V,), (U2, V2), (x,, y,), (x2, y2) are entirely correct and that the nominal scale of the map may be incorrect, for example because of stretching, shrinkage or wrinkling of the paper, or merely because of initial inaccuracies in the map. In this case, a corrected angle Θ corresponding to the approximate angle θ mentioned above is calculated by the processor 18 from: tanΘ ={[(U1-U2).(yry2)]-[(V1-V2).(x1-x2)]}/{[(U1-U2).(x1-x2)] + [(VrV2).(y1-y2)]} where Θ = θ. In the example, tanΘ = 0.047093, and therefore Θ = 2.696°. Furthermore, the corrected scale Sm of the map is calculated by the processor 18 from:
Sm = sd . {[(U,-U2)2+(V,-V2)2] / [(xrx2)2+(y1-y2)2]},ά In the example, the corrected scale Sm is calculated as 50001, as compared with the nominal scale sm of 50000. Additionally, the map coordinates (U0, V0) corresponding to the origin (x, y) = (0, 0) of the active area 12 of the digitiser tablet 10 are calculated by the processor 18 from :
U0 = U, - {[x,.cosθ + y,.sinΘ].Sm/sd} V0 = V1 - {[y1.cosΘ - x1.sinΘ].Sm/sd} In the example: (U0, V0) = (425956, 074083)
Now that the values of (U0, V0), Sm, sd and Θ have been determined by the processor 18, the mapping from a general digitiser coordinate pair (x, y) to a general map coordinate pair (u, v) is given by: u = U0 + {[x.cosθ + y.sinΘ].Sm/sd} v = V0 + {[y.cosθ - x.sinΘ].Sm/sd} and the inverse mapping from the general map coordinate pair (u, v) to the general digitiser coordinate pair (x, y) is given by: x = {(u-U0).cosΘ - (v-V0).sinΘ}.sd/Sm y = {(v-V0).cosΘ + (u-U0).sinΘ}.sd/Sm With the specific examples given, the processor 18 sets up the mapping: u = 425956 + 23974x + 01129y
- 10 - v = 74083 - 1129x + 23974y x = -17.583 + 0.00004162u - 0.00000196v y = -3.918 + 0.00000196U + 0.00004162v
Setting Up the Mapping - Second Method Alternatively, the mapping may be set up on the assumption that the nominal scale sm of the map is correct, but that there may be some error in the coordinates (U,, V,), (U2, V2), (x,, y,), (x2, y2). In this case, the corrected angle Θ is still calculated in the manner described above. However, apart from that, the coordinates (U,, V,), (U2, V2) and the coordinates (x,, y,), (x2, y2) are averaged by the processor 18 to give the coordinates of midpoints (U3, V3), (x3, y3), where:
U3 = '/2(U, +U2)
V3 = l/2(V, +V2) x3 = Vz(xx+x2) y3 = l7ι(y1 +y2) In the example:
(Uj, V3) = (435ooo, o85ooo) (x3, y3) = (0.3550, 0.4721) The map coordinates (U0\ V0') corresponding to the origin (x, y) = (0, 0) of the active area 12 of the digitiser tablet 10 are then calculated by the processor 18 from : U0' = U3 - {[x3.cosΘ + y3.sinθ].sm/sd} vo' = V3 - {[y3.cosθ - x3.sinΘ].sra/sd} In the example, (U0\ V0') is calculated by the processor 18 as (425956, o74θ83), which happens to be the same as with the first example. Now that the values of (U0\ V0'), sm, sd and Θ have been determined by the processor 18, the mapping from the general digitiser coordinate pair (x, y) to the general map coordinate pair (u, v) is given by: u = U0' 4- {[x.cosΘ + y.sinθ].sm/sd} v = V0' + {[y.cosθ - x.sinθ].sm/sd} and the inverse mapping from a general map coordinate pair (u, v) to a general digitiser coordinate pair (x, y) is given by: x = {(u-U0').cosΘ - (v-V0').sinΘ}.sd/sm
- 11 - y = {(v-V0').cosθ + (u-U0 ,).sinΘ}.sd/sm
Uses
Having set up the mappings between the two coordinate systems, they can be used to assist in providing many of the functions described in patent document EP-A-0268628, such as:
• converting the current cursor position to map coordinates for display on the display 24 to provide information to the user;
• converting the current cursor position to map coordinates for storage in the processor 18 as a waypoint; • converting the current cursor position to map coordinates in order to calculate the distance and/or bearing between that position and a stored waypoint;
• converting a stored waypoint from map coordinates to digitiser coordinates and illuminating the indicators 28 accordingly so as to indicate to the user which way to move the cursor in order to place it over the waypoint; and • converting the current position of the GPS receiver 16 from map coordinates to digitiser coordinates and illuminating the indicators 28 accordingly so as the indicate to the user which way to move the cursor in order to place it over the current position.
Sjiiimiajj QX lie^Above Examples
In the examples described above, first the initial parameters sm, sd, g, (uc, vc),
(xc, yc) and θ are obtained or derived, from which an approximate mapping between the map and digitiser coordinate systems could be (or is) derived. Then, those initial parameters are corrected, modified or replaced by revised parameters on the basis of the digitiser coordinates of two grid intersections and an estimate (based on the initial parameters) of the map coordinates of those two grid intersections to give the revised parameters Sm, sd, 0 and (U0, V0) or (U0\ V0'). Then, the mappings (x, y) « (u, v) are set up based on those revised parameters.
- 12 - M difιc.ations_anolJie Qrmιejιts
It will be appreciated that many modifications and developments may be made to the examples of the invention described above. For example:-
I. Orientation of the Map. In steps "D" and "E" above, the cursor 14 is clicked on a position to the North, South, East or West of the current position. In order to permit the user to indicate easily and more accurately the orientation of the map, the facility may be provided for the user to click the cursor 14 on an arbitrary point on and towards the top of an arbitrary North-South running grid line, and then to click the cursor 14 on an arbitrary point on and towards the bottom of the same North-South running grid line. (Alternatively, of course, East- West running grid lines could be used.) The method of obtaining θ may be simplified if it is a prerequisite that the map 30 is place on the digitiser tablet 10 generally one way up. Indeed, if it is prerequisite that the map 30 is laid generally one way up and generally square on the digitiser tablet 10, it may be possible to assume, for example, that θ = 0.
II. Obtaining the Initial Parameters or Mapping. Other ways of obtaining the initial parameters or mapping may be employed. For example, the method described in patent document EP-A-0268628 may be employed and then revised in the manner described herein. As another example, if it is thought that the mapping provided by the method described above is not sufficiently accurate, the facility may be provided to enter one or more further grid intersection points, and the current mapping may then be updated on the basis of the last two entered grid intersections.
IILJ3utøι ap. CθQrdinate_JSysiejrs. The methods have been described above with reference to the OSGB map coordinate system, which has the advantage that, like the digitiser coordinate system, it is rectangular (and indeed square). The method may be used with other map coordinate systems, whether they be rectangular or not, including the latitude-and-longitude geographical coordinate system, which for the purposes of this specification is to be taken to be a "map" coordinate system.
- 13 -
IΛ JL^m )iLMιιreJγlap^QΩ^ Indeed, it is to be noted that many GPS receivers provide position signals both in latitude-and-longitude and in another map coordinate system such as OSGB. Alternatively, the processor 18 may be programmed so that it can covert between coordinates in the map coordinate system of the GPS receiver 16 and coordinates in some other map coordinate system(s). The cursor 14 may be arranged so that its display 24 can be toggled between the two (or more) map coordinate systems. It is also to be noted that many maps are marked with grid intersections for at least two different map coordinate systems. For example, the maps of the OSGB 1:50000 Landranger series mentioned above are marked with complete OSGB primary grid lines at 10 km intervals, with complete OSGB secondary grid lines at 1 km intervals and also with latitude-and- longitude graticule intersections at 5 minute intervals. The methods described above may be modified so that, when the display 24 is set to display in one coordinate system (e.g. OSGB coordinates), it expects the cursor to be registered with a grid intersection of that coordinate system (e.g. an OSGB grid intersection), and, when the display 24 is set to display in another coordinate system (e.g. latitude-and-longitude), it expects the cursor to be registered with a grid intersection of that other coordinate system (e.g. a latitude-and-longitude graticule intersection). In this case, two grid spacings may be stored by the apparatus, for example a grid spacing g = 10000 m for use when using OSGB coordinates, and a grid spacing g' = 5' for use when using latitude-and-longitude coordinates .
Y rle^dsing heJhirtiaJJBa^ One Grid Intersection. Rather than producing the revised parameters on the basis of the digitiser coordinates of two grid intersections and an estimate (based on the initial parameters) of the map coordinates of those grid intersections, it is possible to do so on the basis of the digitiser coordinates of only one grid intersection and an estimate (based on the initial parameters) of the map coordinates of that grid intersection. In this case, the initial mapping may be shifted (without scaling or rotation) to produce the revised mapping such that the chosen grid intersection becomes correctly mapped.
- 14 -
VI. Revising the Initial Parameters using More than Two Grid Intersections. Even though the, for example, OSGB coordinate system is square, it may not appear as such on the map, for example because the map has stretched, shrunk or is wrinkled (resulting in a rectangular, rhombic or lozenged coordinate system) or because it is of low quality. Some other coordinate systems are not square. Also, the map may be in an atlas having a gap in the middle at the region of the spine of the atlas. In order to provide more accurate mappings between the digitiser coordinate system and the coordinate system actually appearing on the map, further grid intersections may be entered in the manner described above so that a mapping can be developed which is more complex than the simple translation, rotation and scaling employed in the detailed example given above. The more complex mapping could take account of, for example, different scales in different directions, the map grid lines being non- orthogonal, the map grid lines being non-parallel in one or both directions, and/or the map grid lines being curved. Indeed, with a mapping based on several entered grid intersections spread over the map, very little, if anything, needs to be known or assumed about the projection which was used in producing the map.
VII. The Grid Intersection Spacing "g". In the above example, the grid intersection spacing g is entered into (or previously stored in) the apparatus, and the example of g = 10000 m was given for the map in question, corresponding to the spacing of the primary grid lines on the map, even though the map has finer grid lines marked on it with a finer grid spacing gf of gf = 1000 m. The finer grid spacing gf could have been used, but in that case the North, South, East or West direction needs to be more accurately entered in step "D" above in order to avoid the map coordinates of the first and second grid intersections being incorrectly guessed. For instance, in the specific example given in which the North direction was not indicated particularly accurately in step "D", if the finer grid spacing gf = 1000 had been used, then in step "L" , the map coordinates of the second grid intersection would have been incorrectly estimated as (U2, V2) = (429000, 08O000), rather than (U2, V2) = (430000, 08O000). Indeed, if the facility is provided to update the mapping by entering further grid intersections, as described under modification "II" above, the coarser
- 15 - grid spacing g may be used for estimating the map coordinates of the first and second grid intersections, and the finer grid spacing gf may be used for estimating the map coordinates of any subsequently entered grid intersections.
VIII. Entering Information about the Map.
In the example described above, the nominal scale sm and the grid spacing g (and optionally gf) are entered by the user at some stage using the keypad 22. Alternatively, this information may be provided in machine readable form, such as in a barcode on the map, and the apparatus may have the facility to read it, for example with a barcode reader in the cursor 14. As another alternative, the apparatus may have the facility to display a list of common map types on the display 24, to store scale and grid spacing(s) for each map type, and for the user to select the appropriate map type, e.g. "OS Landranger 1:50000", whereupon the appropriate scale and grid spacing(s) are selected.
IX. Other Modifications and Developments.
As those skilled in the art will appreciate, the above system can be implemented by software running in conjunction with a programmable processor or can be implemented using dedicated hardware circuits which receive and process the information. The software for programming a general purpose processor can be provided on a recording medium, such as a floppy disc or CD ROM or can be downloaded from the internet on a carrier signal .
It should be remembered that the above description has been given purely by way of example, and that other modifications and developments may be made within the scope of the invention.