if (attr.getDataType().isString()) { metadata.add(property, attr.getStringValue()); } else if (attr.getDataType().isNumeric()) { int value = attr.getNumericValue().intValue(); metadata.add(property, String.valueOf(value));
if (attr.getDataType().isString()) { metadata.add(property, attr.getStringValue()); } else if (attr.getDataType().isNumeric()) { int value = attr.getNumericValue().intValue(); metadata.add(property, String.valueOf(value));
private boolean isPotentialPixelDataVariable(Variable variable) { return variable != null && variable.getRank() == 2 && variable.getDataType().isNumeric(); }
private boolean isMissing(Variable v, Array mdata, int bitWidth) { if (v.getDataType().isNumeric()) { long val = mdata.nextLong(); boolean result = BufrNumbers.isMissing(val, bitWidth); if (showData) out.format("%d %s,", val, result ? "(miss)" : ""); return result; } Object s = mdata.next(); if (showData) out.format("%s,",s); return false; }
private boolean isMissing(Variable v, Array mdata, int bitWidth) { if (v.getDataType().isNumeric()) { long val = mdata.nextLong(); boolean result = BufrNumbers.isMissing(val, bitWidth); if (showData) out.format("%d %s,", val, result ? "(miss)" : ""); return result; } Object s = mdata.next(); if (showData) out.format("%s,", s); return false; }
private void writeVariable(VariableDS v, Array mdata) throws IOException { int count = 0; String name = v.getShortName(); String units = v.getUnitsString(); out.format("%svar='%s' units='%s' : ", indent, name, units); mdata.resetLocalIterator(); while (mdata.hasNext()) { if (count++ > 0) out.format(","); if (v.getDataType().isNumeric()) { double val = mdata.nextDouble(); if (v.isMissing(val)) { // check if missing out.format("missing"); } else { out.format("%s", Double.toString(val)); } } else { // not numeric out.format("%s", mdata.next()); } } out.format("%n"); }
count++; if (v.getDataType().isNumeric()) { double val = mdata.nextDouble();
public void extract(StructureData sdata) { StructureMembers sm = sdata.getStructureMembers(); for (Field fld : map.values()) { StructureMembers.Member m = sm.findMember(fld.memberName); DataType dtype = m.getDataType(); if (dtype.isString()) fld.valueS = sdata.getScalarString(m).trim(); else if (dtype.isIntegral()) { fld.value = sdata.convertScalarInt(m); fld.valueD = fld.value; } else if (dtype.isNumeric()) fld.valueD = sdata.convertScalarDouble(m); } }
if (this.enhanceMode.contains(Enhance.ApplyScaleOffset) && (dataType.isNumeric() || dataType == DataType.CHAR) && scaleMissingUnsignedProxy.hasScaleOffset()) { setDataType(scaleMissingUnsignedProxy.getScaledOffsetType());
protected Array convertEnums(Array values) { DataType dt = DataType.getType(values.getElementType()); if (!dt.isNumeric()) System.out.println("HEY !dt.isNumeric()"); Array result = Array.factory(DataType.STRING, values.getShape()); IndexIterator ii = result.getIndexIterator(); values.resetLocalIterator(); while (values.hasNext()) { String sval = lookupEnumString(values.nextInt()); ii.setObjectNext(sval); } return result; } }
protected Array convertEnums(Array values) { DataType dt = DataType.getType(values.getElementType()); if (!dt.isNumeric()) System.out.println("HEY !dt.isNumeric()"); Array result = Array.factory(DataType.STRING, values.getShape()); IndexIterator ii = result.getIndexIterator(); values.resetLocalIterator(); while (values.hasNext()) { String sval = lookupEnumString(values.nextInt()); ii.setObjectNext(sval); } return result; } }
indent.incr(); if (m.getDataType().isString() || m.getDataType().isNumeric()) { writeVariable((VariableDS) v, sdata.getArray(m));
indent.incr(); if (m.getDataType().isString() || m.getDataType().isNumeric()) { writeVariable((VariableDS) v, sdata.getArray(m));
static NcStreamProto.Variable.Builder encodeVar(Variable var, int sizeToCache) throws IOException { NcStreamProto.Variable.Builder builder = NcStreamProto.Variable.newBuilder(); builder.setName(var.getShortName()); builder.setDataType(convertDataType(var.getDataType())); if (var.getDataType().isEnum()) { EnumTypedef enumType = var.getEnumTypedef(); if (enumType != null) builder.setEnumType(enumType.getShortName()); } for (Dimension dim : var.getDimensions()) { builder.addShape(encodeDim(dim)); } for (Attribute att : var.getAttributes()) { builder.addAtts(encodeAtt(att)); } // put small amounts of data in header "immediate mode" if (var.isCaching() && var.getDataType().isNumeric()) { if (var.isCoordinateVariable() || var.getSize() * var.getElementSize() < sizeToCache) { Array data = var.read(); ByteBuffer bb = data.getDataAsByteBuffer(); builder.setData(ByteString.copyFrom(bb.array())); } } return builder; }
static NcStreamProto.Variable.Builder encodeVar(Variable var, int sizeToCache) throws IOException { NcStreamProto.Variable.Builder builder = NcStreamProto.Variable.newBuilder(); builder.setName(var.getShortName()); builder.setDataType(encodeDataType(var.getDataType())); if (var.isUnsigned()) builder.setUnsigned(true); if (var.getDataType().isEnum()) { EnumTypedef enumType = var.getEnumTypedef(); if (enumType != null) builder.setEnumType(enumType.getShortName()); } for (Dimension dim : var.getDimensions()) { builder.addShape(encodeDim(dim)); } for (Attribute att : var.getAttributes()) { builder.addAtts(encodeAtt(att)); } // put small amounts of data in header "immediate mode" if (var.isCaching() && var.getDataType().isNumeric()) { if (var.isCoordinateVariable() || var.getSize() * var.getElementSize() < sizeToCache) { Array data = var.read(); ByteBuffer bb = data.getDataAsByteBuffer(); builder.setData(ByteString.copyFrom(bb.array())); } } return builder; }
static NcStreamProto.Variable.Builder encodeVar(Variable var, int sizeToCache) throws IOException { NcStreamProto.Variable.Builder builder = NcStreamProto.Variable.newBuilder(); builder.setName(var.getShortName()); builder.setDataType(encodeDataType(var.getDataType())); if (var.isUnsigned()) builder.setUnsigned(true); if (var.getDataType().isEnum()) { EnumTypedef enumType = var.getEnumTypedef(); if (enumType != null) builder.setEnumType(enumType.getShortName()); } for (Dimension dim : var.getDimensions()) { builder.addShape(encodeDim(dim)); } for (Attribute att : var.getAttributes()) { builder.addAtts(encodeAtt(att)); } // put small amounts of data in header "immediate mode" if (var.isCaching() && var.getDataType().isNumeric()) { if (var.isCoordinateVariable() || var.getSize() * var.getElementSize() < sizeToCache) { Array data = var.read(); ByteBuffer bb = data.getDataAsByteBuffer(); builder.setData(ByteString.copyFrom(bb.array())); } } return builder; }
private void processSequence(Structure s, StructureDataIterator sdataIter, Counter counter) throws IOException { indent.incr(); int count = 0; while (sdataIter.hasNext()) { if (showData) out.format("%sSequence %s count=%d%n", indent, s.getShortName(), count++); StructureData sdata = sdataIter.next(); indent.incr(); for (StructureMembers.Member m : sdata.getMembers()) { Variable v = s.findVariable(m.getName()); if (m.getDataType().isString() || m.getDataType().isNumeric()) { processVariable(v, sdata.getArray(m), counter); } else if (m.getDataType() == DataType.STRUCTURE) { Structure sds = (Structure) v; ArrayStructure data = (ArrayStructure) sdata.getArray(m); processSequence(sds, data.getStructureDataIterator(), counter); } else if (m.getDataType() == DataType.SEQUENCE) { Sequence sds = (Sequence) v; ArraySequence data = (ArraySequence) sdata.getArray(m); processSequence(sds, data.getStructureDataIterator(), counter); } } indent.decr(); } indent.decr(); }
private void writeSequence(StructureDS s, StructureDataIterator sdataIter) throws IOException { indent.incr(); int count = 0; while (sdataIter.hasNext()) { out.format("%sSequence %s count=%d%n", indent, s.getShortName(), count++); StructureData sdata = sdataIter.next(); indent.incr(); for (StructureMembers.Member m : sdata.getMembers()) { Variable v = s.findVariable(m.getName()); if (m.getDataType().isString() || m.getDataType().isNumeric()) { writeVariable((VariableDS) v, sdata.getArray(m)); } else if (m.getDataType() == DataType.STRUCTURE) { StructureDS sds = (StructureDS) v; ArrayStructure data = (ArrayStructure) sdata.getArray(m); writeSequence(sds, data.getStructureDataIterator()); } else if (m.getDataType() == DataType.SEQUENCE) { SequenceDS sds = (SequenceDS) v; ArraySequence data = (ArraySequence) sdata.getArray(m); writeSequence(sds, data.getStructureDataIterator()); } } indent.decr(); } indent.decr(); }
private void processSequence(Structure s, StructureDataIterator sdataIter, Counter counter) throws IOException { indent.incr(); int count = 0; try { while (sdataIter.hasNext()) { if (showData) out.format("%sSequence %s count=%d%n", indent, s.getShortName(), count++); StructureData sdata = sdataIter.next(); indent.incr(); for (StructureMembers.Member m : sdata.getMembers()) { Variable v = s.findVariable(m.getName()); if (m.getDataType().isString() || m.getDataType().isNumeric()) { processVariable(v, sdata.getArray(m), counter); } else if (m.getDataType() == DataType.STRUCTURE) { Structure sds = (Structure) v; ArrayStructure data = (ArrayStructure) sdata.getArray(m); processSequence(sds, data.getStructureDataIterator(), counter); } else if (m.getDataType() == DataType.SEQUENCE) { Sequence sds = (Sequence) v; ArraySequence data = (ArraySequence) sdata.getArray(m); processSequence(sds, data.getStructureDataIterator(), counter); } } indent.decr(); } } finally { sdataIter.close(); } indent.decr(); }
@Override public Array convert(Array in, boolean convertUnsigned, boolean applyScaleOffset, boolean convertMissing) { if (!in.getDataType().isNumeric() || (!convertUnsigned && !applyScaleOffset && !convertMissing)) { return in; // Nothing to do!