/** * copy constructor - avoid clone !! */ @Override public ProjectionImpl constructCopy() { return new Geostationary(navigation.sub_lon_degrees, navigation.scan_geom); }
private void makePP() { addParameter(CF.GRID_MAPPING_NAME, NAME); addParameter(CF.LONGITUDE_OF_PROJECTION_ORIGIN, navigation.sub_lon_degrees); addParameter(CF.LATITUDE_OF_PROJECTION_ORIGIN, 0.0); addParameter(CF.PERSPECTIVE_POINT_HEIGHT, navigation.sat_height * 1000.0); addParameter(CF.SWEEP_ANGLE_AXIS, GEOSTransform.scanGeomToSweepAngleAxis(navigation.scan_geom)); addParameter(CF.SEMI_MAJOR_AXIS, navigation.r_eq * 1000.0); addParameter(CF.SEMI_MINOR_AXIS, navigation.r_pol * 1000.0); }
public Geostationary() { super(NAME, false); navigation = new GEOSTransform(); makePP(); }
public Geostationary() { super(NAME, false); navigation = new GEOSTransform(); makePP(); }
/** * copy constructor - avoid clone !! */ @Override public ProjectionImpl constructCopy() { // constructor takes sweep_angle_axis, so need to translate between // scan geometry and sweep_angle_axis first // GOES: x // GEOS: y String sweepAxisAngle = GEOSTransform.scanGeomToSweepAngleAxis(navigation.scan_geom); return new Geostationary(navigation.sub_lon_degrees, sweepAxisAngle, geoCoordinateScaleFactor); }
private void makePP() { addParameter(CF.GRID_MAPPING_NAME, NAME); addParameter(CF.LONGITUDE_OF_PROJECTION_ORIGIN, navigation.sub_lon_degrees); addParameter(CF.LATITUDE_OF_PROJECTION_ORIGIN, 0.0); // addParameter(CF.PERSPECTIVE_POINT_HEIGHT, navigation.sub_lon_degrees); LOOK NOT USED ?? addParameter(CF.SWEEP_ANGLE_AXIS, navigation.scan_geom.equals(GEOSTransform.GOES) ? "x" : "y"); addParameter(CF.SEMI_MAJOR_AXIS, navigation.r_eq * 1000.0); addParameter(CF.SEMI_MINOR_AXIS, navigation.r_pol * 1000.0); }
public Geostationary(double subLonDegrees, boolean isSweepX) { super(NAME, false); String scanGeometry = GEOSTransform.GOES; if (!isSweepX) { scanGeometry = GEOSTransform.GEOS; } navigation = new GEOSTransform(subLonDegrees, scanGeometry); makePP(); }
ProjectionImpl proj = new ucar.unidata.geoloc.projection.sat.Geostationary( subLonDegrees, perspective_point_height, semi_minor_axis, semi_major_axis, inv_flattening, isSweepX);
public Geostationary(double subLonDegrees) { super(NAME, false); navigation = new GEOSTransform(subLonDegrees, GEOSTransform.GOES); makePP(); }
ProjectionImpl proj = new ucar.unidata.geoloc.projection.sat.Geostationary( subLonDegrees, perspective_point_height, semi_minor_axis, semi_major_axis, inv_flattening, isSweepX, geoCoordinateScaeFactor);
public Geostationary(double subLonDegrees, String sweepAngleAxis) { super(NAME, false); String scanGeometry = GEOSTransform.GOES; if (sweepAngleAxis.equals("x")) { scanGeometry = GEOSTransform.GOES; } else if (sweepAngleAxis.equals("y")) { scanGeometry = GEOSTransform.GEOS; } navigation = new GEOSTransform(subLonDegrees, scanGeometry); makePP(); }
public Geostationary(double subLonDegrees) { super(NAME, false); navigation = new GEOSTransform(subLonDegrees, GEOSTransform.GOES); makePP(); }
public Geostationary(double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inv_flattening, boolean isSweepX) { super(NAME, false); String scanGeometry = GEOSTransform.GOES; if (!isSweepX) { scanGeometry = GEOSTransform.GEOS; } /* Must assume incoming distances are SI units, so convert 'm' -> 'km' for GEOSTransform */ perspective_point_height /= 1000.0; semi_minor_axis /= 1000.0; semi_major_axis /= 1000.0; // double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inverse_flattening, String sweep_angle_axis navigation = new GEOSTransform(subLonDegrees, perspective_point_height, semi_minor_axis, semi_major_axis, inv_flattening, scanGeometry); makePP(); }
public Geostationary(double subLonDegrees, double perspective_point_height, double semi_minor_axis, double semi_major_axis, double inv_flattening, boolean isSweepX, double geoCoordinateScaleFactor) { super(NAME, false); String sweepAngleAxis = "y"; if (isSweepX) { sweepAngleAxis = "x"; } /* Must assume incoming distances are SI units, so convert 'm' -> 'km' for GEOSTransform */ perspective_point_height /= 1000.0; semi_minor_axis /= 1000.0; semi_major_axis /= 1000.0; navigation = new GEOSTransform(subLonDegrees, perspective_point_height, semi_minor_axis, semi_major_axis, inv_flattening, sweepAngleAxis); makePP(); if (geoCoordinateScaleFactor > 0) { isGeoCoordinateScaled = true; this.geoCoordinateScaleFactor = geoCoordinateScaleFactor; } }
public Geostationary(double subLonDegrees, boolean isSweepX) { super(NAME, false); String sweepAngleAxis = "y"; if (isSweepX) { sweepAngleAxis = "x"; } String scanGeometry = GEOSTransform.sweepAngleAxisToScanGeom(sweepAngleAxis); navigation = new GEOSTransform(subLonDegrees, scanGeometry); makePP(); }
public Geostationary(double subLonDegrees, String sweepAngleAxis, double geoCoordinateScaleFactor) { super(NAME, false); String scanGeometry = GEOSTransform.sweepAngleAxisToScanGeom(sweepAngleAxis); navigation = new GEOSTransform(subLonDegrees, scanGeometry); if (geoCoordinateScaleFactor > 0) { isGeoCoordinateScaled = true; this.geoCoordinateScaleFactor = geoCoordinateScaleFactor; } makePP(); }