A computer implemented method of generating an image of a geographic area, comprising: a) storing a plurality of overhead images of the geographic area, the images having been obtained at different points in time and virtually temporally stacked, ordered by date of capture (s.102) such that the temporal ordering of the images is known; b) receiving a user input (s.104) defining a point in time at which an image of the geographic area is desired, the defined point in time being present time or a historical time point; characterized by c) defining a temporal projection plane based on the defined point in time, the temporal projection plane being where a composite image is to be formed; d) selecting an image from the plurality of images to act as a base image, the selected image being an image from the virtual stack which is most recent prior to the defined temporal projection plane; e) determining (s.106) any areas in the base image in which the geographic surface is occluded, for example by clouds or other obstructions, the remaining areas therefore being occlusion-free areas; f) virtually projecting the occlusion-free areas of the base image to the temporal projection plane to partially form the composite image, the partially formed composite image comprising gaps corresponding to the areas in the base image which were determined to be occluded; g) selecting a second one of the plurality of overhead images which is the next-oldest image in the virtual stack; h) virtually projecting (s.108) geographically corresponding sections of the selected second image where the ground is not occluded onto the temporal projection plane to fill at least some of the gaps in the composite image, such that the composite image has fewer occlusions than the base image; and i) repeating steps g) and h) with progressively earlier images in the virtual stack being used as the second image until all of the gaps in the composite image have been filled with non-occluded imagery from earlier images. a) storing a plurality of overhead images of the geographic area, the images having been obtained at different points in time and virtually temporally stacked, ordered by date of capture (s.102) such that the temporal ordering of the images is known; b) receiving a user input (s.104) defining a point in time at which an image of the geographic area is desired, the defined point in time being present time or a historical time point; characterized by c) defining a temporal projection plane based on the defined point in time, the temporal projection plane being where a composite image is to be formed; d) selecting an image from the plurality of images to act as a base image, the selected image being an image from the virtual stack which is most recent prior to the defined temporal projection plane; e) determining (s.106) any areas in the base image in which the geographic surface is occluded, for example by clouds or other obstructions, the remaining areas therefore being occlusion-free areas; f) virtually projecting the occlusion-free areas of the base image to the temporal projection plane to partially form the composite image, the partially formed composite image comprising gaps corresponding to the areas in the base image which were determined to be occluded; g) selecting a second one of the plurality of overhead images which is the next-oldest image in the virtual stack; h) virtually projecting (s.108) geographically corresponding sections of the selected second image where the ground is not occluded onto the temporal projection plane to fill at least some of the gaps in the composite image, such that the composite image has fewer occlusions than the base image; and i) repeating steps g) and h) with progressively earlier images in the virtual stack being used as the second image until all of the gaps in the composite image have been filled with non-occluded imagery from earlier images.