123456789101112131415161718192021 |
- /**
- * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located.
- *
- * @name czm_latitudeToWebMercatorFraction
- * @glslFunction
- *
- * @param {float} latitude The geodetic latitude, in radians.
- * @param {float} southMercatorY The Web Mercator coordinate of the southern boundary of the rectangle.
- * @param {float} oneOverMercatorHeight The total height of the rectangle in Web Mercator coordinates.
- *
- * @returns {float} The fraction of the rectangle at which the latitude occurs. If the latitude is the southern
- * boundary of the rectangle, the return value will be zero. If it is the northern boundary, the return
- * value will be 1.0. Latitudes in between are mapped according to the Web Mercator projection.
- */
- float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, float oneOverMercatorHeight)
- {
- float sinLatitude = sin(latitude);
- float mercatorY = 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));
-
- return (mercatorY - southMercatorY) * oneOverMercatorHeight;
- }
|