/** * convert a GTSWrapper into GeoTimeSerie * * @param wrapper * @return GeoTimeSerie */ public static GeoTimeSerie fromGTSWrapperToGTS(GTSWrapper wrapper) { Metadata metadata = wrapper.getMetadata(); GeoTimeSerie gts = null; if (null != wrapper.getEncoded()) { byte[] bytes = null; if (wrapper.isCompressed()) { bytes = unwrapEncoded(wrapper); } else { bytes = wrapper.getEncoded(); } ByteBuffer bb = ByteBuffer.wrap(bytes); GTSDecoder decoder = new GTSDecoder(wrapper.getBase(), bb); decoder.setCount(0 != wrapper.getCount() ? wrapper.getCount() : bytes.length / 10); gts = decoder.decode(); } else { gts = new GeoTimeSerie(); } if (null == metadata) { metadata = new Metadata(); } gts.setMetadata(metadata); return gts; }
public static GTSWrapper fromGTSToGTSWrapper( GeoTimeSerie gts, boolean compress, double compratio) { GTSEncoder encoder = new GTSEncoder(0L); encoder.setMetadata(gts.getMetadata()); try { encoder.encode(gts); } catch (IOException ioe) { } GTSWrapper wrapper = fromGTSEncoderToGTSWrapper(encoder, compress, compratio); if (GTSHelper.isBucketized(gts)) { wrapper.setBucketcount(gts.bucketcount); wrapper.setBucketspan(gts.bucketspan); wrapper.setLastbucket(gts.lastbucket); } return wrapper; }