A location beacon database and server, method of building location beacon
database, and location based service using same. Wi-Fi access points are
located in a target geographical area to build a reference database of
locations of Wi-Fi access points. At least one vehicle is deployed
including at least one scanning device having a GPS device and a Wi-Fi
radio device and including a Wi-Fi antenna system. The target area is
traversed in a programmatic route to avoid arterial bias. The
programmatic route includes substantially all drivable streets in the
target geographical area and solves an Eulerian cycle problem of a graph
represented by said drivable streets. While traversing the target area,
periodically receive the GPS coordinates of the GPS device. While
traversing the target area, detecting Wi-Fi signals from Wi-Fi access
points in range of the Wi-Fi device and recording identity information of
the detected Wi-Fi access point in conjunction with GPS location
information of the vehicle when the detection of the Wi-Fi access point
was made. The location information is used to reverse triangulate the
position of the detected Wi-Fi access point; and the position of the
detected access point is recorded in a reference database. A user-device
having a Wi-Fi radio may be located. A reference database of calculated
locations of Wi-Fi access points in a target area is provided. In
response to a user application request to determine a location of a
user-device having a Wi-Fi radio, the Wi-Fi device is triggered to
transmit a request to all Wi-Fi access points within range of the Wi-Fi
device. Messages are received from the Wi-Fi access points within range
of the Wi-Fi device, each message identifying the Wi-Fi access point
sending the message. The signal strength of the messages received by the
Wi-Fi access points is calculated. The reference database is accessed to
obtain the calculated locations for the identified Wi-Fi access points.
Based on the number of Wi-Fi access points identified via received
messages, choosing a corresponding location-determination algorithm from
a plurality of location-determination algorithms, said chosen algorithm
being suited for the number of identified Wi-Fi access points. The
calculated locations for the identified Wi-Fi access points and the
signal strengths of said received messages and the chosen
location-determination algorithm are used to determine the location of
the user-device. The database may be modified with newly added position
information to improve quality of previously determined positions, and
error prone information is avoided.