/** * Get member data of type Structure. * @param memberName name of member Variable. * @return array of StructureData * @throws IllegalArgumentException if name is not legal member name. */ public ArrayStructure getArrayStructure(String memberName) { StructureMembers.Member m = findMember(memberName); if (null == m) throw new IllegalArgumentException("Member not found= " + memberName); return getArrayStructure(m); }
/** * Get member data of type Structure. * @param memberName name of member Variable. * @return array of StructureData * @throws IllegalArgumentException if name is not legal member name. */ public ArrayStructure getArrayStructure(String memberName) { StructureMembers.Member m = findMember(memberName); if (null == m) throw new IllegalArgumentException("Member not found= " + memberName); return getArrayStructure(m); }
/** * Get member data of type Structure. * @param memberName name of member Variable. * @return array of StructureData * @throws IllegalArgumentException if name is not legal member name. */ public ArrayStructure getArrayStructure(String memberName) { StructureMembers.Member m = findMember(memberName); if (null == m) throw new IllegalArgumentException("Member not found= " + memberName); return getArrayStructure(m); }
public ArrayStructure getArrayStructure(StructureMembers.Member m) { return proxy.get(m).getArrayStructure(m.getName()); }
public ArrayStructure getArrayStructure(StructureMembers.Member m) { return org.getArrayStructure(m.getName()); }
public ArrayStructure getArrayStructure(StructureMembers.Member m) { return proxy.get(m).getArrayStructure(m.getName()); }
public ArrayStructure getArrayStructure(StructureMembers.Member m) { return org.getArrayStructure(m.getName()); }
public ArrayStructure getArrayStructure(StructureMembers.Member m) { return proxy.get(m).getArrayStructure(m.getName()); }
@Override public ArrayStructure getArrayStructure(int recnum, StructureMembers.Member m) { if (m.getDataArray() != null) return super.getArrayStructure(recnum, m); StructureData sd = getStructureData(recnum); return sd.getArrayStructure( m.getName()); }
@Override public ArrayStructure getArrayStructure(int recnum, StructureMembers.Member m) { if (m.getDataArray() != null) return super.getArrayStructure(recnum, m); StructureData sd = getStructureData(recnum); return sd.getArrayStructure( m.getName()); }
@Override public ArrayStructure getArrayStructure(int recnum, StructureMembers.Member m) { if (m.getDataArray() != null) return super.getArrayStructure(recnum, m); StructureData sd = getStructureData(recnum); return sd.getArrayStructure( m.getName()); }
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.getParentStructure(); StructureMembers members = parentStruct.getStructureMembers(); StructureMembers.Member m = members.findMember(nestedTableName); if (m == null) { System.out.println("HEY"); } else if (m.getDataType() == DataType.SEQUENCE) { ArraySequence seq = parentStruct.getArraySequence(m); return seq.getStructureDataIterator(); } else if (m.getDataType() == DataType.STRUCTURE) { ArrayStructure as = parentStruct.getArrayStructure(m); return as.getStructureDataIterator(); } throw new IllegalStateException("Cant find nested table member = " + nestedTableName); }
@Override public StructureDataIterator getStructureDataIterator(Cursor cursor) throws IOException { StructureData parentStruct = cursor.getParentStructure(); StructureMembers members = parentStruct.getStructureMembers(); StructureMembers.Member m = members.findMember(nestedTableName); if (m.getDataType() == DataType.SEQUENCE) { ArraySequence seq = parentStruct.getArraySequence(m); return seq.getStructureDataIterator(); } else if (m.getDataType() == DataType.STRUCTURE) { ArrayStructure as = parentStruct.getArrayStructure(m); return as.getStructureDataIterator(); } throw new IllegalStateException("Cant find nested table member = " + nestedTableName); }
ArrayStructure nestedAS = sdata.getArrayStructure(m); for (int i = 0; i < nestedAS.getSize(); i++) extractStructureData(md, nestedAS.getStructureData(i));
public StructureDataIterator getStructureDataIterator(Cursor cursor, int bufferSize) throws IOException { StructureData parentStruct = cursor.getParentStructure(); StructureMembers members = parentStruct.getStructureMembers(); StructureMembers.Member m = members.findMember(nestedTableName); members.hideMember(m); // LOOK ?? if (m.getDataType() == DataType.SEQUENCE) { ArraySequence seq = parentStruct.getArraySequence(m); return seq.getStructureDataIterator(); } else if (m.getDataType() == DataType.STRUCTURE) { ArrayStructure as = parentStruct.getArrayStructure(m); return as.getStructureDataIterator(); } throw new IllegalStateException("Cant find nested table member = " + nestedTableName); }
ArrayStructure seq1 = recordData.getArrayStructure(m); try (StructureDataIterator iter = seq1.getStructureDataIterator()) { while (iter.hasNext()) {
@Ignore("cant deal with BUFR at the moment") @Test public void testNestedTableEnhanced() throws IOException, InvalidRangeException { String filename = TestDir.cdmLocalTestDataDir + "dataset/nestedTable.bufr"; try (NetcdfFile ncfile = ucar.nc2.dataset.NetcdfDataset.openDataset(filename)) { logger.debug("Open {}", ncfile.getLocation()); SequenceDS outer = (SequenceDS) ncfile.findVariable(BufrIosp2.obsRecord); assert outer != null; try (StructureDataIterator iter = outer.getStructureIterator()) { StructureData data = null; if (iter.hasNext()) data = iter.next(); assert data != null; assert Double.isNaN(data.getScalarFloat("Latitude_coarse_accuracy")); ArrayStructure as = data.getArrayStructure("Geopotential"); assert as != null; Assert2.assertNearlyEquals(as.getScalarFloat(0, as.findMember("Wind_speed")), 6.1); } } } }
ArrayStructure seq1 = recordData.getArrayStructure (m); StructureDataIterator iter = seq1.getStructureDataIterator(); while (iter.hasNext()) {
@Ignore("cant deal with BUFR at the moment") @Test public void testNestedTable() throws IOException, InvalidRangeException { String filename = TestDir.cdmLocalTestDataDir + "dataset/nestedTable.bufr"; try (NetcdfFile ncfile = ucar.nc2.dataset.NetcdfDataset.openFile(filename, null)) { logger.debug("Open {}", ncfile.getLocation()); Sequence outer = (Sequence) ncfile.findVariable(BufrIosp2.obsRecord); assert outer != null; try (StructureDataIterator iter = outer.getStructureIterator()) { StructureData data = null; if (iter.hasNext()) data = iter.next(); assert data != null; assert data.getScalarShort("Latitude_coarse_accuracy") == 32767; ArrayStructure as = data.getArrayStructure("Geopotential"); assert as != null; assert as.getScalarShort(0, as.findMember("Wind_speed")) == 61; } } }
Assert.assertFalse("Expected to find only one 'obs' record.", obsIter.hasNext()); ArrayStructure struct1Array = obsData.getArrayStructure("struct1");