/** * @param binding * @param coordinateAxis */ public NumericCoordinateVariable(Class<T> binding, CoordinateAxis coordinateAxis) { super(binding, coordinateAxis); // If the axis is not numeric, we can't process any further. if (!coordinateAxis.isNumeric()) { throw new IllegalArgumentException( "Unable to process non numeric coordinate variable: " + coordinateAxis.toString()); } // scale and offset Attribute scaleFactor = coordinateAxis.findAttribute("scale_factor"); if (scaleFactor != null) { this.scaleFactor = scaleFactor.getNumericValue().doubleValue(); } Attribute offsetFactor = coordinateAxis.findAttribute("offset"); if (offsetFactor != null) { this.offsetFactor = offsetFactor.getNumericValue().doubleValue(); } // converter from double to binding this.converter = CONVERTER_FACTORY.createConverter(Double.class, this.binding, null); init(); }
protected void init() { if (!coordinateAxis.isNumeric() || !(coordinateAxis instanceof CoordinateAxis1D) || (coordinateAxis.hasMissing() && !AxisType.Time.equals(coordinateAxis.getAxisType()))) { // Not sure time variable can have actual NoData values in the array. // Let's exclude it from GeneralHelper case. // We may revisit it if we find some data with FillValues in the array. axisHelper = new CoordinateAxisGeneralHelper(); } else { axisHelper = new CoordinateAxis1DNumericHelper(); } }
if (coordinateAxis.isNumeric()) {
private void showCoords(CoordinateAxis axis, Formatter f) { try { if (axis instanceof CoordinateAxis1D && axis.isNumeric()) { CoordinateAxis1D axis1D = (CoordinateAxis1D) axis; if (!axis1D.isInterval()) { double[] e = axis1D.getCoordEdges(); for (double anE : e) { f.format("%f,", anE); } } else { double[] b1 = axis1D.getBound1(); double[] b2 = axis1D.getBound2(); for (int i = 0; i < b1.length; i++) { f.format("(%f,%f) = %f%n", b1[i], b2[i], b2[i] - b1[i]); } } } else { f.format("%s", NCdumpW.printVariableData(axis, null)); } } catch (IOException ioe) { f.format(ioe.getMessage()); } f.format(" %s%n", axis.getUnitsString()); }
private void showCoords(CoordinateAxis axis, Formatter f) { try { if (axis instanceof CoordinateAxis1D && axis.isNumeric()) { CoordinateAxis1D axis1D = (CoordinateAxis1D) axis; if (!axis1D.isInterval()) { double[] e = axis1D.getCoordEdges(); for (double anE : e) { f.format("%f,", anE); } } else { double[] b1 = axis1D.getBound1(); double[] b2 = axis1D.getBound2(); for (int i=0; i<b1.length; i++) { f.format("(%f,%f) = %f%n", b1[i], b2[i], b2[i] - b1[i]); } } } else { f.format("%s", NCdumpW.printVariableData(axis, null)); } } catch (IOException ioe) { f.format(ioe.getMessage()); } f.format(" %s%n", axis.getUnitsString()); }
private void showCoords(CoordinateAxis axis, Formatter f) { try { if (axis instanceof CoordinateAxis1D && axis.isNumeric()) { CoordinateAxis1D axis1D = (CoordinateAxis1D) axis; if (!axis1D.isInterval()) { double[] e = axis1D.getCoordEdges(); for (double anE : e) { f.format("%f,", anE); } } else { double[] b1 = axis1D.getBound1(); double[] b2 = axis1D.getBound2(); for (int i=0; i<b1.length; i++) { f.format("(%f,%f) = %f%n", b1[i], b2[i], b2[i] - b1[i]); } } } else { f.format("%s", NCdumpW.printVariableData(axis, null)); } } catch (IOException ioe) { f.format(ioe.getMessage()); } f.format(" %s%n", axis.getUnitsString()); }
private void showCoords(CoordinateAxis axis, Formatter f) { try { if (axis instanceof CoordinateAxis1D && axis.isNumeric()) { CoordinateAxis1D axis1D = (CoordinateAxis1D) axis; if (!axis1D.isInterval()) { double[] e = axis1D.getCoordEdges(); for (double anE : e) { f.format("%f,", anE); } } else { double[] b1 = axis1D.getBound1(); double[] b2 = axis1D.getBound2(); for (int i=0; i<b1.length; i++) { f.format("(%f,%f) = %f%n", b1[i], b2[i], b2[i] - b1[i]); } } } else { f.format("%s", NCdumpW.printVariableData(axis, null)); } } catch (IOException ioe) { f.format(ioe.getMessage()); } f.format(" %s%n", axis.getUnitsString()); }
/** * @param binding * @param coordinateAxis */ public NumericCoordinateVariable(Class<T> binding, CoordinateAxis coordinateAxis) { super(binding, coordinateAxis); // If the axis is not numeric, we can't process any further. if (!coordinateAxis.isNumeric()) { throw new IllegalArgumentException( "Unable to process non numeric coordinate variable: " + coordinateAxis.toString()); } // scale and offset Attribute scaleFactor = coordinateAxis.findAttribute("scale_factor"); if (scaleFactor != null) { this.scaleFactor = scaleFactor.getNumericValue().doubleValue(); } Attribute offsetFactor = coordinateAxis.findAttribute("offset"); if (offsetFactor != null) { this.offsetFactor = offsetFactor.getNumericValue().doubleValue(); } // converter from double to binding this.converter = CONVERTER_FACTORY.createConverter(Double.class, this.binding, null); init(); }
protected void init() { if (!coordinateAxis.isNumeric() || !(coordinateAxis instanceof CoordinateAxis1D) || (coordinateAxis.hasMissing() && !AxisType.Time.equals(coordinateAxis.getAxisType()))) { // Not sure time variable can have actual NoData values in the array. // Let's exclude it from GeneralHelper case. // We may revisit it if we find some data with FillValues in the array. axisHelper = new CoordinateAxisGeneralHelper(); } else { axisHelper = new CoordinateAxis1DNumericHelper(); } }
if (coordinateAxis.isNumeric()) {