An apparatus to facilitate autonomous or semi-autonomous control of a vehicle comprising at least one processor and at least one non-transitory memory including computer program code instructions stored thereon, the computer program code instructions configured to, when executed, cause the apparatus to at least: receive sensor data of an environment of the apparatus (200, 310, 410); retrieve a static elevation mask (470, 530); receive signals from a plurality of Global Navigation Satellite System "GNSS" satellites (340, 350, 360, 370), characterised in that the sensor data is obtained by a sensor and processed using semantic segmentation to estimate object location, with respect to the sensor, of at least one object within the environment, and the apparatus is further characterised in that the computer program code instructions are further configured to, when executed, cause the apparatus to: retrieve at least one previously generated learned-elevation mask for a current GNSS location; generate a learned-elevation mask (475, 540) based, at least in part, on the static elevation mask, the at least one previously generated learned-elevation mask and the at least one estimated object location within the environment; filter the signals from the plurality of GNSS satellites based on the learned-elevation mask to eliminate from consideration a subset of satellites (420, 425, 430, 440, 455) established as not having a line-of-sight with the apparatus; establish a location of the apparatus from remaining satellites established as having a line-of-sight with the apparatus; and provide for at least one of route guidance or autonomous vehicle control based on the established location of the apparatus. receive sensor data of an environment of the apparatus (200, 310, 410); retrieve a static elevation mask (470, 530); receive signals from a plurality of Global Navigation Satellite System "GNSS" satellites (340, 350, 360, 370), characterised in that the sensor data is obtained by a sensor and processed using semantic segmentation to estimate object location, with respect to the sensor, of at least one object within the environment, and the apparatus is further characterised in that the computer program code instructions are further configured to, when executed, cause the apparatus to: retrieve at least one previously generated learned-elevation mask for a current GNSS location; generate a learned-elevation mask (475, 540) based, at least in part, on the static elevation mask, the at least one previously generated learned-elevation mask and the at least one estimated object location within the environment; filter the signals from the plurality of GNSS satellites based on the learned-elevation mask to eliminate from consideration a subset of satellites (420, 425, 430, 440, 455) established as not having a line-of-sight with the apparatus; establish a location of the apparatus from remaining satellites established as having a line-of-sight with the apparatus; and provide for at least one of route guidance or autonomous vehicle control based on the established location of the apparatus. retrieve at least one previously generated learned-elevation mask for a current GNSS location; generate a learned-elevation mask (475, 540) based, at least in part, on the static elevation mask, the at least one previously generated learned-elevation mask and the at least one estimated object location within the environment; filter the signals from the plurality of GNSS satellites based on the learned-elevation mask to eliminate from consideration a subset of satellites (420, 425, 430, 440, 455) established as not having a line-of-sight with the apparatus; establish a location of the apparatus from remaining satellites established as having a line-of-sight with the apparatus; and provide for at least one of route guidance or autonomous vehicle control based on the established location of the apparatus.