How do MicroG geolocation modules work?

MicroG services come built in iodéOS. They are an open-source & privacy-friendly re-implementation of the Google Play Services.
One of these services allows you to choose Google’s alternative location modules:

  • “Apple Wi-Fi”: uses Apple’s service to resolve wifi locations. Location calculation is done onboard and wifi locations are cached to minimize data usage.
  • “Déjà-vu”: uses locally acquired WLAN/WiFi AP and mobile/cellular tower data to resolve user location. Collectively, “WLAN/WiFi and mobile/cellular” signals will be called “RF emitters” below.
    Conceptually, this backend consists of two parts sharing a common database. One part passively monitors the GPS. If the GPS has acquired and has a good position accuracy, then the coverage maps for RF emitters detected by the phone are created and saved.
    The other part is the actual location provider which uses the database to estimate location when the GPS is not available.
    This backend uses no network data. All data acquired by the phone stays on the phone.
  • “Local NLP Backend”: improved version of “Déjà-vu” which was previously activated by default with iodéOS. This module also has an active mode that can trigger GPS requests. To enable it: Settings -> System -> microG -> Location modules.
    “Local NLP Backend” is now replacing “Déjà-vu” and is activated by default with iodéOS.
  • “Mozilla”: uses the Mozilla Location Service to resolve user location. Only the cell tower database is free. This module is activated by default with iodéOS.