public List getData(CancelTask cancel) throws IOException { String CE = outerSequence.getFullName(); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(outerSequence, CE); extractMembers(as); int n = (int) as.getSize(); List<SeqPointObs> dataList = new ArrayList<SeqPointObs>(n); for (int i=0; i<n; i++) dataList.add( new SeqPointObs( i, as.getStructureData(i))); return dataList; }
public List getData(CancelTask cancel) throws IOException { String CE = sequenceOuter.getShortName(); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(sequenceOuter, CE); extractMembers(as); int n = (int) as.getSize(); ArrayList dataList = new ArrayList(n); for (int i=0; i<n; i++) dataList.add( new SeqPointObs( i, as.getStructureData(i))); return dataList; }
public List getData(LatLonRect boundingBox, CancelTask cancel) throws IOException { String CE = outerSequence.getFullName() + "&" + makeBB( boundingBox); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(outerSequence, CE); extractMembers(as); int n = (int) as.getSize(); ArrayList dataList = new ArrayList(n); for (int i=0; i<n; i++) dataList.add( new SeqPointObs( i, as.getStructureData(i))); return dataList; }
public List getData(LatLonRect boundingBox, CancelTask cancel) throws IOException { String CE = sequenceOuter.getShortName() + "&" + makeBB( boundingBox); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(sequenceOuter, CE); extractMembers(as); int n = (int) as.getSize(); ArrayList dataList = new ArrayList(n); for (int i=0; i<n; i++) dataList.add( new SeqPointObs( i, as.getStructureData(i))); return dataList; }
public List getData(LatLonRect boundingBox, Date start, Date end, CancelTask cancel) throws IOException { String CE = sequenceOuter.getShortName() + "&" + makeBB( boundingBox) + "&"+ makeTimeRange( start, end); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(sequenceOuter, CE); extractMembers(as); int n = (int) as.getSize(); ArrayList dataList = new ArrayList(n); for (int i=0; i<n; i++) dataList.add( new SeqPointObs( i, as.getStructureData(i))); return dataList; }
public List getData(LatLonRect boundingBox, Date start, Date end, CancelTask cancel) throws IOException { String CE = outerSequence.getFullName() + "&" + makeBB( boundingBox) + "&"+ makeTimeRange( start, end); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(outerSequence, CE); extractMembers(as); int n = (int) as.getSize(); ArrayList dataList = new ArrayList(n); for (int i=0; i<n; i++) dataList.add( new SeqPointObs( i, as.getStructureData(i))); return dataList; }
public List readStationData(ucar.unidata.geoloc.Station s, CancelTask cancel) throws IOException { String CE = outerSequence.getShortName()+"."+innerSequence.getShortName()+"&"+ outerSequence.getShortName()+"."+ID+"="+s.getName(); ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(outerSequence, CE); /* unwrap the outer structure StructureMembers outerMembers = as.getStructureMembers(); StructureMembers.Member outerMember = outerMembers.findMember(outerSequence.getShortName()); */ StructureData outerStructure = as.getStructureData(0); // get at the inner sequence ArrayStructure asInner = (ArrayStructure) outerStructure.getArray(innerSequence.getShortName()); StructureMembers innerMembers = asInner.getStructureMembers(); StructureMembers.Member timeMember = innerMembers.findMember(timeVar.getShortName()); int n = (int) asInner.getSize(); ArrayList stationData = new ArrayList(n); for (int i=0; i<n; i++) { StructureData sdata = asInner.getStructureData(i); double obsTime = sdata.convertScalarDouble(timeMember); stationData.add( new SeqStationObs(s, obsTime, sdata)); } return stationData; }
final Variable sourceVariable = sourceNetcdfFile.findVariable(varName); String ceForVariable = getConstraintExpression(filteredVariable, constraintExpression); final Array values = sourceNetcdfFile.readWithCE(sourceVariable, ceForVariable); final int[] origin = getOrigin(filteredVariable, constraintExpression, sourceVariable.getDimensions().size());
public void readStations(List stations) throws IOException { String CE = latVar.getShortName()+","+lonVar.getShortName()+","+altVar.getShortName()+ ","+ID; ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(outerSequence, CE); StructureMembers members = as.getStructureMembers(); StructureMembers.Member latMember = members.findMember(latVar.getShortName()); StructureMembers.Member lonMember = members.findMember(lonVar.getShortName()); StructureMembers.Member altMember = members.findMember(altVar.getShortName()); StructureMembers.Member idMember = members.findMember(ID); int n = (int) as.getSize(); for (int i=0; i<n; i++) { StructureData sdata = as.getStructureData(i); double lat = sdata.convertScalarDouble(latMember); double lon = sdata.convertScalarDouble(lonMember); double alt = sdata.convertScalarDouble(altMember); int id = sdata.getScalarInt(idMember); StationImpl s = new StationImpl(Integer.toString(id), "Station"+i,lat, lon, alt); stations.add(s); } }
public void utestCE() throws IOException, InvalidRangeException { DODSNetcdfFile dodsFile = TestDODSRead.open("NestedSeq2"); Variable outerSequence = dodsFile.findVariable("person1"); String CE = "person1.age,person1.stuff&person1.age=3"; ArrayStructure as = (ArrayStructure) dodsFile.readWithCE(outerSequence, CE); assert as.getSize() == 1; StructureData outerStructure = as.getStructureData(0); StructureMembers outerMembers = outerStructure.getStructureMembers(); assert outerMembers.findMember("age") != null; assert outerMembers.findMember("stuff") != null; // get at the inner sequence ArrayStructure asInner = (ArrayStructure) outerStructure.getArray("stuff"); StructureMembers innerMembers = asInner.getStructureMembers(); assert innerMembers.findMember("foo") != null; assert innerMembers.findMember("bar") != null; assert asInner.getSize() == 3 : asInner.getSize(); StructureData firstInner = asInner.getStructureData(0); StructureMembers firstMembers = firstInner.getStructureMembers(); assert firstMembers.findMember("foo") != null; assert firstMembers.findMember("bar") != null; //StructureMembers.Member timeMember = innerMembers.findMember(timeVar.getShortName()); }