double g = .5 * (h - 1. / h); h = Math.cos(projectionLatitude + y / scaleFactor); out.y = MapMath.asin(Math.sqrt((1. - h*h) / (1. + g*g))); if (y < 0) out.y = -out.y;
double g = .5 * (h - 1. / h); h = Math.cos(projectionLatitude + y / scaleFactor); out.y = MapMath.asin(Math.sqrt((1. - h * h) / (1. + g * g))); if (y < 0) out.y = -out.y;
double g = .5 * (h - 1. / h); h = Math.cos(projectionLatitude + y / scaleFactor); double outy = MapMath.asin(Math.sqrt((1. - h * h) / (1. + g * g))); if (y < 0) outy = -outy;
double g = .5 * (h - 1. / h); h = Math.cos(projectionLatitude + y / scaleFactor); double outy = MapMath.asin(Math.sqrt((1. - h * h) / (1. + g * g))); if (y < 0) outy = -outy;
cA = Math.cos(Az); sA = Math.sin(Az); s = MapMath.asin(Math.abs(sA) < TOL ? (cosphi0 * st - sinphi0 * coslam * ct) / cA : Math.sin(lam) * ct / sA);
cosc = Math.cos(c_rh); if (mode == EQUATOR) { lp.setLatitude(Math.toDegrees(MapMath.asin(y * sinc / c_rh))); x *= sinc; y = cosc * c_rh; lp.setLatitude(Math.toDegrees(MapMath.asin(cosc * sinphi0 + y * sinc * cosphi0 / c_rh))); y = (cosc - sinphi0 * MapMath.sind(lp.getLatitude())) * c_rh; x *= sinc * cosphi0; E = D * (1. - D * D * (A * (1. + A) / 6. + B * (1. + 3. * A) * D / 24.)); F = 1. - E * E * (A / 2. + B * E / 6.); psi = MapMath.asin(sinphi0 * Math.cos(E) + t * Math.sin(E)); lp.setLongitude(Math.toDegrees(MapMath.asin(Math.sin(Az) * Math.sin(E) / Math.cos(psi)))); if ((t = Math.abs(psi)) < MapMath.EPS10) lp.setLatitude(0.0);
cosc = Math.cos(c_rh); if (mode == EQUATOR) { lp.setLatitude(Math.toDegrees(MapMath.asin(y * sinc / c_rh))); x *= sinc; y = cosc * c_rh; lp.setLatitude(Math.toDegrees(MapMath.asin(cosc * sinphi0 + y * sinc * cosphi0 / c_rh))); y = (cosc - sinphi0 * MapMath.sind(lp.getLatitude())) * c_rh; x *= sinc * cosphi0; E = D * (1. - D * D * (A * (1. + A) / 6. + B * (1. + 3. * A) * D / 24.)); F = 1. - E * E * (A / 2. + B * E / 6.); psi = MapMath.asin(sinphi0 * Math.cos(E) + t * Math.sin(E)); lp.setLongitude(Math.toDegrees(MapMath.asin(Math.sin(Az) * Math.sin(E) / Math.cos(psi)))); if ((t = Math.abs(psi)) < MapMath.EPS10) lp.setLatitude(0.0);
cA = Math.cos(Az); sA = Math.sin(Az); s = MapMath.asin(Math.abs(sA) < TOL ? (cosphi0 * st - sinphi0 * coslam * ct) / cA : Math.sin(lam) * ct / sA);
cosc = Math.cos(c_rh); if (mode == EQUATOR) { lp.setLatitude(Math.toDegrees(MapMath.asin(y * sinc / c_rh))); x *= sinc; y = cosc * c_rh; lp.setLatitude(Math.toDegrees(MapMath.asin(cosc * sinphi0 + y * sinc * cosphi0 / c_rh))); y = (cosc - sinphi0 * MapMath.sind(lp.getLatitude())) * c_rh; x *= sinc * cosphi0; E = D * (1. - D * D * (A * (1. + A) / 6. + B * (1. + 3. * A) * D / 24.)); F = 1. - E * E * (A / 2. + B * E / 6.); psi = MapMath.asin(sinphi0 * Math.cos(E) + t * Math.sin(E)); lp.setLongitude(Math.toDegrees(MapMath.asin(Math.sin(Az) * Math.sin(E) / Math.cos(psi)))); if ((t = Math.abs(psi)) < MapMath.EPS10) lp.setLatitude(0.0);
cA = Math.cos(Az); sA = Math.sin(Az); s = MapMath.asin(Math.abs(sA) < TOL ? (cosphi0 * st - sinphi0 * coslam * ct) / cA : Math.sin(lam) * ct / sA);