/** * @deprecated use findCoordElement(coordVal) */ public int findCoordElement(double coordVal, int lastIndex) { return findCoordElement(coordVal); }
/** * @deprecated use findCoordElement(coordVal) */ public int findCoordElement(double coordVal, int lastIndex) { return findCoordElement(coordVal); }
/** * @deprecated use findCoordElement(coordVal) */ public int findCoordElement(double coordVal, int lastIndex) { return findCoordElement(coordVal); }
public Range getRangeSetAxisRange( double minValue, double maxValue) { if ( minValue > maxValue ) { log.error( "getRangeSetAxisRange(): Min is greater than max <" + minValue + ", " + maxValue + ">." ); throw new IllegalArgumentException( "Min is greater than max <" + minValue + ", " + maxValue + ">." ); } CoordinateAxis1D zaxis = coordSys.getVerticalAxis(); if ( zaxis != null ) { int minIndex = zaxis.findCoordElement( minValue); int maxIndex = zaxis.findCoordElement( maxValue); if ( minIndex == -1 || maxIndex == -1 ) return null; try { return new Range( minIndex, maxIndex); } catch ( InvalidRangeException e ) { return null; } } else return null; }
result[0] = ((CoordinateAxis1D) horizXaxis).findCoordElement(x_coord); result[1] = ((CoordinateAxis1D) horizYaxis).findCoordElement(y_coord); return result;
public boolean hasVert( GridDatatype grid, double zCoord) { GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis1D zAxis = gcs.getVerticalAxis(); if (zAxis == null) return false; return (zAxis.findCoordElement( zCoord) >= 0); }
public boolean hasVert( GridDatatype grid, double zCoord) { GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis1D zAxis = gcs.getVerticalAxis(); if (zAxis == null) return false; return (zAxis.findCoordElement( zCoord) >= 0); }
result[0] = ((CoordinateAxis1D) horizXaxis).findCoordElement(x_coord); result[1] = ((CoordinateAxis1D) horizYaxis).findCoordElement(y_coord); return result;
result[0] = ((CoordinateAxis1D) horizXaxis).findCoordElement(x_coord); result[1] = ((CoordinateAxis1D) horizYaxis).findCoordElement(y_coord); return result;
public boolean hasVert( GridDatatype grid, double zCoord) { GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis1D zAxis = gcs.getVerticalAxis(); if (zAxis == null) return false; return (zAxis.findCoordElement( zCoord) >= 0); }
public Range getRange() throws InvalidRangeException { if ( ! this.coordAxis.isNumeric() ) { log.error( "getRange(): GridCoordSystem must have numeric vertical axis to support min/max range." ); throw new IllegalArgumentException( "GridCoordSystem must have numeric vertical axis to support min/max range." ); } int minIndex = this.coordAxis.findCoordElement( min ); int maxIndex = this.coordAxis.findCoordElement( max ); if ( minIndex == -1 || maxIndex == -1 ) { log.error( "getRange(): GridCoordSystem vertical axis does not contain min/max points." ); throw new IllegalArgumentException( "GridCoordSystem vertical axis does not contain min/max points." ); } if ( this.coordAxis.getPositive().equalsIgnoreCase( ucar.nc2.constants.CF.POSITIVE_DOWN ) ) return new Range( maxIndex, minIndex, stride ); else return new Range( minIndex, maxIndex, stride ); } }
throw new IllegalArgumentException( "GridCoordSystem must have numeric vertical axis to support min/max range." ); int minIndex = vertAxis.findCoordElement( min ); int maxIndex = vertAxis.findCoordElement( max ); if ( minIndex == -1 || maxIndex == -1 )
double maxY = upperRigth.getY(); int minY_idx = yAxis.findCoordElement(minY); int maxY_idx = yAxis.findCoordElement(maxY); int minX_idx = xAxis.findCoordElement(minX); int maxX_idx = xAxis.findCoordElement(maxX); Range xRange = new Range(Math.min(minX_idx, maxX_idx), Math.max(minX_idx, maxX_idx), horizStride);
double maxY = upperRigth.getY(); int minY_idx = yAxis.findCoordElement(minY); int maxY_idx = yAxis.findCoordElement(maxY); int minX_idx = xAxis.findCoordElement(minX); int maxX_idx = xAxis.findCoordElement(maxX); Range xRange = new Range(Math.min(minX_idx, maxX_idx), Math.max(minX_idx, maxX_idx), horizStride);
@Test @Category(NeedsCdmUnitTest.class) public void testFindVerticalCoordinate() throws Exception { try (GridDataset dataset = GridDataset.open( "dods://localhost:8081/thredds/dodsC/cdmUnitTest/ncss/CONUS_80km_nc/GFS_CONUS_80km_20120419_0000.nc")) { GeoGrid grid = dataset.findGridByName("Relative_humidity"); assert null != grid; GridCoordSystem gcs = grid.getCoordinateSystem(); CoordinateAxis1D zaxis = gcs.getVerticalAxis(); float zCoord = 1000; int zidx = zaxis.findCoordElement(zCoord); assert zidx == 0 : zidx; zCoord = 800; zidx = zaxis.findCoordElement(zCoord); assert zidx == 8 : zidx; zCoord = 100; zidx = zaxis.findCoordElement(zCoord); assert zidx == 28 : zidx; } }
public Point readData(GridDatatype grid, CalendarDate date, double zCoord, double lat, double lon) throws java.io.IOException { GridCoordSystem gcs = grid.getCoordinateSystem(); //CoordinateAxis1DTime timeAxis = gcs.getTimeAxis1D(); //int tidx = timeAxis.findTimeIndexFromCalendarDate(date); int tidx = -1; //Date may be null if the grid does not have time axis if(date != null) tidx= findTimeIndexForCalendarDate(gcs, date); CoordinateAxis1D zAxis = gcs.getVerticalAxis(); int zidx = zAxis.findCoordElement( zCoord); int[] xy = gcs.findXYindexFromLatLon(lat, lon, null); Array data = grid.readDataSlice(tidx, zidx, xy[1], xy[0]); // use actual grid midpoint LatLonPoint latlon = gcs.getLatLon(xy[0], xy[1]); Point p = new Point(); p.lat = latlon.getLatitude(); p.lon = latlon.getLongitude(); p.z = zAxis.getCoordValue( zidx); p.dataValue = data.getDouble( data.getIndex()); return p; }
public Point readData(GridDatatype grid, CalendarDate date, double zCoord, double lat, double lon) throws java.io.IOException { GridCoordSystem gcs = grid.getCoordinateSystem(); //CoordinateAxis1DTime timeAxis = gcs.getTimeAxis1D(); //int tidx = timeAxis.findTimeIndexFromCalendarDate(date); int tidx = -1; //Date may be null if the grid does not have time axis if(date != null) tidx= findTimeIndexForCalendarDate(gcs, date); CoordinateAxis1D zAxis = gcs.getVerticalAxis(); int zidx = zAxis.findCoordElement( zCoord); int[] xy = gcs.findXYindexFromLatLon(lat, lon, null); Array data = grid.readDataSlice(tidx, zidx, xy[1], xy[0]); // use actual grid midpoint LatLonPoint latlon = gcs.getLatLon(xy[0], xy[1]); Point p = new Point(); p.lat = latlon.getLatitude(); p.lon = latlon.getLongitude(); p.z = zAxis.getCoordValue( zidx); p.dataValue = data.getDouble( data.getIndex()); return p; }
public Point readData(GridDatatype grid, CalendarDate date, double zCoord, double lat, double lon) throws java.io.IOException { GridCoordSystem gcs = grid.getCoordinateSystem(); //CoordinateAxis1DTime timeAxis = gcs.getTimeAxis1D(); //int tidx = timeAxis.findTimeIndexFromCalendarDate(date); int tidx = -1; //Date may be null if the grid does not have time axis if(date != null) tidx= findTimeIndexForCalendarDate(gcs, date); CoordinateAxis1D zAxis = gcs.getVerticalAxis(); int zidx = zAxis.findCoordElement( zCoord); int[] xy = gcs.findXYindexFromLatLon(lat, lon, null); Array data = grid.readDataSlice(tidx, zidx, xy[1], xy[0]); // use actual grid midpoint LatLonPoint latlon = gcs.getLatLon(xy[0], xy[1]); Point p = new Point(); p.lat = latlon.getLatitude(); p.lon = latlon.getLongitude(); p.z = zAxis.getCoordValue( zidx); p.dataValue = data.getDouble( data.getIndex()); return p; }
if( !Double.isNaN(location.getAltitude())){ CoordinateAxis1D zAxis = gcs.getVerticalAxis(); zidx = zAxis.findCoordElement( location.getAltitude()); p.z = zAxis.getCoordValue( zidx);
if(location.getAltitude() != Double.NaN){ CoordinateAxis1D zAxis = gcs.getVerticalAxis(); zidx = zAxis.findCoordElement( location.getAltitude()); p.z = zAxis.getCoordValue( zidx);