I am trying to build an algorithm for locating a WiFi networks approximate location (Lat/Lon) using latitude, longitude and RSSI.
I built a NodeJS wifi scanner that constantly scans for wifi networks. Each network is tracked by mac address and has a tracking array that contains RSSI, Lat coordinate and Lon coordinate that is captured each time the scanner encounters a network.
Using this information, I want to calculate an approximate Lat/Lon coordinate/location for a particular network using the information contained in the tracking array for each access point.
Is there an existing implementation/algorithm for doing this?
"mac": "so:me:ra:nd:om:ac",
"ssid": "elcasa",
"channel": 5,
"tracking": [
{
"rssi": -79, // RSSI of signal when encountered by scanner
"lat": "some-lat-coord", // Latitude of network when encountered by scanner using GPS
"lon": "some-lon-coord" // Longitude of network when encountered by scanner using GPS
},
{
"rssi": -80,
"lat": "some-lat-coord",
"lon": "some-lon-coord"
},
{
"rssi": -76,
"lat": "some-lat-coord",
"lon": "some-lon-coord"
},
{
"rssi": -78,
"lat": "some-lat-coord",
"lon": "some-lon-coord"
},
{
"rssi": -75,
"lat": "some-lat-coord",
"lon": "some-lon-coord"
},
{
"rssi": -77,
"lat": "some-lat-coord",
"lon": "some-lon-coord"
},
{
"rssi": -74,
"lat": "some-lat-coord",
"lon": "some-lon-coord"
}
]