[geo] Automatic positioning
Here I want to collect ideas for an automatic positioning feature.
This feature should be configurable so it can be deactivated (part or all of it).
Flag auto-positioned
We need a way to distinguish between devices which had their positioning set manually and which had its position set automatically, so that operators can find the devices with positions that have been set automatically in order to adjust them.
Notifications
We could notify administrators that a position has been set automatically, urging to improve its accuracy with manual review.
Look for devices which have the same last_ip
This could be the first check, when a new device registers.
If the system finds there are devices which have a location set and have the same public IP as their last_ip it means the device being added is in the same location as the other ones, so it can set the new device within the same location as well, it the location is indoor we omit assigning indoor cordinates and recommend the user to set this info.
Geoip on last_ip
If the previous check fails, we can set the position based on the last_ip of the device, if this is a public IP.
SSID
The device can scan the nearby SSID and send it to OpenWISP via an API. We can then use an external service (eg Google) to find the geographic coordinates based on the scanned SSID.
We are targeting majority of it as part of GSoC25 WHOIS Information and IP Address-Based Geolocation. The issue which has the approach to this can be found here: https://github.com/openwisp/openwisp-controller/issues/1027
We can keep the SSID based lookup as a part of future work of maintaining the project