Recently, led by the perfectly circular shape of the Tissot's indicatrices all over the projection plane, I have concluded that a particular projection is conformal. However, after calculating angular distortion, I have realized that it is actually not conformal.
How should I classify these projections, whose Tissot's indicatrices are perfect circles but the angular distortion is not zero (omega <> 0)?
I didn't name the projections above since none of them have yet been published, so their names are not meaningful yet. The first paper should probably be published next month, so I need to reassure that certain statements are correct before final publishing.
One of the projections is a spherical cube map projection used in Outerra engine, provided through the courtesy of Brano Kemen. The distribution of the texel aspect distortion can be seen in the paper Ellipsoidal Clipmaps. The texel aspect distortion is defined as the texel (a pixel in the texture space) width to height ratio after unprojecting to the surface of a planet. The distribution of texel aspect distortion and how the front face of the cube (actually a projection plane) looks like for the OSC is shown in the subfigure c) on the figures Err1 and SC10, respectively. I planned to give more links, but my reputation on this site (as a beginner) prevents me from doing so.
For everything I mention here, I'm using my own implementation. It is more flexible and for, at least, the order of magnitude faster than using any standard library (like Proj.4). Also, as I'm experimenting with the projections, using a standard library can be a limiting factor.
In the posted figures, I used the inverse projection of the elementary cells in the projected image and reprojected them to the surface of the Earth. After that, I measured the distance on the surface of the Earth along X and Y axis in the projection space. Here is the code that produces the aspect distortion metric:
double phi1, theta1, phi2, theta2; inverse(x - delta, y, 0, phi1, theta1, false); inverse(x + delta, y, 0, phi2, theta2, false); double dLon = SphericalDistance2(phi1, theta1, phi2, theta2); inverse(x, y - delta, 0, phi1, theta1, false); inverse(x, y + delta, 0, phi2, theta2, false); double dLat = SphericalDistance2(phi1, theta1, phi2, theta2); double aspectDist = dLon / dLat;
The "inverse" function transforms projected (x,y) coordinates back to the surface of the planet (phi, theta). The last parameter defined whether an ellipsoidal model should be used. In the previous code, I'm using a spherical model, so the distance is measured on the spherical surface.
The problem is that the texel aspect distortion does not exist for the OSC but the angular distortion is not zero. I need to know how to reference such behavior of the projection. I thought it was conformity, but now I see that it is not. However, that property is very useful since causes no anisotropy in mapping projected image back to the surface of the planet. Or I made a terrible mistake.
For the angular distortion I'm using formulae from the Snyder’s "Map Projections – A Working Manuel" (pg.24, eq.4-10 through 4-14). Instead of partial derivatives, I'm using finite (symmetrical) differences in extremely small distances (~1e-10).