/** * Construct a polar Stereographic Projection, from the "natural origin" and the tangent point, * calculating the scale factor. * * @param lat_ts_deg Latitude at natural origin (degrees_north) * @param latt_deg tangent point of projection (degrees_north) * @param lont_deg tangent point of projection, also origin of projection coord system ((degrees_east) * @param north true if north pole, false is south pole */ public Stereographic(double lat_ts_deg, double latt_deg, double lont_deg, boolean north) { super("PolarStereographic", false); this.latts = Math.toRadians(lat_ts_deg); this.latt = Math.toRadians(latt_deg); this.lont = Math.toRadians(lont_deg); this.isPolar = true; this.isNorth = north; this.earthRadius = EARTH_RADIUS; this.falseEasting = 0; this.falseNorthing = 0; precalculate(); double scaleFactor = (lat_ts_deg == 90 || lat_ts_deg == -90) ? 1.0 : getScaleFactor(latts, north); this.scale = scaleFactor * earthRadius; addParameter(CF.GRID_MAPPING_NAME, "polar_stereographic"); addParameter("longitude_of_projection_origin", lont_deg); addParameter("latitude_of_projection_origin", latt_deg); addParameter("scale_factor_at_projection_origin", scaleFactor); }
/** * Construct a polar Stereographic Projection, from the "natural origin" and the tangent point, * calculating the scale factor. * * @param lat_ts_deg Latitude at natural origin (degrees_north) * @param latt_deg tangent point of projection (degrees_north) * @param lont_deg tangent point of projection, also origin of projection coord system ((degrees_east) * @param north true if north pole, false is south pole */ public Stereographic(double lat_ts_deg, double latt_deg, double lont_deg, boolean north) { super("PolarStereographic", false); this.latts = Math.toRadians(lat_ts_deg); this.latt = Math.toRadians(latt_deg); this.lont = Math.toRadians(lont_deg); this.isPolar = true; this.isNorth = north; this.earthRadius = EARTH_RADIUS; this.falseEasting = 0; this.falseNorthing = 0; precalculate(); double scaleFactor = (lat_ts_deg == 90 || lat_ts_deg == -90) ? 1.0 : getScaleFactor(latts, north); this.scale = scaleFactor * earthRadius; addParameter(CF.GRID_MAPPING_NAME, "polar_stereographic"); addParameter("longitude_of_projection_origin", lont_deg); addParameter("latitude_of_projection_origin", latt_deg); addParameter("scale_factor_at_projection_origin", scaleFactor); }
/** * Construct a polar Stereographic Projection, from the "natural origin" and the tangent point, * calculating the scale factor. * * @param lat_ts_deg Latitude at natural origin (degrees_north) * @param latt_deg tangent point of projection (degrees_north) * @param lont_deg tangent point of projection, also origin of projection coord system ((degrees_east) * @param north true if north pole, false is south pole */ public Stereographic(double lat_ts_deg, double latt_deg, double lont_deg, boolean north) { super("PolarStereographic", false); this.latts = Math.toRadians(lat_ts_deg); this.latt = Math.toRadians(latt_deg); this.lont = Math.toRadians(lont_deg); this.isPolar = true; this.isNorth = north; this.earthRadius = EARTH_RADIUS; this.falseEasting = 0; this.falseNorthing = 0; precalculate(); double scaleFactor = (lat_ts_deg == 90 || lat_ts_deg == -90) ? 1.0 : getScaleFactor(latts, north); this.scale = scaleFactor * earthRadius; addParameter(CF.GRID_MAPPING_NAME, "polar_stereographic"); addParameter("longitude_of_projection_origin", lont_deg); addParameter("latitude_of_projection_origin", latt_deg); addParameter("scale_factor_at_projection_origin", scaleFactor); }
/** * Construct a polar Stereographic Projection, from the "natural origin" and the tangent point, * calculating the scale factor. * * @param lat_ts_deg Latitude at natural origin (degrees_north) * @param latt_deg tangent point of projection (degrees_north) * @param lont_deg tangent point of projection, also origin of projection coord system ((degrees_east) * @param north true if north pole, false is south pole */ public Stereographic(double lat_ts_deg, double latt_deg, double lont_deg, boolean north) { this.latts = Math.toRadians(lat_ts_deg); this.latt = Math.toRadians(latt_deg); this.lont = Math.toRadians(lont_deg); this.isPolar = true; this.isNorth = north; precalculate(); origin = new LatLonPointImpl(latt_deg, lont_deg); double scaleFactor = (lat_ts_deg == 90 || lat_ts_deg == -90) ? 1.0 : getScaleFactor(latts, north); this.scale = scaleFactor * EARTH_RADIUS; addParameter(ATTR_NAME, "polar_stereographic"); addParameter("longitude_of_projection_origin", lont_deg); addParameter("latitude_of_projection_origin", latt_deg); addParameter("scale_factor_at_projection_origin", scaleFactor); }