public List<CoverageCoordAxis> getAxes() { List<CoverageCoordAxis> result = new ArrayList<>(); for (String axisName : getAxisNames()) { CoverageCoordAxis axis = dataset.findCoordAxis(axisName); if (axis == null) throw new IllegalStateException("Cant find " + axisName); result.add(axis); } return result; }
public CoverageCoordAxis getAxis(AxisType type) { for (String axisName : getAxisNames()) { CoverageCoordAxis axis = dataset.findCoordAxis(axisName); if (axis == null) throw new IllegalStateException("Cant find axis with name "+axisName); else if (axis.getAxisType() == type) { return axis; } } return null; }
public CoverageCoordAxis getZAxis() { for (String axisName : getAxisNames()) { CoverageCoordAxis axis = dataset.findCoordAxis(axisName); if (axis == null) throw new IllegalStateException("Cant find axis with name "+axisName); if (axis.getAxisType() == AxisType.GeoZ || axis.getAxisType() == AxisType.Height || axis.getAxisType() == AxisType.Pressure) return axis; } return null; }
public CoverageCoordSys(CoverageCoordSys from) { this.name = from.getName(); this.axisNames = from.getAxisNames(); this.transformNames = from.getTransformNames(); this.type = from.getCoverageType(); }
CdmrFeatureProto.CoordSys.Builder encodeCoordSys(CoverageCoordSys gcs) { CdmrFeatureProto.CoordSys.Builder builder = CdmrFeatureProto.CoordSys.newBuilder(); builder.setName(gcs.getName()); builder.setCoverageType(convertCoverageType(gcs.getCoverageType())); for (String axis : gcs.getAxisNames()) builder.addAxisNames(axis); for (String gct : gcs.getTransformNames()) builder.addTransformNames(gct); return builder; }
for (String axisName : cs.getAxisNames()) { Element axisElem = new Element("axisRef"); axisElem.setAttribute("name", axisName);
for (String axisName : grid.getCoordSys().getAxisNames()) { coordsAttribValFormatter.format("%s ", axisName);
public CdmrFeatureProto.GeoReferencedArray.Builder encodeGeoReferencedArray(GeoReferencedArray geoArray, boolean deflate) { CdmrFeatureProto.GeoReferencedArray.Builder builder = CdmrFeatureProto.GeoReferencedArray.newBuilder(); builder.setCoverageName(geoArray.getCoverageName()); builder.setDataType(NcStream.convertDataType(geoArray.getDataType())); builder.setVersion(3); // set to >= 3 for proto3 builder.setBigend(ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN); int shape[] = geoArray.getData().getShape(); for (int aShape : shape) builder.addShape(aShape); CoverageCoordSys csys = geoArray.getCoordSysForData(); for (String axisName : csys.getAxisNames()) // geoArray.getAxisNames()) // LOOK could use csys.getAxisNames(), but order may be incorrect, must match shape builder.addAxisName(axisName); builder.setCoordSysName(csys.getName()); if (deflate) { builder.setCompress(NcStreamProto.Compress.DEFLATE); long uncompressedSize = geoArray.getData().getSizeBytes(); builder.setUncompressedSize(uncompressedSize); } else { builder.setPrimdata(NcStreamDataCol.copyArrayToByteString( geoArray.getData())); } return builder; }