When it comes to spatial data, how can we calculate the uncertainty of raster data (e.g. temperature, elevation) and vector data (e.g. lake, forest, road)?
In order to derive uncertainty of any sort of data, you need truth data. For raster data like temperature and elevation, it can be done in two different ways either by using another higher accuracy layers of temperature and elevation of the same area or extracting temperature and elevation values for random points from the raster surface and comparing it with temperature and elevation values collected from field survey. In the former case, you can just use the differencing (minus tool) available in any GIS software and it will give you a raster layer of uncertainty.
For the case of vector data, it depends what kind of uncertainty analysis you want to perform. If it is just related with shape, length, area, then use satellite image of higher resolution digitize it and compare it with the vector datasets that you have. For simple analysis, you can also use google Earth as support.
There are several methods to accomplish that goal; some software can automatically estimate the error as a global value when performing a correction or orthorectification process in map units reported in the spatial resolution error index. Another way is using known control points (actual points taken on the field with a control methodology, some satellite images can bring us their own control points) compared to the same grid of points from a raster o vector map aim to assess through a mathematics model. I am used to using two methods to achieve this information, Operative Characteristics of Receptor and Kappa index. You can find enough papers about the matter, I would have to look for it in my ocean of archives to find the original papers. But if you cannot find it, I could search it.