Remote sensing data from satellite are used in a variety of disciplines. In many applications a seamless dataset is needed. However, most satellite data have large amount of missing data due to a number of factors such as cloud cover, other abnormal atmospheric conditions, and sensor specific problems. In this talk we introduce a general spatiotemporal satellite image imputation method based on sparse functional data analysis techniques. The latent spatiotemporal process is imputed from observations consisting of a few longitudinally repeated satellite images, which are themselves contaminated with noise and partially observed due to cloud coverage and other reasons. Under this new observation model we provide theoretical justifications for the proposed imputation approach. Practical analyses on Landsat data were conducted to illustrate and validate our algorithm. A comparison with existing gap-filling methods shows that our proposed algorithm significantly outperforms the other methods in terms of having smaller prediction errors. The proposed algorithm is used in an NRI application to map surface water using LandSat data. The proposed algorithm is implemented in R and Rcpp and is available as an R package STFIT.