Loading pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ <!-- Añadir versión de la librería del tipo de vista elegida (elasticsearch/postgresql) --> <redmic.view-lib.version>0.9.0</redmic.view-lib.version> <redmic.time-series-lib.version>0.1.0</redmic.time-series-lib.version> <redmic.time-series-lib.version>0.2.0</redmic.time-series-lib.version> <!-- Versions of the OTHERS library used in the children --> <ma.glasnost.orika.core.version>1.5.2</ma.glasnost.orika.core.version> Loading time-series-view/src/main/java/es/redmic/timeseriesview/converter/WindRoseDataConverter.java +10 −2 Original line number Diff line number Diff line Loading @@ -37,9 +37,17 @@ public class WindRoseDataConverter extends CustomConverter<Aggregations, WindRos partitionNumber = (Integer) mappingContext.getProperty("partitionNumber"); System.out.println(source.getAttributes().toString()); Integer count = (Integer) ElasticSearchUtils.getMapValue(source.getAttributes(), "filter#dataDefinitionFilter").get("doc_count"); StatsDTO stats = (StatsDTO) ElasticSearchUtils.getStatsFromAggregation( ElasticSearchUtils.getMapValue(source.getAttributes(), "filter#dataDefinitionFilter"), "stats#speed_stats", StatsDTO.class); source.getAttributes(), "stats_bucket#stats-buckets", StatsDTO.class); // Sobrescribe count para tener en cuenta todos los datos stats.setCount(count); List<Map<String, Object>> values = (List<Map<String, Object>>) (ElasticSearchUtils.getMapValue(source.getAttributes(), "date_histogram#avg_values_by_interval")) Loading time-series-view/src/main/java/es/redmic/timeseriesview/repository/WindRoseESRepository.java +6 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ import org.elasticsearch.search.aggregations.AggregationBuilder; import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.aggregations.BaseAggregationBuilder; import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorBuilders; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; Loading Loading @@ -69,9 +70,12 @@ public class WindRoseESRepository extends RTimeSeriesESRepository<TimeSeries, Da TermsQueryBuilder speedTermQuery = QueryBuilders.termsQuery("dataDefinition", speedDataDefinitions); // Se consultan las estadísticas para crear los límites aggBuilders.add(PipelineAggregatorBuilders.statsBucket("stats-buckets", "avg_values_by_interval>speedDataDefinitionFilter>avg_speed")); // Se consulta el número de elementos total para las estadísticas aggBuilders.add(AggregationBuilders.filter("dataDefinitionFilter", speedTermQuery) .subAggregation(AggregationBuilders.stats("speed_stats").field(defaultField))); .subAggregation(AggregationBuilders.count("speed_count").field(defaultField))); // Desde el cliente se envía en ms y aquí se pasa a seg int timeInterval = (int) (Long.parseLong(aggs.get(2).getTerm()) / 1000); Loading time-series-view/src/test/resources/data/windrose/windRoseResult16Sectors6Splits.json +2 −2 Original line number Diff line number Diff line Loading @@ -232,7 +232,7 @@ "min": 0.0, "max": 25.3, "count": 1211, "sum": 10344.25, "avg": 8.542 "sum": 6083.883, "avg": 8.766 } } No newline at end of file time-series-view/src/test/resources/data/windrose/windRoseResult36Sectors10Splits.json +2 −2 Original line number Diff line number Diff line Loading @@ -792,7 +792,7 @@ "min": 0.0, "max": 25.3, "count": 1211, "sum": 10344.25, "avg": 8.542 "sum": 6083.883, "avg": 8.766 } } No newline at end of file Loading
pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ <!-- Añadir versión de la librería del tipo de vista elegida (elasticsearch/postgresql) --> <redmic.view-lib.version>0.9.0</redmic.view-lib.version> <redmic.time-series-lib.version>0.1.0</redmic.time-series-lib.version> <redmic.time-series-lib.version>0.2.0</redmic.time-series-lib.version> <!-- Versions of the OTHERS library used in the children --> <ma.glasnost.orika.core.version>1.5.2</ma.glasnost.orika.core.version> Loading
time-series-view/src/main/java/es/redmic/timeseriesview/converter/WindRoseDataConverter.java +10 −2 Original line number Diff line number Diff line Loading @@ -37,9 +37,17 @@ public class WindRoseDataConverter extends CustomConverter<Aggregations, WindRos partitionNumber = (Integer) mappingContext.getProperty("partitionNumber"); System.out.println(source.getAttributes().toString()); Integer count = (Integer) ElasticSearchUtils.getMapValue(source.getAttributes(), "filter#dataDefinitionFilter").get("doc_count"); StatsDTO stats = (StatsDTO) ElasticSearchUtils.getStatsFromAggregation( ElasticSearchUtils.getMapValue(source.getAttributes(), "filter#dataDefinitionFilter"), "stats#speed_stats", StatsDTO.class); source.getAttributes(), "stats_bucket#stats-buckets", StatsDTO.class); // Sobrescribe count para tener en cuenta todos los datos stats.setCount(count); List<Map<String, Object>> values = (List<Map<String, Object>>) (ElasticSearchUtils.getMapValue(source.getAttributes(), "date_histogram#avg_values_by_interval")) Loading
time-series-view/src/main/java/es/redmic/timeseriesview/repository/WindRoseESRepository.java +6 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ import org.elasticsearch.search.aggregations.AggregationBuilder; import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.aggregations.BaseAggregationBuilder; import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval; import org.elasticsearch.search.aggregations.pipeline.PipelineAggregatorBuilders; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; Loading Loading @@ -69,9 +70,12 @@ public class WindRoseESRepository extends RTimeSeriesESRepository<TimeSeries, Da TermsQueryBuilder speedTermQuery = QueryBuilders.termsQuery("dataDefinition", speedDataDefinitions); // Se consultan las estadísticas para crear los límites aggBuilders.add(PipelineAggregatorBuilders.statsBucket("stats-buckets", "avg_values_by_interval>speedDataDefinitionFilter>avg_speed")); // Se consulta el número de elementos total para las estadísticas aggBuilders.add(AggregationBuilders.filter("dataDefinitionFilter", speedTermQuery) .subAggregation(AggregationBuilders.stats("speed_stats").field(defaultField))); .subAggregation(AggregationBuilders.count("speed_count").field(defaultField))); // Desde el cliente se envía en ms y aquí se pasa a seg int timeInterval = (int) (Long.parseLong(aggs.get(2).getTerm()) / 1000); Loading
time-series-view/src/test/resources/data/windrose/windRoseResult16Sectors6Splits.json +2 −2 Original line number Diff line number Diff line Loading @@ -232,7 +232,7 @@ "min": 0.0, "max": 25.3, "count": 1211, "sum": 10344.25, "avg": 8.542 "sum": 6083.883, "avg": 8.766 } } No newline at end of file
time-series-view/src/test/resources/data/windrose/windRoseResult36Sectors10Splits.json +2 −2 Original line number Diff line number Diff line Loading @@ -792,7 +792,7 @@ "min": 0.0, "max": 25.3, "count": 1211, "sum": 10344.25, "avg": 8.542 "sum": 6083.883, "avg": 8.766 } } No newline at end of file