protected double qsfn(double sin) { if (_e >= CoordinateSystem.getInstance().getAccuracy()) { double con = _e * sin; return _oneMinusE2 * (sin / (1.0 - con * con) - (0.5 / _e) * Math.log((1. - con) / (1.0 + con))); } else { return (2.0 * sin); } }
protected double phi1(double qs) { double dLat, lat = Math.asin(0.5 * qs); if (_e < CoordinateSystem.getInstance().getAccuracy()) return lat; int i = 15; do { double sinLat = Math.sin(lat); double cosLat = Math.cos(lat); double con = _e * sinLat; double com = 1.0 - con * con; dLat = 0.5 * com * com / cosLat * (qs / _oneMinusE2 - sinLat / com + 0.5 / _e * Math.log((1.0 - con) / (1.0 + con))); lat += dLat; } while (Math.abs(dLat) > 1.0E-10 && --i != 0); return (i != 0 ? lat : Double.MAX_VALUE); }
public CoordinateSystemI inputCoordinateSystem() { return com.opsresearch.orobjects.lib.geom.geo.CoordinateSystem.getInstance(); }
public Projection() { _geodetic = CoordinateSystem.getInstance().getGeodetic(); }