A computer-implemented method (800, 900), comprising: approximating a location of a mobile device based on a last accurate global navigation satellite system, GNSS, reading; identifying (804, 902) global navigation satellite system satellites expected to be in line-of-sight of the mobile device based upon the location of the mobile device and ephemeris data; detecting (806,904) differences between received GNSS data signals and expected GNSS data signals from the expected GNSS satellites, wherein the received GNSS data signals are received by the mobile device according to a default periodic setting; and, determining (808, 906) a direction from the mobile device of an obstruction that is causing at least some of the detected differences; predicting effects of a geographic feature on the mobile device at a subsequent time, the geographic feature including the obstruction that is proximate to the mobile device; detecting at least one of a penumbral and umbral zone in which respectively: some GNSS satellites are blocked, but signals are received from enough GNSS satellites to allow a mobile device in the penumbral zone to accurately determine its location using GNSS location techniques; and so many GNSS satellites are blocked that the mobile device cannot accurately determine its location in the umbral zone using GNSS location techniques; controlling a function of the mobile device based at least in part on the predicted effects, to sense for additional GNSS signals either more frequently or delayed compared to the predefined default setting; by sensing for additional GPS signals more frequently compared to the default periodic setting prior to entering an umbral region and once in the umbral region, by delaying further attempts until a predicted emergence of the mobile device from the umbral region. approximating a location of a mobile device based on a last accurate global navigation satellite system, GNSS, reading; identifying (804, 902) global navigation satellite system satellites expected to be in line-of-sight of the mobile device based upon the location of the mobile device and ephemeris data; detecting (806,904) differences between received GNSS data signals and expected GNSS data signals from the expected GNSS satellites, wherein the received GNSS data signals are received by the mobile device according to a default periodic setting; and, determining (808, 906) a direction from the mobile device of an obstruction that is causing at least some of the detected differences; predicting effects of a geographic feature on the mobile device at a subsequent time, the geographic feature including the obstruction that is proximate to the mobile device; detecting at least one of a penumbral and umbral zone in which respectively: some GNSS satellites are blocked, but signals are received from enough GNSS satellites to allow a mobile device in the penumbral zone to accurately determine its location using GNSS location techniques; and so many GNSS satellites are blocked that the mobile device cannot accurately determine its location in the umbral zone using GNSS location techniques; controlling a function of the mobile device based at least in part on the predicted effects, to sense for additional GNSS signals either more frequently or delayed compared to the predefined default setting; by sensing for additional GPS signals more frequently compared to the default periodic setting prior to entering an umbral region and once in the umbral region, by delaying further attempts until a predicted emergence of the mobile device from the umbral region. some GNSS satellites are blocked, but signals are received from enough GNSS satellites to allow a mobile device in the penumbral zone to accurately determine its location using GNSS location techniques; and so many GNSS satellites are blocked that the mobile device cannot accurately determine its location in the umbral zone using GNSS location techniques; controlling a function of the mobile device based at least in part on the predicted effects, to sense for additional GNSS signals either more frequently or delayed compared to the predefined default setting; by sensing for additional GPS signals more frequently compared to the default periodic setting prior to entering an umbral region and once in the umbral region, by delaying further attempts until a predicted emergence of the mobile device from the umbral region.