I think you should make the concept of a fake GPS coordinator, because any coordinate in itself can be considered genuine, whether the user is really there or not.
Thus, you can act in two ways:
- remove from any other source any position information that you can compare with GPS coordinates.
- analyze the data that you have (GPS coordinates) for discrepancies.
As for solution 1, you can, for example, use the CID (cell identifier) ββand LAC (location area code) of the nearest GSM signal tower to find out if the user is in a certain area. This will require an Internet connection and a request to a remote service to convert LAC coordinates to GPS.
As for solution 2, you can check for abnormal coordinate changes that do not correspond to the user's speed or acceleration, for example, changing a few miles in a few seconds can warn you about a forged coordinate.
source share