/**
|
* 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;
|
}
|