This invention relates generally to navigation, survey and analysis systems. More particularly, the present invention relates to a system that allows a golfer to easily survey and/or electronically input target and avoidance locations of a golf course, record those locations, then use that object data to determine the relative distance and relative elevation to those objects using a handheld personal digital assistant (PDA) and global positioning system (GPS) device. The present invention also relates to a system and method of graphically displaying distance, elapsed time, statistics and other golf related information on an electronic or computerized device such as a handheld personal digital assistant (PDA) and a global positioning system (GPS) device, and to a method for collection, processing and distribution of golf geographic information services (GIS) data via a computerized system.
Since the inception of the global positioning system (GPS) in the 1980's many useful military and civilian applications have been developed to utilize its positioning capabilities. Since GPS is primarily a military system, the civilian signals have been previously degraded in a mode called Selective Availability (SA). Typically, positions could be determined to a radius of 100 meters. For many applications that was sufficient and acceptable. For other applications, greater accuracy was required and numerous methods were developed to diminish the effect of SA and increase the accuracy level of the civilian signal. Many of these methods required post processing of the signal data and thus could not be used in real time applications. Other methods required the use of Differential GPS (DGPS) equipment to increase the accuracy of the signal in real time. These systems typically produced an accuracy of 1 to 5 meters but required additional receivers, communications links and antennas. They were portable systems but not easily handheld.
In May of 2000 the Department of Defense authorized the general cessation of SA on the civilian signal. This has diminished intentional errors to the signal and has increased the accuracy of commercial GPS receivers to generally 1 to 10 meters. This range of accuracy greatly enhanced existing applications and will create many opportunities for new applications.
During the period when SA was turned on, the error introduced by the government was the major error in the GPS civilian system which required various techniques such as DGPS to sufficiently correct distances for use on a golf course. With SA turned off, DGPS is no longer necessary for sufficiently accurate distance calculations over short periods of time where environmental conditions remain essentially unchanged for a GPS system tuned for the motion dynamics of a golfer. However, over longer periods of time, the changes in the ionosphere and troposphere now make up the major error in the GPS civilian system when determining locations and distances on a golf course. By applying the processes of the present invention, these changes can be filtered out and the GPS tunable parameters can be set by the golfer for a specific course to produce accuracies necessary for the golf course environment.
The present invention provides a personal, independent handheld device for the mobile golfer. Some prior systems use a base station installed on the course with radios to transmit correction data. This invention does not require any centralized equipment or radios to be installed at the golf course. Some systems require transmitters to be installed on the pin on the green. This invention does not require any transmitters to be installed at the course. Some systems require survey zones to be pre-defined and course images generated by professionals and then provided to the golfer. Although this invention can use surveys developed by others, the owner of the device can perform his own personal surveys using a simple target-based user interface with specialized objects and descriptors tailored for golf. Some systems require error corrections to be obtained and applied on a per satellite basis. This invention can adjust for differences in environmental conditions from the time the original survey was performed and the current playing conditions for a set of targets grouped as a networked data set without having to apply corrections to individual satellites. If DGPS is used to apply corrections to individual satellites, the processes described by this invention can be applied to further improve system accuracy. Many systems require specific cart mounted equipment to determine the ball's approximate position and compute distance to targets. This invention allows the mobile golfer to walk up to the ball and hold the device immediately above the ball location to determine the ball's position and the distance to various targets. Cart-based systems are typically dedicated to a specific course and shared by many golfers. This invention can be used on a variety of courses and can be adjusted for the personal mobile golfer dynamics of each course using tunable GPS parameters.
A common drawback of existing golfing related devices that operate in conjunction with a GPS is that the data and information presented to the golfer or user on the device display screen is typically presented in a limited and/or fixed format that has limited use for the viewer. For example, the data and information displayed on the screen may be static and not subject to any real time user screen modifications. The user may not be able to manipulate the display screen in real time to obtain further data or different data that that originally presented. Also, some golfing related devices with a GPS systems may be completely text based, some may not provide display of environmental conditions, some may not include displays of statistical golfer information. Further, some golfing related devices with a GPS may not have the ability to survey and collect golf course survey data, upload collected survey, process uploaded survey data, and download golf course related maps, data or information. There is thus a need for a way to graphically display distances to targets, elapsed time, club statistics, wind direction and other golf related information, and a method for collecting, processing and distributing golf course geographic information services (GIS) data and information, including golf course survey data and information.
The present invention is directed to an apparatus for measuring and displaying distances between a golfer and an object on a golf course. The apparatus includes a GPS device connected or integrated to a handheld computing device. The GPS device produces location information corresponding to the location of the GPS device. Software modifies the produced location information to obtain corrected location information. Software also determines the distance between the GPS device and the object. The resulting value is displayed to the golfer on the handheld computing device. Another aspect of the present invention is directed to a method of obtaining and processing location values for a desired point on a golf course. A handheld GPS device is used to obtain location information concerning a reference point. The information from the GPS device is compared with true location information and one or more correction values are generated. A handheld GPS device is used to obtain location information corresponding to the desired point. The correction values are applied to the location information corresponding to the desired point to generate corrected location information for the desired point.
The present invention is also directed to an improved graphical method for measuring and displaying distances between a golfer or user and an object on a golf course, displaying the elapsed time a golf player has been playing a hole on the course and cumulative total of the time elapsed, and displaying statistics of distance ranges for each golf club via a software application running on an electronic or computerized device connected to a global positioning system device. The present invention further provides an improved graphical method for displaying multiple measured distances along a line of sight between a golfer and an object or target on the golf course, and for rotating or orienting a target or object on a display to coincide with a user's perspective or line of sight.
The present invention is further directed to a method for the collection, processing, distribution and reception of golf course geographic information services (GIS) data comprising the steps of collecting and uploading the golf course GIS data to a server computer accessible via the Internet, processing by cataloging and storing the uploaded golf course data and information in preparation for expected user requests for the stored golf course GIS data, distributing the golf course GIS data upon an authorized user request, and downloading the requested GIS data to a electronic or computerized device operating in conjunction with GIS data.
An object of the present invention is to provide a personal golfing assistant that allows a golfer to personally survey his own courses without relying on any local equipment other than a handheld device.
An object of the present invention is to provide a compact, simplified and user friendly device and process to capture real world geo location data that is of interest to a user, analyze that data and present it to a golfer in a useful and beneficial manner.
An object of the present invention is to provide a personal golfing assistant that accurately measures distances between a user and an object on a golf course.
Another object of the present invention is to provide a personal golfing assistant that uses a GPS device to determine and/or record the location of various points on a golf course.
Another object of the present invention is to provide a GPS-based system for reliably measuring distances on a golf course in a variety of environmental conditions.
Another object of the present invention is to provide a method of reducing the error associated with using a GPS-based distance measuring device on a golf course.
Another object of the present invention is to provide a handheld GPS-based distance measuring device for use on a golf course.
A further object of the present invention is to provide a distance measuring device for use on a golf course using a GPS device and a PDA.
A further object of the present invention is to provide a distance measuring device for use on a golf course using a handheld electronic device with an integrated GPS receiver.
A further object of the present invention to provide a graphical method for measuring and displaying distances between a golfer and an object on a golf course using an adjustable cross-hair screen display.
A further object of the present invention to provide a graphical method for displaying an object or target on a golf course where the object or target is rotated on the screen display from the point of view of the user.
A further object of the present invention to provide a method for measuring and displaying, on an electronic or computerized device operating in conjunction with GPS, distances between a golfer and an object on a golf course, displaying the elapsed time a player has been playing a hole on the course and cumulative total of the time elapsed, and displaying statistics of distance ranges for each club.
An additional object of the present invention to provide a method for measuring and displaying, on a PDA, cellular telephone, digital telephone or pager cooperatively connected to a GPS, distances between a golfer and an object on a golf course, displaying the elapsed time a player has been playing a hole on the course and cumulative total of the time elapsed, and displaying statistics of distance ranges for each club.
An additional object of the present invention to provide a method by which pace of play is graphically displayed to the user.
An additional object of the present invention to provide a method for displaying the elapsed time a golf player has been playing a hole on the golf course and the cumulative total of the time elapsed in a textual or graphic manner.
Still a further object of the present invention to provide a method for graphically displaying wind direction and/or magnitude relative to an approach path between the golfer and an object or target on a golf course.
Still a further object of the present invention to provide a method by which wind direction is graphically displayed relative to the user and a target or object.
Still a further object of the present invention to provide a method by which distance information is displayed relative to graphical targets or objects on a golf course.
It is also an object of the present invention to provide a method for displaying multiple measured distances along a line of sight between a golfer and an object or target on the golf course.
It is also an object of the present invention to provide a method for rotating or orienting a target or object on a display to coincide with a user's perspective or line of sight.
It is also an object of the present invention to provide a method by which golf course graphics can be rotated and displayed relative to the golfer in order to give the golfer or user line of sight distances from the user's perspective.
It is another object of the present invention to provide a method by which distances from the user to the front and back of a rotated image are computed and graphically displayed to give the user line of sight distances to selected points from their perspective.
It is another object of the present invention to provide a method by which distance to a selected target or object is displayed graphically as large numbers for ease use.
It is a further object of the present invention to provide a method of doing business for distributing and retrieving geographic information services (GIS) data relevant to a golf course.
Additional objects, advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those of ordinary skill in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the embodiments. The objects and advantages of the inventive concepts may be realized and attained by means of the methodologies, instrumentalities and combinations particularly pointed out in the appended claims.
The drawing figures depict one or more implementations in accord with the present invention, by way of example only, not by way of limitations. In the figures, like reference numerals refer to the same or similar elements. The description may be better understood when read in connection with the accompanying drawings, of which:
The personal golfing assistant of the present invention is a golfer-specific integrated system of software running on a PDA that is attached directly via attachment or module or remotely via cable, wireless link or integrated to a GPS receiver with tunable parameters for individual mobile golfer dynamics that enables the user to engage in a process of easily surveying and/or electronically capturing geophysical data pertinent to the game of golf such as the location of the center of the green, zones on the green, bunkers, water, trees, hazards, etc. Where appropriate, target outlines may be captured to enable the golfer to later view the distance to the front/back or any other point of interest along the outline based on their current ball position and viewpoint.
The present invention allows the golfer to use the same handheld PDA/GPS unit in the course of play to mark the ball location and/or determine the distance to various target and avoidance objects after adjusting for differences in environmental conditions from the time an original survey was performed and the current conditions. The present invention takes into account the motion dynamics specific to an individual golfer on a specific course. A golfer may, if so desired, easily survey additional points during the normal course of play in real time and then immediately use that data. Furthermore, a golfer can elect to record the ball locations at each shot and select the club used as well as other pertinent data such as fairway position, ball trajectory (straight, hook, slice, etc.), lie position, sand saves, green in regulation, number of putts, etc. Software analyzes ball location, distance, club and other information in order to generate useful statistics that could improve and/or enhance the golfers game. Target/avoidance objects, distances and/or statistics can selectively be displayed in real time as text on the PDA screen and/or graphically on an electronic course layout map of each hole and/or group of holes contained in memory on the PDA. Distance information may be displayed in yards or meters or other units as required. Other peripheral functions may be displayed as well, such as timer functions, custom course slope functions, scoring functions, golf handicap functions, etc. Club suggestions may be displayed based on previously captured statistical data and current distance to target area.
To facilitate the ability of a golfer to easily adjust for changes in environmental conditions, several special non-target reference points on each hole can also be recorded during a survey process. These reference points combined with the target points enable the PDA to also be used by itself in a simulation mode without a GPS device attached as an electronic version of a yardage book where the use of GPS is restricted either due to play rules or other circumstances. When GPS use is restricted, the golfer can use the PDA by itself as an electronic yardage book by operating in a simulation mode and making use of special non-target reference points or targets. By going to a reference point or target the golfer can simulate that the golfer is at that point in order to view distances to all targets from that point and then make adjustments for actual ball location from that point in much the same way as sprinkler heads and other permanent markers are currently used to estimate distance to center of green during play.
The golfer can also load course object data previously surveyed by the golfer or others and adjust the distance processing to correct for differences between current environmental conditions and the environmental conditions when the course was originally surveyed. This process combined with real time tunable GPS parameters that can be adjusted for the dynamics of an individual mobile golfer on a specific course enables relative distances to be computed with sufficient accuracy for golf without requiring the use of DGPS equipment or any equipment mounted on a golf cart or infrastructure on the golf course. As part of the process of using real time tunable GPS parameters and geo-referenced object data adjusted for changes in environmental conditions, a golfer will be able to also record the distances, locations and type of each golf shot, associate that with the club used and then generate useful visualization, real time suggestions based on prior play, statistics and scoring for each round of golf. The PDA can also be used by itself in a simulation mode without a GPS device attached as an electronic version of a yardage book.
The personal golfing assistant system of the present invention is comprised of software running on a handheld computing device such as a PDA that is attached either directly or remotely to a GPS receiver. Examples of PDA's that could be used include those manufactured by Palm, Handspring and others. Alternatively, a palmtop computer or other small processing device with a display could be used. In one embodiment of the present invention, the GPS receiver and the computing device are contained in a single, handheld housing. It is an event driven system as illustrated by the flowcharts in
Survey and data capture functions are implemented by means of several processes. The first process allows the user to survey the target/avoidance objects prior to playing a round of golf. A user interface screen presents the user with a hierarchical list of objects from which the user can choose and mark the geo-referenced location by simply pressing a virtual “Record Target” button on the PDA display touch screen. The GPS data would then be automatically recorded and associated with the object designation. A series of objects (e.g. targets for a single hole) surveyed within a short period of time can be grouped as a networked data set. A networked data set is a group of points that retain their distance relationships even as major environmental changes occur. Absolute position accuracy is not as essential while surveying as long as the relative position of objects within a networked data set is accurate. These data points would then be referenced during subsequent rounds of golf in order to provide the basis for analysis and statistics.
The second process allows the user to survey the location of the target/avoidance objects during the normal course of play as the golfer arrives at each ball location or area of interest. The user enters the data via the menu presented on the PDA display touch screen. When the virtual “Record Target” button is pressed on the display touch screen the GPS location information is automatically recorded and associated with the object designation.
A third process allows the user to dynamically update or add survey information during the normal course of play even after location data has previously been entered. The golfer merely selects the item to add or update and then touches the virtual “Record Target” button to automatically record the position data with the desired point or object. That data is then immediately available for use by the golfer. By making appropriate use of reference points prior to adding targets, the new target locations can be adjusted to match the environmental conditions of the networked data set when the course was previously surveyed in order to preserve the relative distances of all targets in the networked data set to one another.
When GPS use is restricted, a golfer can use a simulation mode to determine distances to course targets and hazards. By going to one of the special non-target reference points or any of the targets on a hole, the golfer can simulate that the golfer is at that point in order to view distances to all targets from that point. The golfer can then make adjustments for the actual ball location from that point in much the same way as sprinkler heads and other permanent markers are currently used to estimate distance to center of green during play.
In an alternative embodiment of the present invention geo-referenced layout maps of the golf course can be displayed on the PDA screen to enable the golfer to approximate and visually locate on the PDA screen new survey locations of target/avoidance objects and points as well as approximate and visually locate distances to those objects and points from an estimated marked position if no GPS signal was available. The golfer would have all of the statistical and scoring functionality of the software albeit deductive reckoning would approximate the distances.
In a further aspect of one embodiment of the present invention, software allows the golfer to immediately and in real time use the same handheld PDA/GPS unit in the course of play to dynamically display in real-time on the PDA screen the distance from the golfer holding the PDA/GPS device to the various target/avoidance objects that the golfer previously surveyed and/or downloaded via PC, landline, or wireless link into the system.
During actual play of a round of golf the golfer may mark the ball location by pressing a virtual “Mark Ball” button on the PDA screen and then, as shown in
In the subroutine shown in
The Scoring and Statistics Module shown in
Space Based Augmentation Systems (SBAS) such as WAAS, EGNOS and MSAS may be used successfully a majority of time where such signals and systems are available. However, it is beneficial to have additional location correction methods to further augment such systems or to provide corrections in areas of the world where SBAS or GBAS (Ground Based Augmentation Systems) do not exist.
By having one or more reference points included in a pre-defined survey of known points of a golf course, a golfer can adjust for the current environmental conditions for a period of time in order to correctly determine distances to the pre-defined points of interest without requiring the use of DGPS equipment or any equipment mounted on a golf cart or infrastructure on the golf course. Unlike DGPS and other techniques that apply corrections on a per satellite basis, the eFilter corrections of this invention are applied to a networked data set of points. DGPS and other corrective techniques can be used in conjunction with the techniques of this invention for additional accuracy, but are not required. Use of the eFilter will make DGPS-based computations even more accurate.
Before starting play, a golfer goes to the first reference point and taps a button on his PDA to instruct the software to correct for current environmental conditions. In the simplest form, this is accomplished by comparing the current computed latitude/longitude (Lat/Lon) to the previously surveyed Lat/Lon (LatS/LonS) for the reference point and computing the difference in Lat and difference in Lon. These differences become the basis of correction values referred to herein as Latitude/Longitude eFilter correction values (LatE/LonE). As the golfer plays the course, if the eFilter is turned on, all target Lat/Lons (LatT/LonT) are adjusted by the eFilter correction values (LatE/LonE) as illustrated below:
When the button is pressed at the first reference point:
LatE=Lat−LatS
LonE=Lon−LonS
The adjusted Lat/Lon (LatTA/LonTA) of a subsequent target position is then computed as follows when the eFilter is on:
LatTA=LatT+LatE
LonTA=LonT+LonE
Distance from the current position (Lat/Lon) to a target is then computed using LatTA/LonTA rather than LatT/LonT.
Where:
An alternative method would be to compute LatE as LatS-Lat and apply the adjustment to Lat rather than LatT (and the same for LonS).
As long as the current environmental conditions remain fairly consistent, distances will now be corrected to 1-3 meter accuracy. If the golfer notices that the computed distances appear incorrect, he can go to the next available pre-surveyed reference point and repeat the above process to correct for the new environmental conditions. Reference points can be pre-surveyed in the tee area of each hole and other specific points along the hole to allow the golfer to establish new eFilter correction values at each hole. These specific reference points can be grouped as non-target points (SmartMarks) and displayed in a list for each hole to enable the golfer to easily find the nearest reference point where he can adjust for new environmental and other conditions that introduce errors in the position solution.
If a golfer does not have a pre-defined precise survey of known points on a course, he can perform his own survey as previously described with the eFilter turned OFF. As part of the survey he must select and survey a recognizable reference point for the course and, if possible, reference points in the tee area and other specific points along each hole. The objects surveyed immediately after marking a reference point become a networked data set (e.g. all recorded points for a hole). As long as the data set survey is accomplished within a period of time where environmental conditions are relatively constant, all points within the data set will have an accurate offset from the reference point. After completing the data set, the golfer can return to the reference point and verify that the distance to the reference point is within acceptable limits (e.g. 1-3 yards) while standing on the reference point to ensure the validity of the networked data set. If the distance to the reference point is greater than the acceptable limit when standing back at the reference point, the data set must be resurveyed.
When the golfer is ready to start play either later that day or on some other day, the golfer goes to the first reference point and taps a button on his PDA to instruct the software to correct for current environmental conditions. The software will compare the current GPS Lat/Lon to the surveyed Lat/Lon for the reference point and compute the difference in Lat and difference in Lon. These differences become the basis of the current Latitude/Longitude eFilter correction values (LatE/LonE). As the golfer plays the course, if the eFilter is turned on, all target Lat/Lons are adjusted by the eFilter correction values. This process effectively applies the difference in environmental conditions from the time the points were originally surveyed and the current conditions. These adjustments are primarily valid for the data set associated with the reference point for that networked data set. However, if the original survey of the entire course is performed within a short enough time, the first reference point can also be considered a reference point for the entire course and the entire course treated as a networked data set. In this case the golfer needs only set the eFilter at the beginning of play instead of at each hole. At any time during play, if current conditions change to produce errors outside of acceptable limits, the golfer can then go to the next reference point for a hole and create new eFilter correction values for the current conditions which then remain valid as long as current conditions remain relatively consistent.
A golfer can also add a new target to an existing course survey if he has recently gone to a reference point and created new eFilter correction values for the current environmental conditions as follows:
LatE=Lat−LatS LonE=Lon−Lons
If the eFilter is on when he marks new targets, the target Lat/Lon will be adjusted to match the original survey environmental conditions for the networked data set. As the golfer adds new targets to the networked data set, if the eFilter is on, the Lat/Lon for the target(s) are adjusted and saved as follows:
LatTM=Lat−LatE LonTM=Lon−LonE
Where:
The Lat/Lon saved for the target(s) are effectively modified to match the environmental conditions of the original networked data set so that it can be treated as part of that networked data set.
A golfer can add new reference points to an existing course survey if he has at least one valid reference point that was saved under similar environmental conditions as the survey points. For example, if a reference point was surveyed for the 1st and 3rd holes but not for the 2nd hole, the golfer could go to one of the reference points and create new eFilter correction values for the current environmental conditions. The golfer would then go to the 2nd hole and mark the desired reference point for that hole with eFilter on. This will modify the Lat/Lon of the new reference point when it is recorded to match the environmental conditions of the original networked data set.
Prior to adding a new reference point the golfer goes to a nearby reference point and creates a new eFilter to compute the following:
LatE=Lat−LatS LonE=Lon−Lons
When the golfer goes to the location for a new reference point and marks it, if the eFilter is on, the Lat/Lon for the reference point is adjusted and saved as follows:
LatRM=Lat−LatE
LonRM=Lon−LonE
Where
The Lat/Lon saved for the new reference point is effectively modified to match the environmental conditions of the original networked data set so that it can be treated as part of that networked data set.
This same technique can be used to later remark a reference point for a hole that perhaps was originally marked with poor position quality (e.g. the number of satellites in use dropped momentarily when the point was marked).
eFilter2 Adjustments for Projected Environmental Conditions
In one embodiment of the present invention, software can also access a table of correction values for projected environmental conditions for a specific period of time in order to more accurately determine distances to pre-defined points of interest on a golf course. Before playing a course, the golfer loads corrections for the projected environmental conditions for the day the golfer plans to play. These corrections are in the form of Lat/Lon adjustments based on the date and time of day. With SA turned off, the major error factor will be changes in the ionosphere. Since effects of the sun on the ionosphere can be generally predicted at any given time for a specific location, a table of Lat/Lon adjustment values can be generated for that specific location for a specific day and for specific time periods during that day.
The software at any given time would look up the Lat/Lon adjustment values in the table (referred to herein as eFilter2 adjustment values) for the current date and time to adjust for the predicted environmental conditions and apply them as follows:
LatTA2=LatT+LatE2 LonTA2=LonT+LonE2
Distance from the current position (Lat/Lon) to a target is then computed using LatTA2/LonTA2 rather than LatT/LonT.
Where:
As long as the current environmental conditions match the predicted conditions, distances will now be corrected to a higher degree of accuracy.
By using eFilter2, the original survey performed by the golfer will be recorded to a higher degree of accuracy. For example, when performing the original survey of a course, the golfer would turn on eFilter2 but not the basic eFilter (based on reference points) described earlier. With eFilter2 turned on, the recorded Lat/Lon for target(s) would be computed and saved as follows:
LatTM2=Lat−LatE2
LonTM2=Lon−LonE2
Where:
As long as the current environmental conditions match the predicted conditions, distances will now be corrected to a higher degree of accuracy reducing the effects of changing environmental conditions after a reference point is marked.
The distances computed during play can also be made less susceptible to changing conditions in between reference points. Before playing a course, the golfer can load corrections for the projected environmental conditions for the day he plans to play. These corrections are in the form of Lat/Lon adjustments based on the date and time of day. Also, by having one or more reference points included in a pre-defined survey of known points of a golf course, the golfer can correct for the current environmental conditions for a period of time in order to correctly determine distances to the pre-defined points of interest. Before starting play, the golfer could turn on eFilter2 to constantly adjust for predicted changes in the environment. The golfer then goes to the first reference point and taps a button on his PDA to instruct the software to compute the basic eFilter for current environmental conditions. As the golfer plays the course, if both the basic eFilter and eFilter2 are turned on, all target Lat/Lons are adjusted by the correction values as illustrated below:
When button is pressed at the 1st reference point:
LatE=Lat−LatS−LatE2
LonE=Lon−LonS−LonE2
The adjusted Lat/Lon of a target position is then computed as follows when both eFilters are on:
LatTA=LatT+LatE+LatE2
LonTA=LonT+LonE+LonE2
Distance from the current position (Lat/Lon) to a target is then computed using LatTA/LonTA rather than LatT/Lon.T, where
If altitude is recorded for each target in addition to its Lat/Lon position, the 3D distance from the golfer's current position to any target can be computed to include eFilter adjusted differences in elevation.
When the golfer goes to a reference point and taps a button on his PDA to instruct the software to correct for current environmental conditions, the current altitude (Alt) is also compared to the surveyed altitude (AltS) for the point and the difference in altitude computed. This difference is included with the correction values for Lat/Lon as eFilter correction values (LatE/LonE/AltE). As the golfer plays the course, if the eFilter is turned on, all target Lat/Lon/alt (LatT/LonT/AltT) are adjusted by the eFilter correction values (LatE/LonE/AltE) as illustrated below:
When button is pressed at the first reference point, compute LatE and LonE as previously described, as well as, the following:
AltE=Alt−AltS
The adjusted Lat/Lon (LatTA/LonTA) of a subsequent target position is then computed as previously described, as well as, the adjusted Alt (AltTA) of the target as follows:
AltTA=AltT+AltE
The difference in elevation between the golfer and the target point is then computed as follows:
ElevDist=AltTA−Alt
For computing three dimensional (3D) distances for golf, the effects upon the golf trajectory due to differences in elevation should also be considered. The effective 3D distance to an uphill target is greater than the straight line 3D distance between the two points due to motion dynamics of the golf ball in flight and “more club” (typically a lower club number) is needed that a straight line 3D distance would indicate. Likewise the effective distance to a down hill target is less than the straight-line 3D distance between the two points and “less club” is needed. The effective distance from the golfer's current position (Lat/Lon/Alt) to a target can be computed using LatTA/LonTA/AltTA rather than LatT/LonT/AltT as follows:
LatLonDist=Sqrt((((LatTA−Lat)*Yds/Lat)**2)+(((LonTA−Lon)*Yds/Lon)**2))
EflDist3D=Sqrt((LatLonDist**2)+(((AltTA−Alt)*Yds/Mtr*EF)**2))
Or the two equations can be combined as follows:
EftDist3D=Sqrt((((LatTA−Lat)*Yds/Lat)**2)+(((LonTA−Lon)*Yds/Lon)**2)+(((A−ItTA−Alt)*Yds/Mtr*EF)**2))
Where:
The value for EF can be determined from a simple trajectory model that produces values greater than I for uphill targets and less than 1 for down hill targets. A value of EF=1 produces the straight line 3D distance. More involved models can take into account the air density based on the current altitude. Other sensors can be added to the PDA/GPS combination such as humidity and temperature to include in the trajectory model that produces the value for EF. If available, wind speed and direction could also be factored in.
When a golfer adds new targets to a networked data set with the eFilter on, the altitude for the target(s) are adjusted and saved as follows:
AltTM=Alt−AltE
Where:
Similarly, when adding a new reference point with the eFilter on, the altitude for the reference point is adjusted and saved as follows:
AltRM=Alt−AltE
Where:
Targets have been primarily described as single point targets, but in fact can also be target outlines consisting of a series of Lat/Lon/Alt points. The target outline could be the outline of the green, a bunker, a water hazard, etc. The distance from the golfer to any point on the target outline can be computed in the same manner as already described when computing the distance from the golfer to a single target point. The eFilter adjustments can be applied to all points along the outline to correct for differences in environmental conditions in the same manner as previously described for a single target point. Distances to significant points along the outline (e.g. front/back as viewed from the golfer's current position) that have been adjusted for differences in environmental conditions can be displayed on a graphics screen displaying the outline, or to any point along or within the outline that the golfer indicates (e.g. by touching a point along the outline).
Target outlines one or more holes can also be displayed one or more display screens along with the current position of the golfer as he drives or walks along the course and stops next to his golf ball. Distances to targets from his ball position and how far the ball was hit can also be calculated, displayed and viewed by the golfer.
In order to provide optimal performance on a golf course, the motion dynamics of a mobile golfer must be considered. Since the PDA is a hand held device, the attached GPS can experience moderate speeds while the golfer is in a golf cart, low speeds while the golfer is walking, and many pauses while the golfer is waiting to hit the ball. This is notably different motion dynamics from a GPS used for other applications such as in a vehicle traveling down the highway. While most of the time there will be a clear view of the sky during normal play, some tees boxes may have close-by foliage, balls are hit out of the fairway and some cart paths go under covered areas. GPS signals can bounce off nearby objects resulting in position errors due to effects of multipath. It is important to tune the operation of the GPS device to reduce the impact of these short-term events and at the same time quickly recover from such events.
A Mobile Golfer Dynamics Toolset (MGDT) that can allow the capture and analysis of GPS output data under varying conditions in one embodiment of the present invention tailors the GPS device to the motion dynamics of a mobile golfer. The MGDT implemented to support the development of one embodiment of the personal golfing assistant of the present invention is capable of capturing essential GPS data during both regular play and during the survey process with and without the eFilter adjustments previously described. This toolset is also able to compare captured data to precisely surveyed known points of reference and produce statistical summaries as well as visual graphical plots of the results. The motion dynamics of the handheld GPS, as well as the effects of using different tunable parameters, can be viewed.
The Mobile Golfer Dynamics Toolset (MGDT) of one embodiment of the present invention is comprised of several components:
1) A software module that runs on a PDA that sets the GPS tunable parameters and captures GPS output data under varying conditions that replicate the motion dynamics of a mobile golfer. GPS data can also be captured during both regular play and during a survey process with and without the eFilter adjustments previously described. This is accomplished by tapping a “Start” button on the user interface. This initializes communications with the GPS device, assigns a reference tag to the data and continuously captures all GPS data including, but not limited to, latitude, longitude, altitude, number of satellites, and HDOP (Horizontal Dilution of Precision). The data is stored in memory on the PDA for later analysis using the analysis module described below. The data capture is stopped by tapping an “End” button on the user interface. Using this process, data may be captured for analysis in the environment the GPS device will be used.
2) A software module that loads the captured data, translates and formats the data for use in the analysis software described below. This is accomplished by reading the reference tag associated with the data and the captured GPS data saved on the PDA. In one embodiment, latitude and longitude data is translated from the GPS output into decimal degree format in order to facilitate plotting of the data. The algorithm for this translation is: (+/−) ddd+(mm·mmm/60), where d is Degrees of latitude and longitude and m is decimal minutes of latitude and longitude. The leading (+/−) refers to latitude North (+) or South (−) and longitude East (+) or West(−). The data is then formatted by separating the data sets with commas (comma separated values—CSV) and opening and writing a new file for use by the analysis software.
3) A software analysis module that runs on a PC and compares the captured data to precisely surveyed known points of reference and produces statistical summaries, as well as visual graphical plots of the results. This is accomplished by loading the file produced by the translation software referred to above into a spreadsheet or other analysis software. The data is loaded into the spreadsheet or other analysis software and compared to known surveyed data points, i.e., Control Points. Statistical analysis of the data sets is comprised of the standard deviation calculated for the data as well as the average, minimum and maximum deltas or difference from the Control Points. Additionally, plots are generated with reference to the Control Points for visual analysis of the data to determine the relative and absolute patterns of the data sheets. (See the figures referenced below.) This is an iterative process and is done for each set of parameters used. As the data sets are compared, the motion dynamics of the handheld GPS can be viewed, as well as the effects of using different tunable parameters. Based on the results of this process the optimal settings for the tunable parameters of the GPS unit can be determined for each particular course, locality or even individual golfer. The motion dynamics analysis that this module provides is described below.
For the eFilter to work properly, the GPS must perform in such a manner that points surveyed within a short time interval have similar offset errors from the actual location.
As illustrated in the previous section, a GPS that does not use tunable GPS parameters configured for the mobile golfer can produce disappointing results. It may work fine for other applications of GPS, but not for the golf course environment. Any GPS unit that is programmable and configurable with the required parameters may be used. These include, but are not limited to, Magellan GPS for Palm V and Handspring Visor series, GeoDiscovery Geode, BAE Systems AllStar, Garmin, Trimble and Rockwell GPS units with RS-232 interface. Several parameters have been identified that need to be tuned to produce optimal results for a specific course. These configurable parameters include position averaging, satellite elevation masking, satellite signal strength masking, carrier phase smoothing and pseudorange filtering. Each of these parameters is known configurable parameters in GPS applications. Carrier phase smoothing pertains to filtering of the actual GPS carrier signal for use as a reference in the GPS calculations internal to the GPS unit. Pseudorange filtering pertains to the smoothing of the individual calculated ranges to the GPS satellites prior to their use in producing a GPS navigation solution as output from the GPS unit. The software module that controls the GPS configuration parameters is referred to herein as a “Smart Filter” or an “sFilter”. The sFilter's function is to dynamically allow the individual mobile golfer to set or monitor the parameters used to average out the effects of multipath and other GPS signal errors. The ability of one embodiment of the present invention to be able to group a set of parameters that have been fine tuned to optimize the accuracy of the GPS for a specific course or individual golfer enables the system to perform optimally given the general environmental conditions of a specific course. For example, a GPS on a course in the desert may operate best with low satellite elevation masking and a large carrier phase smoothing filter. However, if these same settings were used on a course in a valley or one with large buildings nearby, the golfer could experience less than optimal results, whereas in this case, an sFilter setting with a higher satellite elevation mask and a smaller carrier phase smoothing filter would work better. The present invention allows the golfer to set the configurable parameters on his own or to download an optimized set of configurable parameters for a particular course from an outside source. In addition, an optimized set of configurable parameters could be automatically determined by the PDA using a MGDT, such as that described above.
These tunable parameters can be revised over time for a specific course as more golfers use the system and learn the best values for that course. These values can be published so that the golfer can set the tunable GPS parameters before starting play on a course. The tunable GPS parameters could also be electronically provided to the golfer through various techniques described in the next section to further automate this process.
Basic course position data and GPS tunable parameters may be beamed or transmitted to other nearby golfers. Also, the results of any of the actions previously described can be beamed via a PDA infrared port or transmitted wirelessly to other nearby golfers to enable them to use the results of those actions without having to perform those actions themselves. In particular, this allows one person in a group, or a caddie, to be the designated person that periodically goes to specific reference points and creates new eFilters for the current environmental conditions. The new eFilters can then be transmitted in real time while playing the course to the other members in the group to enable them to more accurately determine distances to a pre-defined survey of known target points on a course. Unlike DGPS type corrections that apply just to your current position, these adjustments are applied to all target Lat/Lon values within a networked data set thereby retaining their distance relationships between targets within the networked data set. It also allows a person to go in advance of the group to mark new targets that may not exist in the pre-defined course survey and beam or transmit the new targets to the other members in the group so they can have immediate access to computed distances to the new targets adjusted for current environmental conditions in real time while they are playing the course. The beaming flowchart process is shown in
In order to further enhance the accuracy of this system, the Lat/Lon adjustments for a specific area (including modeling as well as current environmental analysis) can be periodically transmitted to the handheld GPS device via satellite, wireless internet, infrared beaming or other communications for the current date and time. Again, unlike DGPS type corrections that apply just to your current position, these adjustments are applied to all target Lat/Lon values within a networked data set thereby retaining their distance relationships between targets within the networked data set.
In order to further enhance the usability of this system this invention would allow the user to upload the target/avoidance objects and points data that the user has surveyed to a central processing computer via a PC and/or landline and/or wireless link. The central processing computer would apply certain quality control checks to the data and then make it available for download back to the user's PDA via the above channels. The tunable GPS parameters specific to this course can also be inserted into the course database to enable other golfers who use this course data to automatically update their GPS with the tunable parameters for this specific course. Once the central processor processed the data, it would be available for other golfers to download by suitable agreement. One embodiment of the present invention uses a website that would provide a means for accomplishing this exchange of data.
Since the system of the present invention is a target-based system rather than an image-based system, it provides a simplified user interface to quickly determine distances to key targets as shown in
Targets can easily be added beforehand or during play by selecting from a list of common golf targets as shown in
In another aspect of the present invention provides a compact, simplified and user friendly device and process to capture real world geo-location data that is of interest to a user, analyze that data and present it to a golfer in a useful and beneficial manner. One example of the present invention is an electronic or computerized device operating in conjunction with a global positioning system (GPS) device that enables users to carryout out a variety of functions relating to navigation, surveying, GPS analysis, and GPS data error correction for golfing locations. Such a device or apparatus can be a handheld personal digital assistant (PDA) used with or connected to a GPS device to enable a golfer to, among other functions, measure and display distances between a golfer and an object on a golf course, obtain and process location values for a desired point on a golf course, determine environmental condition error correction factors, survey and/or electronically input and record target and avoidance locations of a golf course, and determine the relative elevation to selected targets or objects. The PDA will typically have golfer-specific integrated systems and applications software, and will be electronically connected, via an appropriate communication link, to a GPS receiver with tunable parameters.
Further, the PDA may comprise a computing environment where files, data and information can be entered or recorded directly by the golfer or downloaded to and uploaded from the PDA. For example, existing or pre-surveyed data relating to various golf courses may be downloaded from a central location, e.g., an internet web-site, to the PDA for use by a golfer prior to playing a golf course. Also, the PDA can comprise a means for the golfer to interface with the PDA, including a screen display where information and data can be presented to the golfer and inputs user actuated keys, buttons, and other user actuated input devices or components. Also, the screen display can be a touch-input screen where a user may enter data by touching the screen or using a mechanical or electromechanical device to directly interact with the touch-input screen.
There is further provided an improved graphical method for measuring and graphically or visually displaying distances between a golfer or user and a target or object on a golf course, displaying the elapsed time a golf player has been playing a hole on the course and the cumulative total time elapsed, displaying wind direction information on a golf course, and displaying statistics of distance ranges for each golf club via a software application running on an electronic or computerized device connected to a global positioning system device. There is also provided a novel and improved graphical method for displaying multiple measured distances along a line of sight between a golfer and an object or target on the golf course, and for rotating or orienting a target or object on a display to coincide with a user's perspective or line of sight.
In an embodiment of the invention, golf course graphics are preferably displayed on a liquid crystal display (LCD) or other user output screen on a GPS enabled PDA, integrated GPS unit, GPS enabled cell phone or other electronic or computerized device able to download GIS data and operative with a GPS unit. Those of skill in the art will readily recognize that other real-time location techniques may be used, including cell phone signal triangulation. As technologies develop, GPS and other real-time location systems will become more and more accurate. The golf course graphics preferably comprise a green outline or topographical representation of the green (shown in
On devices that use a touch screen display, the representative target area or object may be tapped by the user in order to select a position on the screen to derive the distance from the user to a selected target or object. Also, a crosshair cursor is preferably positioned on the screen at the point chosen and tapped. Alternatively, on devices without a touch screen, device keys, buttons or other input means may be used to move and position a crosshair cursor on the graphics displayed on the screen in order to select a target or object and determine the distance from the user to the selected target or object. The distance to the selected target or object is preferably derived and displayed on the device screen display, based on GPS and GIS information processed on the device.
As shown in
The interface shown in
In Step A, the Golfer loads the unit's memory with a pre-defined green outline and/or outline of other objects and the center location of the green. The green outline points can be a set of latitude and longitude pairs for each point on the outline that are to be connected by lines; (b) a graphics image that has been geo-referenced, e.g. the latitude and longitude of at least 2 pixels are given; or (c) a series of x, y pixel locations to be connected by lines with the latitude and longitude of the center of the object provided along with the object's orientation from due north and a scale factor used. In a preferred method, the green outline points are a series of x, y pixels as described in (c) above. Alternatively, green outline point forms (a) or (b) could be used, and would have to be converted to form (c) before performing the following steps.
In Step B, the golfer takes the unit to a golf course, turns it on and selects a hole to begin play. In Step C, the outline of the object could be displayed before a GPS position fix is obtained by either displaying the image oriented due north or with the front of the green or object at the bottom of the screen. In Step D, when the GPS device obtains a position fix, the green or object is redrawn, oriented such that it is displayed as seen from the golfer's line of sight to the green or object.
In Step E, the crosshair set can be drawn on the screen and distances computed and displayed preferably as follows:
In Step E1, the crosshair set is positioned by the user at an initial location on the screen. This could be either the center of the screen or a point that represents the center of green. If the center of the green is used as the initial position of the crosshair, the center of the green's latitude and longitude must be converted to an XY graphics point. The latitude and longitude of the center of the green target will be converted to an XY graphics point on the screen.
In Step E1a, a golfer's line of sight angle of approach is determined, preferably by the following calculations:
GX=(GLon−LonCenter)*YdsPerLon*LonScale
GY=(GLat−LatCenter)*YdsPerLat*LatScale
GA=a tan(GY/GX)
where:
Step E1b is used to determine the X & Y pixel position of the center of green from the center of screen, preferably by the following calculations:
X1=(CLon−LonCenter)*YdsPerLon*LonScale
Y1=(CLat−LatCenter)*YdsPerLat*LatScale
X2=X1*cos(−GA)−Y1*sin(GA)
Y2=X1*sin(−GA)+Y1*cos(GA)
CX=Xcenter+X2
CY=Ycenter−Y2
where values are same as in Step E1a above and:
In Step E2, the latitude and longitude of the top and bottom intersection points is determined. This requires scanning for the intersection of the crosshair vertical line with the top and bottom edge of the green and converting those XY points to latitude and longitude values as follows:
In Step E2a, the image of the green is displayed on the screen. In step E2b, starting at the current X & Y position of the center of the crosshair, scan the image upward until the top edge of the green is found, e.g. in the case of a green outline on a black and white screen, it is the point at which the pixels change from white to black. Then, starting at the X & Y position of the center of the crosshair, scan the image downward until the bottom edge of the green is found, in the case of a green outline on a black and white screen, it is the point at which the pixels change from white to black.
In Step E2c, the X & Y positions are preferably converted to latitude and longitude via the following calculation:
X1=(X−Xcenter)
Y1=(Y−Ycenter)
X2=X1*cos(−GA)−Y1*sin(−GA)
Y2=X1*sin(−GA)+Y1*cos(−GA)
ILon=(X2/LonScale/YdsPerLon)+LonCenter
ILat=(Y2/LatScale/YdsPerLat)+LatCenter
where symbols that are the same as in E1b above have the same meaning and:
In Step E2d, the crosshair set is preferably drawn on top of the green image with extended vertical lines up and down, and an arrowhead at the top to indicate the golfer's line of sight direction, as shown in
In Step E3, the distances to the center, top and bottom points on the green are computed and displayed on the screen. Using the latitude and longitude values computed above, the following preferred calculations are performed to determine the image intersection points and center of the crosshair:
X1=(ILon−LonCenter)*YdsPerLon
Y1=(ILat−LatCenter)*YdsPerLat D=sqrt(X1*X1+Y1*Y1)
Where values are same as in E2c above and:
In Step E4, if the golfer moves the crosshair on the screen or touches a different point on the green, then the screen is redrawn and a new distance is computed, preferably as follows:
In Step E4a, a new X & Y pixel location of the crosshair is preferably obtained after the crosshair has been moved or after the golfer has touched the screen, as follows:
CX=x value of new crosshair center
CY=y value of new crosshair center
In Step E4b, new latitude and longitude values of the top and bottom intersection points on the green image are determined as previously described in Step E2 above. In Step E4c, the distances to the center, top and bottom points are computed and displayed on the screen as described in Step E3 above.
If the golfer moves to a new location, then step E1a is performed before repeating Step E4 in order to adjust for the new angle of approach by the user to the green. Further, each point of the green outline should also preferably be rotated based on the new angle of approach to display the green outline as viewed from the golfer's new position as shown in
An alternate embodiment of the present invention relating to the crosshair involves rotating the crosshair rather than the object or target to indicate the golfers approach angle to the object. The object would always be drawn in a standard orientation but the crosshair would be redrawn on the object in the direction that a golfer's ball would ideally travel if hit straight toward the object. The same rotation formulae, as previously described in Steps E, would be used and applied to the crosshair rather than the object. For example, if the Golfer hit to the left of the green, the crosshair would appear to be drawn on the screen from left to right at an angle based on the Golfer's angle of approach to the green. The intersection points would be calculated and determined in a manner similar to that described previously by following the line out from the crosshair center to the points where it intersects the edges of the object. The latitude and longitude of these points would be determined and used to compute the distances displayed.
Because of the GPS, or other real-time location information being processed on the unit, the unit always “knows” the vector to the selected target or object. The unit can then rotate the graphics on the screen to preferably display the target from the user's perspective, thus the distances are always relative to the user's line of sight and are automatically updated as the user's position physically changes in relation to the target or object area.
In Step A relating to
In Step B relating to
In Step D1, the latitude and longitude of each point of the green outline are converted to XY points on the screen. In Step D1a, the golfer's line of sight angle of approach is preferably determined as follows:
GX=(GLon−LonCenter)*YdsPerLon*LonScale
GY=(GLat−LatCenter)*YdsPerLat*LatScale GA=a tan(GY/GX)
where:
In Step D1b, the X & Y pixel position of an outline point is determined or calculated as follows:
X1=(OLon−LonCenter)*YdsPerLon*LonScale
Y1=(OLat−LatCenter)*YdsPerLat*LatScale
X2=XI*cos(GA)−Y1*sin(GA)
Y2=XI*sin(GA)+YI*cos(GA)
CX=X center+X2
CY=Ycenter−Y2
If the golfer moves to a new location, Step D1a should be performed to compute the change in the user's angle of approach to the object or target. If the change to a new location is more than a pre-set value, then Step D1b is also performed to redraw the green outline from the golfer's new angle. If a small position change is used, e.g., less than a degree, the target or object will be redrawn often on the display screen by the system. This can be distracting to a user. Using a practical change of degrees, e.g., at least 5 degrees, will reduce the number of redraws and diminish distractions to the golfer. As the golfer gets closer to the green, the redraw function should preferably be inhibited in order to keep screen redraws to a minimum, especially as the unit reaches the singularity point. In a preferred embodiment, a practical value of several yards, e.g. 20 yards, from the center is used to inhibit redraws. However, lesser or greater values could be used.
The change in angle is preferably determined as follows:
First, the golfer's new line of sight angle to center of screen is computed by performing Step D1a, where NA=New line of sight angle. Then, determine the change in angle and then compare to a pre-set value as follows:
A1=abs(GA−NA)
As noted above, the same processing applied to the green view feature may also be applied to other hazards or landmarks on the course. Such a configuration may be used to map out a specific hole on a course, as depicted in
Target outlines of one or more holes can also be displayed on one or more display screens along with the current position of the golfer as he drives or walks along the course and stops next to his golf ball. Distances to targets from his ball position and how far the ball was hit can also be calculated, displayed and viewed by the golfer.
In the interface shown in
As discussed above, the various features of a golf hole may be mapped in a manner similar to the process used to generate the green map. The outline of features such as a bunker, water hazard, waste area, out of bounds, etc. is preferably derived from a topographical representation of the feature or geo-referenced satellite image of the feature area, though other data and information may be used to create the feature outline. Based on GPS, GIS or other location data and information, the distance from the user to the selected intersections of the shot path(s) across on the outlines and central crosshair location is determined and displayed. In this manner, useful distance information to selected front and back locations of the various outlined hole features are displayed to the user.
In the example shown in
It should be noted that one or more landing areas may be displayed on a single hole. For example, on a par 5 there may be target landing areas displayed for each of a tee shot landing area and the targeted landing area for a layup shot, and the virtual shot path would connect these target areas with a shot path extending from the tee box through each of the landing areas to the point of interest on the green. In this case, yardages to the features along the duration of the shot path, i.e. connecting the tee area to each of the shot paths through to the point of interest on the green, may be displayed to a user. Additionally, a user may control a location of any of the targeted areas displayed on the device, thus altering the virtual shot path displayed on the device. The display would then be updated to reflect the changes to the virtual shot path by updating yardages, and adding or removing any features newly intersecting or no longer intersecting the virtual shot path. As noted above, the point of interest on the green may correspond to an estimated position of the center of the green, or may also be moved by the user to correspond to any other target point on the green.
Additionally, the perspectives of the hole representations and virtual shot paths described with reference to
The user may enter the prevailing wind direction and speed into the system prior to play. Once wind information is entered into the system, a wind indicator graphic is preferably displayed on the screen. Based on the GPS or other position location device information, a vector from the user to the target or object is calculated. Once the vector is calculated, the wind direction vector is plotted on the display screen. This wind indicator display will provide the user with a visual indication of the prevailing direction of the wind as it relates to his position relative to the target or object. Further, in an alternative embodiment, a solid-state wind direction sensor may be integrated with the handheld unit PDA/GPS device to provide real-time wind and velocity information that is then calculated as a vector as it relates to the user and target or object.
In Step B, the golfer obtains the prevailing wind direction and speed for the day. This can be done either before going to the golf course or at the golf course or in any other suitable manner.
In Step C, the golfer takes the unit to a golf course, turns it on and presses a key or button on the device or selects a menu item that enables him to enter the prevailing wind direction and speed for the day, as shown in
In Step E, the outline of the object is displayed before a GPS position fix is obtained by either displaying the image oriented due north or with the front of the green or object at the bottom of the screen. When the GPS obtains a position fix, the green or object is redrawn oriented such that it is displayed as seen from the golfer's line of sight.
In Step F, after the image is drawn, the wind direction indicator can be drawn indicating or displaying the direction in which the wind is blowing as follows:
First, the golfer's line of sight angle of approach, GA, is determined as described in Step E1a of
WA=45*D1
Where:
Finally, an arrow or symbol rotated from due north is displayed using the following angle calculation:
AA=GA−WA
Where AA=arrow angle with 0 preferably being straight up, 45 to the right, etc. Other mapping parameters may be used. Further, for practical purposes, AA could be limited to a preferred set of angles in order to use a predefined graphics indicator for each angle, e.g., 10 degrees, 20 degrees, etc. Further, any other symbols could be used to convey the wind direction.
In Step G, any time the image is redrawn on the screen due to a change in the golfer's position, the wind direction indicator is preferably redrawn as described in Step F.
This display feature and method is advantageous since one significant and recurring problem on golf courses is the pace of play of persons or groups. The text and/or graphic pace of play timer function/display of
In Step D, the pace of play display values are computed and displayed as follows:
TP=(Tcurrent−Tstart)−TeePace−Sum [all prior holes HolePace]
FP=(Tcurrent−Tstart)−FairwayPace−TeePace−Sum(all prior holes HolePace)
GP=(Tcurrent−Tstart)−GreenPace−FairwayPace−TeePace−Sum[all prior holes HolePace]
Where:
The golfer can then look at the numbers displayed and observe the time that is applicable to his current situation, i.e., if on the TEE the golfer references the TEE, TP or T number, if on the fairway he references the FAIRWAY, FP or F number, and if on the green he references the GREEN, GP or G number, shown in
Further, in another embodiment, the positive and negative values shown in
Once the golfer selects a target of interest, the unit or device can scan the internal database for the club ranges that are closest to the target distance. These clubs would then be displayed on the screen with a bar drawn between the minimum and maximum distance for each club. A short line would be drawn through the bar to indicate the mean distance for that club as shown in
In Step 4, minimum and maximum chart distances are then computed. Again, options for selecting the minimum and maximum chart distances include, but are not limited to, using the minimum and maximum values of the selected clubs, using the mean values of the selected clubs, using a factor to compute the range based on the target distance, etc.
In Step 5, for each club to be displayed, a bar is drawn from its minimum value to its maximum value on the chart, clipping any values that extend beyond the range of the chart. Also, a short line is drawn through the bar at its mean value and a club identifier is preferably displayed below the chart underneath its bar. The club identifier could be located at other positions on the screen display.
In Step 6, the chart maximum and minimum distances and the target distance are preferably displayed to the side of the chart and a line is drawn through the middle of the chart to indicate the target distance. Again, those skilled in the art will readily see that other locations and indicators could be used.
Alternatively, the chart could also be drawn with horizontal bars rather than vertical bars, as shown in
Further, the personal golfing assistant system is not required to collect club statistics in order to make use of the club range function. However, an alternate way of obtaining this data would be to go to a driving range and hit a number of balls with each club to determine the minimum, maximum and mean distances hit within a specified standard deviation, e.g., two standard deviations. After hitting a set of balls with a club, the golfer could enter the club into the unit or device and mark the point at which all the balls were hit. With permission from the driving range, he could then go and mark where each ball landed.
The distance of each ball could then be computed and saved. When all balls for that club were marked, the device could compute the mean, minimum and maximum values, discarding any values outside of two standard deviations, and save the results for that club. The saved results could then be used to generate graphical representations of statistical club distance ranges for a golfer similar to those of
The present invention is further directed to a method for the collecting, uploading, processing, distributing and downloading of golf course data and information, such as geographic information services (GIS) data. In one aspect, the data is uploaded to a server computer with an associated storage medium, e.g., a database, accessible via the Internet or other user accessible network. The method for collecting and distributing golf-course map data can involve generating golf course map or survey data, for example, by manual surveying and storage of data by a golfer using a handheld PDA with an associated GPS unit. The surveyed golf course data can golf play data such as the layout of each hole, the distance to each cup, the layout of each green, the position and outline of each bunker, the position of each water hazards, etc. Alternatively, a golfer may also create golf course data or maps by modifying exiting golf course data to coincide with present golf course conditions that may differ from the original recording of previous golf course data.
The golf course data can then be uploaded and stored at a central location such as a server with associated data or database storage. The uploaded information may be sent via packet communication or any known communications format or protocol, e.g., TCP/IP. The server is preferably accessible via an Internet webpage for subsequent downloading by authorized users. The uploaded data can be processed such that the information is later available to authorized users in a predetermined format. The stored golf course data can be indexed, processed and/or arranged by a designated server, such as a database server.
Authorized users can subsequently access the network of a golf course data provider. This can be accomplished through a personal computer, or via a PDA having a GPS functionality via an Internet webpage/homepage or other public network access point to access desired golf course data. Golf course data uploaded and stored on servers of golf course data providers can then be downloaded via the Internet. Authorized users typically must log-on to the provider's website and provide appropriate log-on and identification information to authenticate them as users authorized to retrieve stored golf course data. This process enables the information providers to control access to authorized users and provides one way of properly charging customers for services or data provided for downloading. Once logged on, a user can request information related to a particular golf course including golf course data and GPS map data, among other information. The user's request is executed by retrieving the desired information from the server or database server where the information is stored.
The retrieved information is then downloaded to the user's apparatus, e.g., a handheld PDA or integrated unit with a GPS device. The downloaded information can include GPS map data for a desired golf course as well as other relevant golf course related data desired by a user. The downloaded information can be immediately used or displayed on the user's apparatus display or can be stored on the apparatus or associated data storage for subsequent retrieval, use and display by the user. The user may use the data to prepare himself/herself for a round of golf.
In Step S200, the data may optionally be derived via remote geo-referenced satellite or aerial imagery. In this mode, in Step S201, the latitude and longitude of the golf course of interest is determined by a geo-location address service such as Mapquest or from existing survey data. In Step S202, the latitude and longitude information of the golf course of interest is used to search for geo-referenced satellite or aerial imagery from a number of sources such as the United States Geophysical Survey (USGS), SPOT Imagery, IKONOS Imagery, Kodak Imagery systems or other aerial or satellite imagery. Optimally, imagery with fifteen (15) centimeter to one (1) meter resolution is required in order to adequately determine the details of the targets of interest. At Step S203, the geo-referenced imagery is acquired or purchased and downloaded to a processing center.
In Step S204, the geo-referenced imagery is inputted into analysis software such as ArcView, OziExplorer or other GIS processing software. An operator then calibrates viewable features on the imagery with ground truth GPS data such as High Accuracy Reference Network (HARN) survey control points that may be located in the imagery. Ground truth calibration data may also be acquired by a portable GPS system as noted above in Step S100 on features that are identifiable in the imagery. Optionally, if the geo-referencing of the imagery is determined to be of suitable accuracy then ground truth calibration of the imagery may not be required. In Step S205, after the imagery is calibrated, the operator identifies targets such as greens, bunkers and water hazards. Then using GIS analysis software, the operator derives the latitude/longitude points of the targets of interest and associates them with attribute names such as Center of Green, Bunker Front, Water Carry, etc.
In Step S300, the data of Step S205 is transmitted to a central processing server via an internal network, the Internet or other external connected network. In Step S301, various known communication protocols may be used to transmit the data. For example, File Transfer Protocol (FTP) is a common protocol used when transmitting data over networks.
In Step S400, the incoming data is archived on a data server. In Step S401, the data is archived on a server that is backed up to a tape, magnetic, optical media and/or other storage medium.
In Step S500, the incoming data is staged for distribution to the Quality Control process. In Step S501, the data is handed off to a Database and Indexing process.
In Step S600, the data is processed into a database. In Step S601, the data is assigned a unique index number in order to track it through the processing and distribution system.
In Step S700, the indexed data is archived on a data server. In Step S701, the data is archived on a server that is backed up to a tape, magnetic, optical media and/or other storage medium.
In Step S800, the indexed GIS data is checked by quality control software in a primary Quality Control (QC) process. In Step S801, the GTS data for the golf course is formatted and displayed on a PC monitor using ArcView, AutoCad, Open GL or other appropriate software such as SkyGolf GPS Personal Digital Caddie System, version SkyGolf GPS2 available on products from SkyHawke Technologies, LLC. The user validates the collected or derived data points associated with the targets for accuracy between the points and also with other data in the database such as the published yardages for each of the holes.
In Step S900, the processed GIS course data is reviewed and if it passes, it is “handed off” to process Step S1100. If the data is determined to have problems it is “handed off” to process Step S1100 to correct the problems with the data. In Step S1100, data problems encountered in the primary QC process are analyzed and repaired if possible.
In Step S1100, the indexed data is associated with other optional information about the course. In Step S1101, the indexed GIS data is associated with informational data on the course in a relational database such as Microsoft (MS) SQL. Other types of databases may be used as are well known in the art. In Step S1102, promotional information may be associated with the course data. In Step S1103, golf “tips” for playing the particular course or hole are produced from input by caddies or other course professionals and associated with the indexed data.
In Step S1200, other additional or supplemental course information such as that
derived from 3rd party sources may be associated with the data at this time.
In Step S1300, the indexed data is reviewed at a final QC process. In Step S1301, the indexed data is reviewed for accuracy along with the additional data associated with it in Step S1200.
In Step S1400, the data is “passed” or “failed”. In Step S1401, if the data is “passed” it is sent to process Step S1600. In Step S1402, if the data is “failed” it is sent to process Step S1500 for correction.
In Step S1500, the data is corrected for inaccuracies and returned to process Step S1300.
In Step S1600, the data is then formatted for use with various applications for multiple user devices. These devices may include, but are not limited to, GPS enabled PDA's, GPS devices or GPS enabled cell phones. In Step S1601, the quality controlled GIS data that is now associated with target or feature attribute data is processed by formatting the data into the particular data formats required by the application software running on the respective devices. In Step S1602, the data formatting process may use appropriate software provided by an application software vendor or other appropriate software such as SkyGolf GPS Personal Digital Caddie System, version SkyGolf GPS2 available on products from SkyHawke Technologies, LLC.
In Step S1700, the data is staged for distribution. In Step S1701, the data is staged for distribution to the internet or other network servers. The data may also be staged at process Step S1900 for distribution to “point of sale” servers that are located in retail locations.
In Step S1800, the data is stored in an online database with associated indexing and description tags. In one embodiment, the online database is accessible via the Internet or other network available to authorized users. In Step S1801, the formatted GIS data with its associated attribute information is archived on a data backup server and then uploaded to an online data server. In Step S1802, once the formatted GIS data is loaded on the online data server, the GIS data is available for search and download by customers.
In Step S1900, Point of Sale distribution staging occurs.
In Step S2000, a Point of Sale action is carried out preferably on a Data Server.
In Step S2100, a web site server is accessed for transactions by users having a service subscription. A user's subscription gives the user an area on an online web-server that is accessible directly by the device, such as network enabled cell phones and other wireless device protocols. The user's subscription also gives the user an area on an online web-server that is accessible indirectly via a connection to a PC. This area allows the user to store and organize his GIS data for download to his device. In Step S2101, based on the user's subscription level, single or multiple folders may be set up for the user to access an online web-server. In Step S2102, the user may store and organize the data he has purchased or downloaded from the online database for later retrieval.
Additionally, the user could also upload GIS data that the user has recorded with his device via this process to the online data servers for processing and re-distribution via the database. In this case, in Step S2103, the user records GPS information and associates it with target attribute information by using appropriate software applications for this purpose such as SkyGolf GPS Personal Digital Caddie System, version SkyGolf GPS2 available on products from SkyHawke Technologies, LLC. And in Step S2104, this information is automatically retrieved from the device when the user logs on to the online website. The data is stored in the user's online data area for later use or for insertion into the distributed data.
In Step S2200, a designated web site golf course GIS data server is used to store data. In Step S2201, the indexed golf course GIS data formatted for use on particular devices is stored on the online data server.
In Step S2300, customer data is accessed. This information is used in process Step S2500 to allow downloads based on the subscription and access level of the user. New or updated customer data will be collected during the registration process (Step S2600).
In step S2400, transaction and billing processing take place. In Step S2401, customer data transactions are metered based on the number of datasets downloaded. In Step S2402, the data can optionally be metered based on the size of the files downloaded. In Step S2403, the customer information is associated with the subscription level and billed or debited against the subscription level according to the data sets downloaded.
In Step S2500, search, purchase and download is accomplished. In Step S2501, the course data is time stamped so that based on the user's subscription level the data may be used for that day, week, month, year or unlimited usage. In Step S2502, the application reads the time stamp on the data and if it is within the parameters of the user's subscription use of the data is allowed. In Step S2503, the data can be optionally associated with a usage flag that counts the number of permitted uses of the data and compares it to the subscription level of the user. Further, based on the subscription level of the user, the data may be set to expire on the associated device at different rates based on time, such as hours, days or weeks, etc., or it may be set to expire on a per use basis such as 1, 2, 3, etc. uses of the data.
In Step S2600, customer registration and subscription processing are performed. In Step S2601, if the customer enters the authorization process and is not registered he is guided through an online registration and subscription purchase process. Customer name, address and billing information is collected along with the subscription level desired. Other demographic information may be collected at this time. In Step S2602, once customer demographic information is completed, it is saved to the customer database for reference in process Steps S2100, S1400, S1500, S1600, and S2700.
In Step S2700, in the website authorization process, the user signs on to a website to initiate a subscription giving him access to download the golf course or other GIS data. In Step S2701, the user initiates a subscription to use the GIS data via a website registration process. Credit card and financial information is received via a “shopping cart” process or other known online shopping process that allows such a transaction. There can be multiple levels of subscriptions that give the user different levels of access to the GIS data. In Step S2702, the user information is captured into a database for lookup when the user logs on to the website. A unique identification number, such as an Electronic Serial Number (ESN) or identification (ID), of the device is associated with this information in order to help automate future log on processes. In Step S2703, the online database may then be searched for course data that the user is interested in. Once the course data is selected, it is staged for insertion to the user's online folder(s) for subsequent download. Optionally, the data may be downloaded directly to the user at that time.
In Step S2800, a user may initiate communications with the website server through the internet or other network link. In Step S2900, a personal computer or other appropriate computing machine may be used by the user to access the website server. In Step S3000, a portable user device such as a PDA may be used to access the system. Alternatively, in Step S3100, a wireless user device such as a wireless enabled PDA, cell phone or other wireless device may be used to access the system.
Collection, Processing and/or Distribution of Golf Related Data and Direct Connect Aspect
In one aspect a unit or device, e.g., a portable device such as a PDA or cell phone, with a unique identification number, such as an Electronic Serial Number (ESN), is used in the collection, processing or distribution of golf related data. In one embodiment, a unique identification number is embedded in each unit or device. The unit or device unique identification number would be available in a memory area on the device that could be queried by the remote website server application. This can be accomplished by the website server application sending a polling command to the connected device requesting the device to output and send its internal unique identification number. When the unique identification number is successfully returned to the website server application by the device, the unique identification number is automatically associated with the user's subscription and account information and automatically logs the user into their user's respective course data storage and course data management area of the website or other networked data repository by means of a database server lookup table.
Once the user is logged on to his specific area of the website or other networked data repository, the user has a variety of capabilities and can carry out a variety of functions. The user is able to, among other capabilities: View lists of courses that are available to that golfer for downloading based on purchases or subscription levels associated with the unique identification number; Retrieve, store and organize course data sets in folder areas containing collections of specific courses to be downloaded to the handheld device. The folders are user customizable as to their description (e.g. “MyHomeCourses”, “MyVacationCourses”, etc); Initiate the download of the folder “package” to the handheld device; Retrieve, store and organize course target data that the user has recorded himself; Place user recorded target data in downloadable folders; and Retrieve and/or set preference settings via a data input page on the website for that specific handheld device, including display settings, operational settings, and GPS parameter settings, etc. These preference settings then would be downloaded to and initiated on the respective device.
These tasks can be accomplished or carried by the website server application presenting custom user input pages to the user associated with the user's device or unit unique identification number that is logged into the server. The user can review, modify or act upon the data in his folder area prior to initiating a download of the data to the user's device by selecting one or more menu buttons on the web page such as one labeled “Download to Unit” or similar labeling.
A similar method or process can be employed in managing the user's device preference settings. The web server application presents a custom user input page on the website that contains the preference settings retrieved from the user's unit via a command and polling sequence. The preference settings are stored in the user's data area on the web server or other accessible storage location. The user can modify the preference settings and, upon initiating a subsequent download to the unit via a menu button located on the user's web page, update the settings stored in the device's onboard memory chip or storage.
One other utilization aspect of the unique identification number is to provide a means whereby data to be downloaded is automatically encrypted specifically for that unit by using a specific key for that unique identification number that is either a static key or a rotating key. This can be accomplished by the web server application staging the user selected courses for download to the device and applying a software encryption algorithm to the data that is encoded by using a static key already embedded or previously transmitted to the unit or by a rotating key that is derived by the receiving unit from a common set of events. The encryption means used can be any one or those known to those of ordinary skill in the art, e.g., software encryption algorithms RSA, Blowfish, PGP, etc., as well as custom encryption algorithms.
One operational aspect or method of identifying the apparatus, unit or handheld device uses a unique identification number, such as an Electronic Serial Number (ESN). During production, a unique identification number is stored into the handheld device. When logging into the web site containing golf course data for downloading, the unique identification number can be retrieved from the handheld device and used in place of a user ID and password. Based on the unique identification number retrieved from the handheld device, a specific area of the web site is made available to that user after they have been logged in. The area available to the user, based on the unique identification number, can include the following user specific items, among others: Lists of courses that are available to that golfer for downloading based on purchases or subscription associated with that unique identification number; Courses the golfer has recorded himself; Folder areas containing collections of specific courses to be downloaded to the handheld device (e.g. MyHomeCourses, MyNextVacation, etc.); and Preference settings for that specific handheld device, including display setting, operational setting, and GPS settings.
The data to be downloaded can be encrypted using a specific key for that unique identification number based on a static key. The data to be downloaded can also be encrypted using a specific key for that unique identification number that is based on rotating key, e.g., each day, each week, each month, each year, etc.
Based on the unique identification number retrieved from the handheld device or unit, special screens can be displayed, including among others: Special advertising screens for groups of specific unique identification numbers; Special sponsor screens for groups of specific unique identification numbers; and Personal startup screens for a specific unique identification number. Also, security protocols may be invoked based on the unique identification number for disabling of lost or stolen unit and disabling or reduced functionality of unit beyond subscription time period.
Further, another aspect of the web-centric access control based on the unique identification number, the handheld's application software may be automatically updated based on the handheld device reporting, upon connection to the web server, what version of application software the handheld device is running. The web server can then automatically download an appropriate application software update from a file storage area associated with the handheld device's specific unique identification number or selected group of unique identification numbers.
Once the handheld device is connected to the web server, information or data may be downloaded or streamed to the handheld device or group of device based on unique identification number lookups associated to real-time data field updates in the server database. Information or data from the handheld device may be uploaded or streamed in real-time to the web server and associated with the unique identification number of the unit.
The unique identification number on the unit or device may also be used to identify the unit for the download of special or targeted advertising screens tailored for individuals or for groups of specific unique identification numbers. Special sponsor screens may be downloaded to the unit as well as custom personal startup screens for a specific unique identification number. This can be accomplished by staging pre-formatted text or bit-mapped image files in the web server database. These files are relationally associated with specific unique identification numbers or groups of unique identification numbers. When the web server application determines that a unit with a matching unique identification number is connected to the system it automatically initiates a lookup to the database and retrieves the associated text or bit-mapped images. A download to the unit is initiated and the files are inserted into the specified device memory location for retrieval and display by the embedded application on the unit's LCD or user interface display.
The unique identification number can also be used provide a security feature for the device. If a unit is lost or stolen and is reported by the user the database can flag the associated unique identification number as lost or stolen. This security feature is invoked upon a subsequent connection to the website when the unit is identified in the server database as a lost or stolen unit. Specifically, it may be disabled via a remote command that is processed by the embedded application software on the device. Optionally, a screen may be downloaded or programmatically invoked and displayed on the unit showing a phone number to call to report a lost or stolen unit while maintaining a disabled state on other application functions. The security feature may also be used as part of the business process to disable or provide reduced functionality on units that have expired subscriptions by downloading subscription status flags from a database lookup table associated to the unique identification number of the device by which the application running on the device would take the appropriate device limiting actions or download a separate limited function application replacement. The security feature or method can further be used to provide the user with updates on their subscription status and friendly reminders at pre-defined times prior to the subscription expiration date to renew their subscription.
Additionally, other data may similarly be presented to the user based on the unique identification number and associated data or information lookup in a database table. This data and information can be streamed into the database in real time by using Extensible Markup Language (XML) or similar methods. The data or information can then be distributed to the device based on unique identification number lookups associated to the particular data or information fields. The distribution can occur when the device is connected to the website or in real time if the device is connected via wireless protocols to the web server. Conversely, data and information may be uploaded from the device either upon connection to the website or in real-time if wireless protocols are used to connect to the web server. This is accomplished by associating the unique identification number to the appropriate relational data fields on the web server for any information or data that is uploaded to the web server from the device.
The invention has been described and illustrated with respect to certain preferred embodiments by way of example only. Those skilled in the art will recognize that the preferred embodiments may be altered or amended without departing from the true spirit and scope of the invention. While the above description contains many specifics, these should not be construed as limitations on the scope of the invention, but rather as an example of one or more embodiments thereof. Therefore, the invention is not limited to the specific details, representative devices, and illustrated examples in this description. Many other variations of this invention are possible. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the following appended claims and their legal equivalents.
This application is a continuation of U.S. patent application Ser. No. 15/469,950, filed Mar. 27, 2017, which is a continuation of U.S. patent application Ser. No. 13/974,816, filed Aug. 23, 2013, now U.S. Pat. No. 9,656,134, which is a continuation of U.S. patent application Ser. No. 13/447,989, filed Apr. 16, 2012, now U.S. Pat. No. 8,523,711, which is a continuation of U.S. patent application Ser. No. 12/573,752, filed Oct. 5, 2009, now U.S. Pat. No. 8,172,702, which is a continuation-in-part of and is based upon and claims the benefit of priority under 35 U.S.C. § 120 for U.S. patent application Ser. No. 11/542,546, filed Oct. 3, 2006, now U.S. Pat. No. 8,221,269, which is a continuation of U.S. patent application Ser. No. 10/668,919, now U.S. Pat. No. 7,118,498, which is a continuation-in-part application of U.S. Ser. No. 09/882,652, filed Jun. 15, 2001, now abandoned, which claims the benefit of provisional patent application Nos. 60/212,036, filed Jun. 16, 2000, 60/223,152, filed Aug. 7, 2000 and further claims the benefit of provisional patent application No. 60/422,415, filed Oct. 30, 2002 the entire contents of each of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60212736 | Jun 2000 | US | |
60223152 | Aug 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15469950 | Mar 2017 | US |
Child | 16179925 | US | |
Parent | 13974816 | Aug 2013 | US |
Child | 15469950 | US | |
Parent | 13447989 | Apr 2012 | US |
Child | 13974816 | US | |
Parent | 12573752 | Oct 2009 | US |
Child | 13447989 | US | |
Parent | 10668919 | Sep 2003 | US |
Child | 11542546 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11542546 | Oct 2006 | US |
Child | 12573752 | US | |
Parent | 09882652 | Jun 2001 | US |
Child | 10668919 | US |