Claims
- 1. A method for detecting a crossing of a boundary, the method comprising:
identifying a boundary within a coordinate system, wherein the boundary is defined by at least one rectangle; identifying a set of coordinates associated with a particular location of a monitored device; rotating the identified set of coordinates by an angle between a selected side of a particular rectangle of the boundary and an axis of the coordinate system; and comparing the rotated set of coordinates to a rotated rectangle to determine whether the location of the monitored device is located within the particular rectangle, wherein the particular rectangle is rotated by the angle to form the rotated rectangle such that the selected side of the rotated rectangle is oriented parallel to the axis of the coordinate system.
- 2. The method of claim 1 wherein a boundary crossing is detected if the location of the monitored device is located within the particular rectangle.
- 3. The method of claim 2 further comprising initiating a pre-selected response if a boundary crossing is detected.
- 4. The method of claim 3 wherein the pre-selected response includes
determining a new jurisdiction entered as a result of the boundary crossing; loading a boundary for the new jurisdiction; and detecting a crossing of the new jurisdiction boundary.
- 5. The method of claim 3 wherein the pre-selected response includes gathering information related to the boundary crossing.
- 6. The method of claim 5 wherein the monitored device comprises a vehicle and the gathered information includes at least one of a distance traveled and an amount of fuel used by the vehicle.
- 7. The method of claim 5 wherein the gathered information is sent over a wireless interface to a central server.
- 8. The method of claim 5 wherein the gathered information is stored on the device being monitored.
- 9. The method of claim 1 wherein the boundary is defined by a collection of overlapping rectangles, the method further comprising selecting a different rectangle of the collection of overlapping rectangles if the location of the monitored device is not located within the particular rectangle.
- 10. The method of claim 9 further comprising:
rotating the different rectangle by an angle between a selected side of the different rectangle and an axis of the coordinate system such that the selected side of the rotated different rectangle is oriented parallel to the axis of the coordinate system; rotating the identified set of coordinates by the angle between the selected side of the different rectangle and the axis of the coordinate system to generate a second set of rotated coordinates; and comparing the second set of rotated coordinates to the rotated different rectangle to determine whether the location of the monitored device is located within the different rectangle.
- 11. The method of claim 1 wherein:
the particular rectangle is defined by coordinates of two opposite corners of the rectangle; the rotated rectangle is generated by rotating the coordinates of the two opposite corners of the rectangle by the angle; and comparing the rotated set of coordinates to the rotated rectangle comprises comparing the rotated set of coordinates to the rotated coordinates of the two opposite corners of the rectangle.
- 12. The method of claim 1 wherein the defined boundary represents a boundary between a first jurisdiction and a second adjacent jurisdiction.
- 13. The method of claim 1 wherein the defined boundary is stored as a file by the monitored device.
- 14. The method of claim 1 wherein the particular rectangle has an associated indicator of a jurisdiction that is occupied if the location of the monitored device is located within the particular rectangle, the method further comprising loading a boundary for the jurisdiction that is occupied if the location of the monitored device lies within the particular rectangle.
- 15. The method of claim 1 wherein defining the boundary, determining the angle, and rotating the particular rectangle are performed by a central server.
- 16. The method of claim 1 wherein identifying the set of coordinates associated with a particular location, rotating the set of identified coordinates, and comparing the rotated set of coordinates to the rotated rectangle are performed by the monitored device.
- 17. A method for detecting a crossing of a boundary, the method comprising
retrieving data defining rectangles associated with a boundary; identifying a current location of a monitored device; and comparing the current location with the rectangles using the data defining the rectangles, wherein a determination that the current location is located within a rectangle indicates a boundary crossing.
- 18. The method of claim 17 wherein retrieving data defining rectangles associated with the boundary, identifying the current location of the monitored device, and comparing the current location to the rectangles are performed by the monitored device.
- 19. The method of claim 17 wherein the monitored device comprises a vehicle.
- 20. The method of claim 17 further comprising determining a distance covered within a jurisdiction defined by the boundary.
- 21. The method of claim 17 further comprising determining an amount of fuel used within a jurisdiction defined by a boundary.
- 22. The method of claim 17 further comprising determining statistics related to a jurisdiction defined by the boundary.
- 23. The method of claim 17 further comprising retrieving adjacent jurisdiction boundary data when a boundary crossing is indicated, with the adjacent jurisdiction boundary data defining rectangles associated with a boundary of an adjacent jurisdiction that is occupied after a boundary crossing.
- 24. The method of claim 19 wherein the rectangles correspond to the boundary of a current jurisdiction.
- 25. The method of claim 24 wherein the rectangles defining the boundaries of adjacent jurisdictions do not overlap the rectangles corresponding to the boundary of the current jurisdiction.
- 26. The method of claim 17 wherein the data defining rectangles includes, for each rectangle, an angle of rotation for the rectangle and rotated coordinates of two opposite corners of the rectangle, with the rotated coordinates corresponding to coordinates of the rectangle that have been rotated by the angle of rotation.
- 27. The method of claim 17 wherein comparing the current location with the rectangles comprises:
selecting a rectangle from the data defining rectangles; rotating a set of coordinates defining the current location by an angle of rotation associated with the selected rectangle; and comparing the rotated coordinates defining the current location to rotated coordinates of two opposite corners of the selected rectangle.
- 28. A system for detecting a crossing of a boundary, the system comprising:
a locator operable to identify a location of a monitored device; a memory operable to store at least one angle of rotation and rotated coordinates associated with a predetermined boundary, the rotated coordinates corresponding to original coordinates defining the predetermined boundary in a coordinate system, with each of the original coordinates being rotated by a corresponding angle of rotation to generate the corresponding rotated coordinates prior to storing each of the rotated coordinates in the memory, wherein the rotated coordinates define at least one rectangle of a rotated boundary; and a processor operable to rotate coordinates representing the identified location by at least one of the stored angles of rotation to calculate rotated location coordinates and to compare the rotated location coordinates with at least two of the rotated coordinates to determine a relative position between the monitored device and the predetermined boundary.
- 29. The system of claim 28 wherein the monitored device includes the locator, the memory, and the processor.
- 30. The system of claim 28 further comprising a mobile transmitter operable to selectively send a message based on the position of the monitored device relative to the predetermined boundary.
- 31. The system of claim 28 wherein the memory stores data corresponding to segments of the rotated boundary, each segment identified by at least two sets of rotated coordinates from the stored rotated coordinates and having an associated angle of rotation.
- 32. The system of claim 31 wherein the boundary represents a boundary around a geographic area and each segment of the boundary comprises a rectangle.
- 33. The system of claim 28, further comprising a second processor operable to calculate the at least one angle of rotation and to rotate the original coordinates defining the predetermined boundary by the corresponding angle of rotation to generate the rotated coordinates prior to storing the at least one angle of rotation and the rotated coordinates in the memory.
- 34. The system of claim 28 wherein:
each segment has at least one edge that is oriented parallel to an axis of the coordinate system; and each angle of rotation is defined by an angle between an axis of the coordinate system and a side of the segment associated with the original coordinates to be rotated.
- 35. The system of claim 28 wherein the locator comprises a global positioning satellite receiver.
- 36. A method for detecting movement across a boundary, the method comprising:
storing at least two sets of rotated coordinates associated with a predetermined rectangular boundary segment, the at least two sets of rotated coordinates corresponding to at least two sets of original coordinates that define the predetermined rectangular boundary segment in a coordinate system, wherein each set of original coordinates is rotated by an angle of rotation to generate the corresponding set of rotated coordinates prior to storing each set of rotated coordinates, and the at least two sets of rotated coordinates define a rotated boundary segment having sides that are parallel to axis of the coordinate system; storing the angle of rotation, wherein the angle of rotation is defined by an angle between one of the axes of the coordinate system and a side of the predetermined rectangular boundary segment; identifying a location of a monitored device; rotating a set of coordinates representing the identified location of the monitored device by the angle of rotation to generate a rotated set of location coordinates; and comparing the rotated set of location coordinates with the at least two sets of rotated coordinates to determine a position of the monitored device relative to the predetermined rectangular boundary segment.
- 37. The method of claim 36 wherein each set of coordinates identifies a longitudinal and a latitudinal position.
- 38. The method of claim 36 further comprising determining whether the boundary has been crossed based on the position of the monitored device relative to the predetermined rectangular boundary segment.
- 39. The method of claim 36 further comprising:
storing rotated coordinates associated with an additional rectangular boundary segment; storing an angle of rotation for the additional rectangular boundary segment; and responsive to a determination that the location of the monitored device is not located within the predetermined rectangular boundary segment:
rotating the set of coordinates representing the identified location of the monitored device by the angle of rotation for the additional rectangular boundary to generate a second rotated set of location coordinates; and comparing the second rotated set of location coordinates with the rotated coordinates associated with the additional rectangular boundary to determine whether the location of the monitored device is located within the adjacent rectangular boundary.
- 40. The method of claim 36 further comprising initiating a pre-selected response if the location of the monitored device is located within the predetermined rectangular boundary segment.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Under 35 USC § 120, this application claims the benefit of prior U.S. application Ser. No. 10/301,994, filed Nov. 22, 2002, and is incorporated by reference herein.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10301994 |
Nov 2002 |
US |
Child |
10726278 |
Dec 2003 |
US |