use of org.n52.shetland.ogc.om.series.wml.Metadata 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.shetland.ogc.om.series.wml.Metadata in project series-rest-api by 52North.
the class FlotFormatter method createFlotSeries.
private FlotData createFlotSeries(QuantityData seriesToFormat) {
FlotData flotSeries = new FlotData();
flotSeries.setValues(formatSeries(seriesToFormat));
QuantityDatasetMetadata metadata = seriesToFormat.getMetadata();
if (metadata != null) {
Map<String, QuantityData> referenceValues = metadata.getReferenceValues();
for (String referenceValueId : referenceValues.keySet()) {
QuantityData referenceValueData = metadata.getReferenceValues().get(referenceValueId);
flotSeries.addReferenceValues(referenceValueId, formatSeries(referenceValueData));
}
}
return flotSeries;
}
use of org.n52.shetland.ogc.om.series.wml.Metadata in project series-rest-api by 52North.
the class PDFReportGenerator method generateTimeseriesMetadata.
private void generateTimeseriesMetadata() {
for (DatasetOutput metadata : getSeriesMetadatas()) {
TimeSeries timeseries = addTimeseries(metadata);
// addDataTable(timeseries, metadata, data);
addMetadata(timeseries, metadata);
}
}
use of org.n52.shetland.ogc.om.series.wml.Metadata in project series-rest-api by 52North.
the class PDFReportGenerator method addTimeseries.
private TimeSeries addTimeseries(DatasetOutput metadata) {
DocumentStructureType report = document.getDocumentStructure();
TimeSeries timeseries = report.addNewTimeSeries();
SeriesParameters parameters = metadata.getSeriesParameters();
timeseries.setFeatureOfInterestID(parameters.getFeature().getLabel());
timeseries.setPhenomenID(parameters.getPhenomenon().getLabel());
timeseries.setProcedureID(parameters.getProcedure().getLabel());
return timeseries;
}
use of org.n52.shetland.ogc.om.series.wml.Metadata 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()));
}
}
Aggregations