This question already has an answer here:
How accurate are the OTF transformations in QGIS (2.18)?
I created a 100m by 100m square polygon in a shapefile layer using a CRS of WGS84/UTM zone 14N (EPSG:32614). The project also uses the same CRS. With OTF transformation turned off, when I measure the area and the side of the square using the measurement tool, I get 10,000 sq m for the area and 100m on each side, as expected.
If I turn on OTF transformation and use the measurement tool, I get 10066.2065 sq m for the area and 99.9941 m for each side. Not only is the area incorrect, but multiplying the lengths of the measured sides (99.9941 x 99.9941) does not equal 10066.2065.
Is there a bug or am I just not understanding what OTF does?
Currently, most of my projects use OTF because I receive shapefiles with varying CRS's. It sounds like I need to have each layer reprojected to the same CRS as the project and turn off OTF if I want to get accurate areas and distances. Is this correct and is reprojecting a layer more accurate than OTF?