use of org.n52.io.response.dataset.TimeseriesMetadataOutput in project series-rest-api by 52North.
the class QuantityCsvIoHandler method writeData.
private void writeData(DatasetOutput metadata, QuantityData series, OutputStream stream) throws IOException {
String station = null;
ParameterOutput platform = metadata.getSeriesParameters().getPlatform();
if (platform == null) {
TimeseriesMetadataOutput output = (TimeseriesMetadataOutput) metadata;
station = output.getStation().getLabel();
} else {
station = platform.getLabel();
}
String phenomenon = metadata.getSeriesParameters().getPhenomenon().getLabel();
String uom = metadata.getUom();
for (QuantityValue timeseriesValue : series.getValues()) {
String[] values = new String[getHeader().length];
values[0] = station;
values[1] = phenomenon;
values[2] = uom;
Long timestart = timeseriesValue.getTimestart();
Long timeend = timeseriesValue.getTimestamp();
values[3] = timestart != null ? new DateTime(timestart).toString() : null;
values[4] = new DateTime(timeend).toString();
values[5] = numberformat.format(timeseriesValue.getValue());
writeCsvLine(csvEncode(values), stream);
}
}
use of org.n52.io.response.dataset.TimeseriesMetadataOutput in project series-rest-api by 52North.
the class PDFReportGenerator method addDataTable.
private void addDataTable(TimeSeries timeseries, TimeseriesMetadataOutput metadata, TvpDataCollection<QuantityData> dataCollection) {
TableType dataTable = timeseries.addNewTable();
// TODO add language context
dataTable.setLeftColHeader("Date");
dataTable.setRightColHeader(createValueTableHeader(metadata));
QuantityData data = dataCollection.getSeries(metadata.getId());
for (QuantityValue valueEntry : data.getValues()) {
Entry entry = dataTable.addNewEntry();
// TODO update TableType schema to allow start/end time
entry.setTime(new DateTime(valueEntry.getTimestamp()).toString());
entry.setValue(Double.toString(valueEntry.getValue()));
}
}
use of org.n52.io.response.dataset.TimeseriesMetadataOutput in project series-rest-api by 52North.
the class PDFReportGenerator method createValueTableHeader.
private String createValueTableHeader(TimeseriesMetadataOutput metadata) {
SeriesParameters parameters = metadata.getSeriesParameters();
String phenomenon = parameters.getPhenomenon().getLabel();
return phenomenon + " (" + metadata.getUom() + ")";
}
use of org.n52.io.response.dataset.TimeseriesMetadataOutput in project series-rest-api by 52North.
the class TimeseriesMetadataController method addRenderingHints.
// stay backwards compatible
@SuppressWarnings("deprecation")
private TimeseriesMetadataOutput addRenderingHints(TimeseriesMetadataOutput output, IoParameters parameters) {
final String valueName = TimeseriesMetadataOutput.RENDERING_HINTS;
Predicate<MetadataExtension<?>> filter = RenderingHintsExtension.class::isInstance;
Optional<Map<String, Object>> extras = getExtras(output, parameters, filter);
extras.ifPresent(it -> {
StyleProperties value = (StyleProperties) it.get(valueName);
output.setValue(valueName, value, parameters, output::setRenderingHints);
});
return output;
}
use of org.n52.io.response.dataset.TimeseriesMetadataOutput in project series-rest-api by 52North.
the class CsvIoHandler method getPlatformLabel.
protected String getPlatformLabel(DatasetOutput<T> metadata) {
DatasetParameters parameters = metadata.getDatasetParameters(true);
ParameterOutput platform = parameters.getPlatform();
return platform == null ? getLabel(((TimeseriesMetadataOutput) metadata).getStation()) : platform.getLabel();
}
Aggregations