1. A method of determining a location of a mobile device via enhanced location based trilateration, the method comprising: receiving, via a processor of the mobile device, location information from one or more external devices, the received location information including a waypoint from each of the one or more external devices, each waypoint including a coordinate value, an altitude value and a range value, the range value identifying a distance from a external device to the mobile device; determining the validity of each of the received waypoints; performing normalization operations to normalize the received valid waypoints, assigning an overall ranking to each of the normalized waypoints, assigning an device-specific ranking to each of the normalized waypoints, and storing the normalized waypoints in memory; selecting four waypoints from memory based on a combination of the overall ranking and the device-specific ranking associated with each waypoint; applying the four selected waypoints to a kalman filter to generate a final location waypoint; and using the generated final location waypoint to provide a location based service.