public GeoReferencedArray(String coverageName, DataType dataType, Array data, CoverageCoordSys csSubset) { this.coverageName = coverageName; this.dataType = dataType; this.data = data; this.csSubset = csSubset; this.axes = csSubset.getAxes(); this.transforms = csSubset.getTransforms(); }
public String getIndependentAxisNamesOrdered() { StringBuilder sb = new StringBuilder(); for (CoverageCoordAxis axis : coordSys.getAxes()) { if (!(axis.getDependenceType() == CoverageCoordAxis.DependenceType.independent)) continue; sb.append(axis.getName()); sb.append(" "); } return sb.toString(); }
public List<RangeIterator> getRanges() { List<RangeIterator> result = new ArrayList<>(); for (CoverageCoordAxis axis : getAxes()) { if (axis.getAxisType().isHoriz()) continue; if (axis.getDependenceType() == CoverageCoordAxis.DependenceType.independent) result.add(axis.getRangeIterator()); } result.addAll(horizCoordSys.getRanges()); // may be 2D return result; }
for (CoverageCoordAxis axis : getAxes()) { if (axis.getDependenceType() == CoverageCoordAxis.DependenceType.dependent) { for (String indAxisName : axis.dependsOn) { CoverageCoordAxis1D runtimeAxis = null; for (CoverageCoordAxis axis : getAxes()) { if (axis.getAxisType() == AxisType.TimeOffset) { if (timeOffsetAxis != null)
for (CoverageCoordAxis axis : subsetCoordSys.getAxes()) {
public Optional<CoverageCoordSys> subset(SubsetParams params, boolean makeCFcompliant, boolean finish) { Formatter errMessages = new Formatter(); List<CoverageCoordAxis> subsetAxes = new ArrayList<>(); for (CoverageCoordAxis axis : getAxes()) { if (axis.getDependenceType() == CoverageCoordAxis.DependenceType.dependent) continue; if (axis.getAxisType().isHoriz()) continue;
List<CoverageCoordAxis> subsetAxes = new ArrayList<>(); for (CoverageCoordAxis axis : ccs.getAxes()) { switch (axis.getAxisType()) { // LOOK what about 2D ?? case RunTime:
@Test @Category(NeedsExternalResource.class) public void testCdmRemoteCoverage() throws Exception { String ds = "http://thredds-test.unidata.ucar.edu/thredds/catalog/grib/NCEP/GFS/Global_0p25deg_ana/latest.xml"; try (DataFactory.Result result = new DataFactory().openFeatureDataset("thredds:resolve:" + ds, null)) { logger.debug("result errlog = {}", result.errLog); assert !result.fatalError; assert result.featureType == FeatureType.GRID; assert result.featureDataset != null; String gridName = "Temperature_isobaric"; FeatureDatasetCoverage dataset = (FeatureDatasetCoverage) result.featureDataset; Assert.assertNotNull(gridName, dataset.getDataVariable(gridName)); Assert.assertEquals(1, dataset.getCoverageCollections().size()); CoverageCollection cc = dataset.getCoverageCollections().get(0); Coverage grid = cc.findCoverage(gridName); Assert.assertNotNull(gridName, grid); CoverageCoordSys gcs = grid.getCoordSys(); Assert.assertNotNull("CoverageCoordSys", gcs); Assert.assertEquals("CoverageCoordSys rank", 5, gcs.getAxes().size()); SubsetParams params = new SubsetParams().set(SubsetParams.timePresent, true).setHorizStride(3); GeoReferencedArray geo = grid.readData(params); CoverageCoordSys geoCoordsys = geo.getCoordSysForData(); Assert.assertNotNull("geoCoordsys", geoCoordsys); int[] shape = geoCoordsys.getShape(); logger.debug("grid_section.getShape = {}", new Section(shape)); int[] expectShape = new int[] {1, 31, 241, 480}; Assert.assertArrayEquals("subset shape", expectShape, shape); } }