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 ; retrieve a static elevation mask ; receive signals from a plurality of Global Navigation Satellite System "GNSS" satellites , 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 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 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 ; retrieve a static elevation mask ; receive signals from a plurality of Global Navigation Satellite System "GNSS" satellites , 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 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 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 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 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. <EOS>