예제 #1
0
 private TimeCoord readTimeCoord(GribCollectionProto.Coord pc) throws IOException {
   if (pc.getBoundCount() > 0) { // its an interval
     List<TimeCoord.Tinv> coords = new ArrayList<TimeCoord.Tinv>(pc.getValuesCount());
     for (int i = 0; i < pc.getValuesCount(); i++)
       coords.add(new TimeCoord.Tinv((int) pc.getValues(i), (int) pc.getBound(i)));
     return new TimeCoord(pc.getCode(), pc.getUnit(), coords);
   } else {
     List<Integer> coords = new ArrayList<Integer>(pc.getValuesCount());
     for (float value : pc.getValuesList()) coords.add((int) value);
     return new TimeCoord(pc.getCode(), pc.getUnit(), coords);
   }
 }
예제 #2
0
 private VertCoord readVertCoord(GribCollectionProto.Coord pc) throws IOException {
   boolean isLayer = (pc.getBoundCount() > 0);
   List<VertCoord.Level> coords = new ArrayList<VertCoord.Level>(pc.getValuesCount());
   for (int i = 0; i < pc.getValuesCount(); i++)
     coords.add(new VertCoord.Level(pc.getValues(i), isLayer ? pc.getBound(i) : 0));
   return new VertCoord(pc.getCode(), coords, isLayer);
 }