cleaned some code, redundant tasks and old code removed

#2
by RatanPrakash - opened
.gitattributes CHANGED
@@ -1,35 +1,36 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Finalist.mp4 filter=lfs diff=lfs merge=lfs -text
.gitignore DELETED
@@ -1,2 +0,0 @@
1
- .venv/
2
- __pychache__/
 
 
 
CedarvilleCursive-Regular.ttf ADDED
Binary file (63.8 kB). View file
 
Finalist.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8aba840777e54c53a3486b5fb65d6fe3a8afee27103482b6fcdaa2d2f91d2a3d
3
+ size 9179650
README.md CHANGED
@@ -1,13 +1,12 @@
1
  ---
2
- title: Energy Time Series Analysis
3
- emoji:
4
- colorFrom: pink
5
  colorTo: red
6
  sdk: streamlit
7
- sdk_version: 1.42.2
8
  app_file: app.py
9
  pinned: false
10
- short_description: Time series energy models for the DATA CELLAR Project
11
  ---
12
 
13
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Smbhav
3
+ emoji: 🐠
4
+ colorFrom: blue
5
  colorTo: red
6
  sdk: streamlit
7
+ sdk_version: 1.38.0
8
  app_file: app.py
9
  pinned: false
 
10
  ---
11
 
12
  Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
aman.jpg ADDED
anandimg.jpg ADDED
app.py CHANGED
@@ -1,102 +1,377 @@
1
  import streamlit as st
2
- import json
 
 
 
3
  import pandas as pd
4
- import plotly.express as px
5
- import requests
6
- from datetime import datetime
7
- import plotly.graph_objects as go
8
  import os
9
- import logging
10
-
11
-
12
-
13
-
14
- # Configure the main page
15
- st.set_page_config(
16
- page_title="Energy Data Analysis Dashboard",
17
- page_icon="",
18
- layout="wide",
19
- initial_sidebar_state="expanded"
20
- )
21
-
22
- DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN')
23
- #DEFAULT_TOKEN = 'p2s8X9qL4zF7vN3mK6tR1bY5cA0wE3hJ'
24
- print(DEFAULT_TOKEN)
25
- logger = logging.getLogger("Data cellar demo")
26
-
27
- logger.info(f"token : {DEFAULT_TOKEN}")
28
-
29
- # Initialize session state variables
30
- if 'api_token' not in st.session_state:
31
- st.session_state.api_token = DEFAULT_TOKEN
32
- if 'current_file' not in st.session_state:
33
- st.session_state.current_file = None
34
- if 'json_data' not in st.session_state:
35
- st.session_state.json_data = None
36
- if 'api_response' not in st.session_state:
37
- st.session_state.api_response = None
38
-
39
- # Sidebar configuration
40
- with st.sidebar:
41
- st.markdown("## API Configuration")
42
- api_token = st.text_input("API Token", value=st.session_state.api_token, type="password")
43
- if api_token:
44
- st.session_state.api_token = api_token
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
 
 
46
  st.markdown("""
47
- ## About
48
- This dashboard provides analysis of energy data through various services
49
- including NILM analysis, consumption and production forecasting.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  """)
51
 
52
- # Main page content
53
- st.title("Energy Data Analysis Dashboard")
 
 
 
 
 
 
 
 
 
 
 
54
 
55
- # Welcome message and service descriptions
56
- st.markdown("""
57
- Welcome to the Energy Data Analysis Dashboard! This platform provides comprehensive tools for analyzing energy consumption and production data.
 
58
 
59
- ### Available Services
60
 
61
- You can access the following services through the navigation menu on the left:
 
62
 
63
- #### 1. Energy Consumption Forecasting
64
- - **Short Term**: Predict energy consumption patterns in the near future
65
- - **Long Term**: Generate long-range consumption forecasts
 
66
 
67
- #### 2. Energy Production Analysis
68
- - **Short Term Production**: Forecast PV panel energy production
69
- - **NILM Analysis**: Non-intrusive load monitoring for detailed consumption breakdown
 
 
 
70
 
71
- #### 3. Advanced Analytics
72
- - **Anomaly Detection**: Identify unusual patterns in energy consumption
73
 
74
- ### Getting Started
 
75
 
76
- 1. Select a service from the navigation menu on the left
77
- 2. Upload your energy data file in JSON format
78
- 3. Configure your API token if needed
79
- 4. Run the analysis and explore the results
80
 
81
- Each service page provides specific visualizations and analytics tailored to your needs.
82
- """)
83
 
84
- # Add version info and additional resources in an expander
85
- with st.expander("Additional Information"):
86
- st.markdown("""
87
- ### Usage Tips
88
- - Ensure your data is in the correct JSON format
89
- - Keep your API token secure
90
- - Use the visualization tools to explore your data
91
- - Export results for further analysis
92
-
93
- ### Support
94
- For technical support or questions about the services, please contact your system administrator.
95
  """)
96
 
97
- # Footer
98
- st.markdown("""
99
- ---
100
- Made with ❤️ by LINKS Foundation
101
- """)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
+ from ultralytics import YOLO
3
+ import tensorflow as tf # Change this to import TensorFlow
4
+ import numpy as np
5
+ from PIL import Image, ImageOps, ImageDraw, ImageFont
6
  import pandas as pd
7
+ import time
8
+ from paddleocr import PaddleOCR, draw_ocr
9
+ import re
10
+ import dateparser
11
  import os
12
+ import matplotlib.pyplot as plt
13
+
14
+ # Initialize PaddleOCR model
15
+ ocr = PaddleOCR(use_angle_cls=True, lang='en')
16
+
17
+ # Team details
18
+ team_members = [
19
+ {"name": "Aman Deep", "image": "aman.jpg"}, # Replace with actual paths to images
20
+ {"name": "Nandini", "image": "myimage.jpg"},
21
+ {"name": "Abhay Sharma", "image": "gaurav.jpg"},
22
+ {"name": "Ratan Prakash Mishra", "image": "anandimg.jpg"}
23
+ ]
24
+
25
+ # Function to preprocess the images for the model
26
+ from PIL import Image
27
+ import numpy as np
28
+
29
+ def preprocess_image(image):
30
+ """
31
+ Preprocess the input image for model prediction.
32
+
33
+ Args:
34
+ image (PIL.Image): Input image in PIL format.
35
+
36
+ Returns:
37
+ np.ndarray: Preprocessed image array ready for prediction.
38
+ """
39
+ try:
40
+ # Resize image to match model input size
41
+ img = image.resize((128, 128), Image.LANCZOS) # Using LANCZOS filter for high-quality resizing
42
+
43
+ # Convert image to NumPy array
44
+ img_array = np.array(img)
45
+
46
+ # Check if the image is grayscale and convert to RGB if needed
47
+ if img_array.ndim == 2: # Grayscale image
48
+ img_array = np.stack([img_array] * 3, axis=-1) # Convert to 3-channel RGB
49
+ elif img_array.shape[2] == 1: # Single-channel image
50
+ img_array = np.concatenate([img_array, img_array, img_array], axis=-1) # Convert to RGB
51
+
52
+ # Normalize pixel values to [0, 1] range
53
+ img_array = img_array / 255.0
54
+
55
+ # Add batch dimension
56
+ img_array = np.expand_dims(img_array, axis=0) # Shape: (1, 128, 128, 3)
57
+
58
+ return img_array
59
+
60
+ except Exception as e:
61
+ print(f"Error processing image: {e}")
62
+ return None # Return None if there's an error
63
+
64
+
65
+ # Function to create a high-quality circular mask for an image
66
+ def make_image_circular1(img, size=(256, 256)):
67
+ img = img.resize(size, Image.LANCZOS)
68
+ mask = Image.new("L", size, 0)
69
+ draw = ImageDraw.Draw(mask)
70
+ draw.ellipse((0, 0) + size, fill=255)
71
+ output = ImageOps.fit(img, mask.size, centering=(0.5, 0.5))
72
+ output.putalpha(mask) # Apply the mask as transparency
73
+ return output
74
+
75
+
76
+ # Function to check if a file exists
77
+ def file_exists(file_path):
78
+ return os.path.isfile(file_path)
79
+
80
+ def make_image_circular(image):
81
+ # Create a circular mask
82
+ mask = Image.new("L", image.size, 0)
83
+ draw = ImageDraw.Draw(mask)
84
+ draw.ellipse((0, 0, image.size[0], image.size[1]), fill=255)
85
+
86
+ # Apply the mask to the image
87
+ circular_image = Image.new("RGB", image.size)
88
+ circular_image.paste(image.convert("RGBA"), (0, 0), mask)
89
+
90
+ return circular_image
91
+
92
+ # Function to extract dates from recognized text using regex
93
+ def extract_dates_with_dateparser(texts, result):
94
+ date_texts = []
95
+ date_boxes = []
96
+ date_scores = []
97
+
98
+ def is_potential_date(text):
99
+ valid_date_pattern = r'^(0[1-9]|[12][0-9]|3[01])[-/.]?(0[1-9]|1[0-2])[-/.]?(\d{2}|\d{4})$|' \
100
+ r'^(0[1-9]|[12][0-9]|3[01])[-/.]?[A-Za-z]{3}[-/.]?(\d{2}|\d{4})$|' \
101
+ r'^(0[1-9]|1[0-2])[-/.]?(\d{2}|\d{4})$|' \
102
+ r'^[A-Za-z]{3}[-/.]?(\d{2}|\d{4})$'
103
+ return bool(re.match(valid_date_pattern, text))
104
+
105
+ dates_found = []
106
+ for i, text in enumerate(texts):
107
+ if is_potential_date(text): # Only process texts that are potential dates
108
+ parsed_date = dateparser.parse(text, settings={'DATE_ORDER': 'DMY'})
109
+ if parsed_date:
110
+ dates_found.append(parsed_date.strftime('%Y-%m-%d')) # Store as 'YYYY-MM-DD'
111
+ date_texts.append(text) # Store the original text
112
+ date_boxes.append(result[0][i][0]) # Store the bounding box
113
+ date_scores.append(result[0][i][1][1]) # Store confidence score
114
+ return dates_found, date_texts, date_boxes, date_scores
115
+
116
+ # Function to display circular images in a matrix format
117
+ def display_images_in_grid(images, max_images_per_row=4):
118
+ num_images = len(images)
119
+ num_rows = (num_images + max_images_per_row - 1) // max_images_per_row # Calculate number of rows
120
+
121
+ for i in range(num_rows):
122
+ cols = st.columns(min(max_images_per_row, num_images - i * max_images_per_row))
123
+ for j, img in enumerate(images[i * max_images_per_row:(i + 1) * max_images_per_row]):
124
+ with cols[j]:
125
+ st.image(img, use_column_width=True)
126
+
127
+ # Function to display team members in circular format
128
+ def display_team_members(members, max_members_per_row=4):
129
+ num_members = len(members)
130
+ num_rows = (num_members + max_members_per_row - 1) // max_members_per_row # Calculate number of rows
131
+
132
+ for i in range(num_rows):
133
+ cols = st.columns(min(max_members_per_row, num_members - i * max_members_per_row))
134
+ for j, member in enumerate(members[i * max_members_per_row:(i + 1) * max_members_per_row]):
135
+ with cols[j]:
136
+ img = Image.open(member["image"]) # Load the image
137
+ circular_img = make_image_circular(img) # Convert to circular format
138
+ st.image(circular_img, use_column_width=True) # Display the circular image
139
+ st.write(member["name"]) # Display the name below the image
140
+
141
+ # Title and description
142
+ st.title("Amazon Smbhav")
143
+ # Team Details with links
144
+ st.sidebar.title("Amazon Smbhav")
145
+ st.sidebar.write("DELHI TECHNOLOGICAL UNIVERSITY")
146
+
147
+ # Navbar with task tabs
148
+ st.sidebar.title("Navigation")
149
+ st.sidebar.write("Team Name: sadhya")
150
+ app_mode = st.sidebar.selectbox("Choose the task", ["Welcome","Project Details", "Task 1","Team Details"])
151
+ if app_mode == "Welcome":
152
+ # Navigation Menu
153
+ st.write("# Welcome to Amazon Smbhav! 🎉")
154
+
155
+ # Example for adding a local video
156
+ video_file = open('Finalist.mp4', 'rb') # Replace with the path to your video file
157
+ video_bytes = video_file.read()
158
+ # Embed the video using st.video()
159
+ st.video(video_bytes)
160
+
161
+ # Add a welcome image
162
+ welcome_image = Image.open("grid_banner.jpg") # Replace with the path to your welcome image
163
+ st.image(welcome_image, use_column_width=True) # Display the welcome image
164
 
165
+ elif app_mode=="Project Details":
166
  st.markdown("""
167
+ ## Navigation
168
+ - [Project Overview](#project-overview)
169
+ - [Proposal Round](#proposal-round)
170
+ - [Problem Statement](#problem-statement)
171
+ - [Proposed Solution](#proposed-solution)
172
+ """)
173
+ # Project Overview
174
+ st.write("## Project Overview:")
175
+ st.write("""
176
+ 1. **OCR to Extract Details** (20%):
177
+ - Use OCR to read brand details, pack size, brand name, etc.
178
+ - Train the model to read details from various products, including FMCG, OTC items, health supplements, personal care, and household items.
179
+
180
+ 2. **Using OCR for Expiry Date Details** (10%):
181
+ - Validate expiry dates using OCR to read expiry and MRP details printed on items.
182
+
183
+ 3. **Image Recognition for Brand Recognition and Counting** (30%):
184
+ - Use machine learning to recognize brands and count product quantities from images.
185
+
186
+ 4. **Detecting Freshness of Fresh Produce** (40%):
187
+ - Assess the freshness of fruits and vegetables by analyzing various visual cues and patterns.
188
+ """)
189
+
190
+ st.write("""
191
+ Our project aims to leverage OCR and image recognition to enhance product packaging analysis and freshness detection.
192
  """)
193
 
194
+ # Proposal Round
195
+ st.write("## Proposal Round:")
196
+ st.write("""
197
+ **Format:** Use Case Submission & Code Review
198
+ - Selected teams will submit detailed use case scenarios they plan to solve.
199
+ - The submission should include a proposal outlining their approach and the code developed so far.
200
+ - The GRID team will provide a set of images for testing the model.
201
+ - Since this is an elimination stage, participants are encouraged to submit a video simulation of their solution on the image set provided to them, ensuring they can clearly articulate what they have solved.
202
+ - Teams working on detecting the freshness of produce may choose any fresh fruit/vegetable/bread, etc., and submit the freshness index based on the model.
203
+ - The video will help demonstrate the effectiveness of their approach and provide a visual representation of their solution.
204
+
205
+ Teams with the most comprehensive and innovative proposals will proceed to the final stage.
206
+ """)
207
 
208
+ # Problem Statement
209
+ st.write("## Problem Statement:")
210
+ st.write("""
211
+ In today’s fast-paced retail environment, ensuring product quality and freshness is crucial for customer satisfaction. The Amazon Sambhav Challenge aims to address this issue by leveraging technology to enhance product packaging analysis and freshness detection.
212
 
213
+ Traditional methods of checking freshness often involve manual inspection, which can be time-consuming and prone to human error. Furthermore, with the increasing variety of products available, a more automated and reliable solution is needed to streamline this process.
214
 
215
+ Our project focuses on developing an advanced system that utilizes Optical Character Recognition (OCR) and image recognition techniques to automate the extraction of product details from packaging. This will not only improve accuracy but also increase efficiency in assessing product freshness.
216
+ """)
217
 
218
+ # Proposed Solution
219
+ st.write("## Proposed Solution:")
220
+ st.write("""
221
+ Our solution is designed to tackle the problem by implementing the following key components:
222
 
223
+ ### 1. OCR for Product Detail Extraction
224
+ We will use OCR technology to accurately extract critical information from product packaging, including:
225
+ - Brand name
226
+ - Pack size
227
+ - Expiry date
228
+ - MRP details
229
 
230
+ This will allow for real-time analysis of product information, ensuring that customers receive accurate data about their purchases.
 
231
 
232
+ ### 2. Freshness Detection using Image Recognition
233
+ In conjunction with OCR, our model will utilize image recognition to assess the freshness of fruits, vegetables, and other perishable items. The model will be trained to classify products based on their appearance, detecting signs of spoilage and degradation.
234
 
235
+ ### 3. Data Validation and Reporting
236
+ Our system will not only extract data but also validate expiry dates against the current date to ensure product safety. The results will be compiled into a user-friendly report that can be easily interpreted by retail staff.
 
 
237
 
238
+ ### 4. Video Simulation
239
+ To effectively demonstrate our solution, we will create a video simulation showcasing the functionality of our system. This will include real-time examples of how our model processes images and extracts relevant information.
240
 
241
+ ### 5. Proposal Submission
242
+ As part of the proposal round, we will provide a comprehensive submission outlining our approach, methodology, and the code developed thus far. This submission will highlight the effectiveness of our solution and our readiness to proceed to the final stage of the challenge.
243
+
244
+ Our team is committed to delivering a robust solution that not only meets but exceeds the expectations of the Amazon Sambhav Challenge.
 
 
 
 
 
 
 
245
  """)
246
 
247
+ elif app_mode == "Team Details":
248
+ st.write("## Meet Our Team:")
249
+ display_team_members(team_members)
250
+ st.write("Delhi Technological University")
251
+
252
+ elif app_mode == "Task 1":
253
+ st.write("## Task 1: 🖼️ OCR to Extract Details 📄")
254
+ st.write("Using OCR to extract details from product packaging material, including brand name and pack size.")
255
+
256
+ # File uploader for images (supports multiple files)
257
+ uploaded_files = st.file_uploader("Upload images of products", type=["jpeg", "png", "jpg"], accept_multiple_files=True)
258
+
259
+ if uploaded_files:
260
+ st.write("### Uploaded Images in Circular Format:")
261
+ circular_images = []
262
+
263
+ for uploaded_file in uploaded_files:
264
+ img = Image.open(uploaded_file)
265
+ circular_img = make_image_circular(img) # Create circular images
266
+ circular_images.append(circular_img)
267
+
268
+ # Display the circular images in a matrix/grid format
269
+ display_images_in_grid(circular_images, max_images_per_row=4)
270
+
271
+ # Function to simulate loading process with a progress bar
272
+ def simulate_progress():
273
+ progress_bar = st.progress(0)
274
+ for percent_complete in range(100):
275
+ time.sleep(0.02)
276
+ progress_bar.progress(percent_complete + 1)
277
+ # Function to remove gibberish using regex (removes non-alphanumeric chars, filters out very short text)
278
+ def clean_text(text):
279
+ # Keep text with letters, digits, and spaces, and remove short/irrelevant text
280
+ return re.sub(r'[^a-zA-Z0-9\s]', '', text).strip()
281
+
282
+ # Function to extract the most prominent text (product name) and other details
283
+ def extract_product_info(results):
284
+ product_name = ""
285
+ product_details = ""
286
+ largest_text_size = 0
287
+
288
+ for line in results:
289
+ for box in line:
290
+ text, confidence = box[1][0], box[1][1]
291
+ text_size = box[0][2][1] - box[0][0][1] # Calculate height of the text box
292
+
293
+ # Clean the text to avoid gibberish
294
+ clean_text_line = clean_text(text)
295
+
296
+ if confidence > 0.7 and len(clean_text_line) > 2: # Only consider confident, meaningful text
297
+ if text_size > largest_text_size: # Assume the largest text is the product name
298
+ largest_text_size = text_size
299
+ product_name = clean_text_line
300
+ else:
301
+ product_details += clean_text_line + " "
302
+
303
+ return product_name, product_details.strip()
304
+ if st.button("Start Analysis"):
305
+ simulate_progress()
306
+ # Loop through each uploaded image and process them
307
+ for uploaded_image in uploaded_files:
308
+ # Load the uploaded image
309
+ image = Image.open(uploaded_image)
310
+ # st.image(image, caption=f'Uploaded Image: {uploaded_image.name}', use_column_width=True)
311
+
312
+ # Convert image to numpy array for OCR processing
313
+ img_array = np.array(image)
314
+
315
+ # Perform OCR on the image
316
+ st.write(f"Extracting details from {uploaded_image.name}...")
317
+ result = ocr.ocr(img_array, cls=True)
318
+
319
+ # Process the OCR result to extract product name and properties
320
+ product_name, product_details = extract_product_info(result)
321
+
322
+ # UI display for single image product details
323
+ st.markdown("---")
324
+ st.markdown(f"### **Product Name:** `{product_name}`")
325
+ st.write(f"**Product Properties:** {product_details}")
326
+ st.markdown("---")
327
+
328
+ else:
329
+ st.write("Please upload images to extract product details.")
330
+
331
+
332
+
333
+ def make_image_circular1(image):
334
+ # Create a circular mask
335
+ mask = Image.new("L", image.size, 0)
336
+ draw = ImageDraw.Draw(mask)
337
+ draw.ellipse((0, 0, image.size[0], image.size[1]), fill=255)
338
+
339
+ # Apply the mask to the image
340
+ circular_image = Image.new("RGB", image.size)
341
+ circular_image.paste(image.convert("RGBA"), (0, 0), mask)
342
+
343
+ return circular_image
344
+
345
+ def display_images_in_grid1(images, max_images_per_row=4):
346
+ rows = (len(images) + max_images_per_row - 1) // max_images_per_row # Calculate number of rows needed
347
+
348
+ for i in range(0, len(images), max_images_per_row):
349
+ cols_to_show = images[i:i + max_images_per_row]
350
+
351
+ # Prepare to display in a grid format
352
+ cols = st.columns(max_images_per_row) # Create columns dynamically
353
+
354
+ for idx, img in enumerate(cols_to_show):
355
+ img = img.convert("RGB") # Ensure the image is in RGB mode
356
+
357
+ if idx < len(cols):
358
+ cols[idx].image(img, use_column_width=True)
359
 
360
+ # Footer with animation
361
+ st.markdown("""
362
+ <style>
363
+ @keyframes fade-in {
364
+ from { opacity: 0; }
365
+ to { opacity: 1;}
366
+ }
367
+ .footer {
368
+ text-align: center;
369
+ font-size: 1.1em;
370
+ animation: fade-in 2s;
371
+ padding-top: 2rem;
372
+ }
373
+ </style>
374
+ <div class="footer">
375
+ <p>© 2024 Amazon Smbhav Challenge. All rights reserved.</p>
376
+ </div>
377
+ """, unsafe_allow_html=True)
apple.png ADDED
fruit_freshness_model.h5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bd14a25aa5140b8b36a099e29aa9dcd67b33b237a6c1874a9cbcf74304ce839b
3
+ size 39727968
gaurav.jpg ADDED
grid_banner.jpg ADDED
myimage.jpg ADDED
pages/1_Short_Term_Consumption.py DELETED
@@ -1,123 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
-
7
- if 'api_token' not in st.session_state:
8
- st.session_state.api_token = os.getenv('NILM_API_TOKEN')
9
-
10
- page_id = 1
11
- if 'current_page' not in st.session_state:
12
- st.session_state.current_page = page_id
13
- elif st.session_state.current_page != page_id:
14
- # Clear API response when switching to this page
15
- if 'api_response' in st.session_state:
16
- st.session_state.api_response = None
17
- # Update current page
18
- st.session_state.current_page = page_id
19
-
20
- # Initialize session state variables
21
- if 'current_file' not in st.session_state:
22
- st.session_state.current_file = None
23
- if 'json_data' not in st.session_state:
24
- st.session_state.json_data = None
25
- if 'api_response' not in st.session_state:
26
- st.session_state.api_response = None
27
- if 'using_default_file' not in st.session_state:
28
- st.session_state.using_default_file = True
29
-
30
- st.title("Short Term Energy Consumption Forecasting")
31
-
32
- st.markdown("""
33
- This service provides short-term forecasting of energy consumption patterns.
34
- Upload your energy consumption data to generate predictions for the near future.
35
-
36
- ### Features
37
- - Hourly consumption forecasting
38
- - Interactive visualizations
39
- - Statistical analysis of predictions
40
- """)
41
-
42
- # Default file path
43
- default_file_path = "samples/1_short_term_consumption.json" # Adjust this path to your default file
44
-
45
- # File upload and processing
46
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
47
-
48
- # Load default file if no file is uploaded and using_default_file is True
49
- if uploaded_file is None and st.session_state.using_default_file:
50
- if os.path.exists(default_file_path):
51
- st.info(f"Using default file: {default_file_path}")
52
- with open(default_file_path, 'r') as f:
53
- file_contents = f.read()
54
- if st.session_state.current_file != file_contents:
55
- st.session_state.current_file = file_contents
56
- st.session_state.json_data = json.loads(file_contents)
57
- else:
58
- st.warning(f"Default file not found at: {default_file_path}")
59
- st.session_state.using_default_file = False
60
-
61
- # If a file is uploaded, process it
62
- if uploaded_file:
63
- st.session_state.using_default_file = False
64
- try:
65
- file_contents = uploaded_file.read()
66
- st.session_state.current_file = file_contents
67
- st.session_state.json_data = json.loads(file_contents)
68
- except Exception as e:
69
- st.error(f"Error processing file: {str(e)}")
70
-
71
- # Process and display data if available
72
- if st.session_state.json_data:
73
- try:
74
- dfs = load_and_process_data(st.session_state.json_data)
75
- if dfs:
76
- st.header("Input Data")
77
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
78
-
79
- with tabs[0]:
80
- for unit, df in dfs.items():
81
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
82
-
83
- with tabs[1]:
84
- st.json(st.session_state.json_data)
85
-
86
- with tabs[2]:
87
- display_statistics(dfs)
88
-
89
- if st.button("Generate Short Term Forecast"):
90
- if not st.session_state.api_token:
91
- st.error("Please enter your API token in the sidebar first.")
92
- else:
93
- with st.spinner("Generating forecast..."):
94
- st.session_state.api_response = call_api(
95
- st.session_state.current_file,
96
- st.session_state.api_token,
97
- "inference_consumption_short_term"
98
- )
99
- except Exception as e:
100
- st.error(f"Error processing data: {str(e)}")
101
-
102
- # Display API results
103
- if st.session_state.api_response:
104
- st.header("Forecast Results")
105
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
106
-
107
- with tabs[0]:
108
- response_dfs = load_and_process_data(
109
- st.session_state.api_response,
110
- input_data=st.session_state.json_data
111
- )
112
- if response_dfs:
113
- if 'Celsius' in response_dfs:
114
- del response_dfs['Celsius']
115
- for unit, df in response_dfs.items():
116
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
117
-
118
- with tabs[1]:
119
- st.json(st.session_state.api_response)
120
-
121
- with tabs[2]:
122
- if response_dfs:
123
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/2_Long_Term_Consumption.py DELETED
@@ -1,122 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
- if 'api_token' not in st.session_state:
7
- st.session_state.api_token = os.getenv('NILM_API_TOKEN')
8
-
9
- page_id = 2
10
- if 'current_page' not in st.session_state:
11
- st.session_state.current_page = page_id
12
- elif st.session_state.current_page != page_id:
13
- # Clear API response when switching to this page
14
- if 'api_response' in st.session_state:
15
- st.session_state.api_response = None
16
- # Update current page
17
- st.session_state.current_page = page_id
18
-
19
- # Initialize session state variables
20
- if 'current_file' not in st.session_state:
21
- st.session_state.current_file = None
22
- if 'json_data' not in st.session_state:
23
- st.session_state.json_data = None
24
- if 'api_response' not in st.session_state:
25
- st.session_state.api_response = None
26
- if 'using_default_file' not in st.session_state:
27
- st.session_state.using_default_file = True
28
-
29
- st.title("Long Term Energy Consumption Forecasting")
30
-
31
- st.markdown("""
32
- This service provides long-term forecasting of energy consumption patterns.
33
- Upload your historical consumption data to generate predictions for extended periods.
34
-
35
- ### Features
36
- - Hourly consumption forecasting
37
- - Interactive visualizations
38
- - Statistical analysis of predictions
39
- """)
40
-
41
- # Default file path
42
- default_file_path = "samples/2_long_term_consumption.json" # Adjust this path to your default file
43
-
44
- # File upload and processing
45
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
46
-
47
- # Load default file if no file is uploaded and using_default_file is True
48
- if uploaded_file is None and st.session_state.using_default_file:
49
- if os.path.exists(default_file_path):
50
- st.info(f"Using default file: {default_file_path}")
51
- with open(default_file_path, 'r') as f:
52
- file_contents = f.read()
53
- if st.session_state.current_file != file_contents:
54
- st.session_state.current_file = file_contents
55
- st.session_state.json_data = json.loads(file_contents)
56
- else:
57
- st.warning(f"Default file not found at: {default_file_path}")
58
- st.session_state.using_default_file = False
59
-
60
- # If a file is uploaded, process it
61
- if uploaded_file:
62
- st.session_state.using_default_file = False
63
- try:
64
- file_contents = uploaded_file.read()
65
- st.session_state.current_file = file_contents
66
- st.session_state.json_data = json.loads(file_contents)
67
- except Exception as e:
68
- st.error(f"Error processing file: {str(e)}")
69
-
70
- # Process and display data if available
71
- if st.session_state.json_data:
72
- try:
73
- dfs = load_and_process_data(st.session_state.json_data)
74
- if dfs:
75
- st.header("Input Data")
76
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
77
-
78
- with tabs[0]:
79
- for unit, df in dfs.items():
80
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
81
-
82
- with tabs[1]:
83
- st.json(st.session_state.json_data)
84
-
85
- with tabs[2]:
86
- display_statistics(dfs)
87
-
88
- if st.button("Generate Long Term Forecast"):
89
- if not st.session_state.api_token:
90
- st.error("Please enter your API token in the sidebar first.")
91
- else:
92
- with st.spinner("Generating long-term forecast..."):
93
- st.session_state.api_response = call_api(
94
- st.session_state.current_file,
95
- st.session_state.api_token,
96
- "inference_consumption_long_term"
97
- )
98
- except Exception as e:
99
- st.error(f"Error processing data: {str(e)}")
100
-
101
- # Display API results
102
- if st.session_state.api_response:
103
- st.header("Forecast Results")
104
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
105
-
106
- with tabs[0]:
107
- response_dfs = load_and_process_data(
108
- st.session_state.api_response,
109
- input_data=st.session_state.json_data
110
- )
111
- if response_dfs:
112
- if 'Celsius' in response_dfs:
113
- del response_dfs['Celsius']
114
- for unit, df in response_dfs.items():
115
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
116
-
117
- with tabs[1]:
118
- st.json(st.session_state.api_response)
119
-
120
- with tabs[2]:
121
- if response_dfs:
122
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/3_Short_Term_Production.py DELETED
@@ -1,121 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
- if 'api_token' not in st.session_state:
7
- st.session_state.api_token =os.getenv('NILM_API_TOKEN')
8
-
9
- page_id = 3
10
- if 'current_page' not in st.session_state:
11
- st.session_state.current_page = page_id
12
- elif st.session_state.current_page != page_id:
13
- # Clear API response when switching to this page
14
- if 'api_response' in st.session_state:
15
- st.session_state.api_response = None
16
- # Update current page
17
- st.session_state.current_page = page_id
18
-
19
- # Initialize session state variables
20
- if 'current_file' not in st.session_state:
21
- st.session_state.current_file = None
22
- if 'json_data' not in st.session_state:
23
- st.session_state.json_data = None
24
- if 'api_response' not in st.session_state:
25
- st.session_state.api_response = None
26
- if 'using_default_file' not in st.session_state:
27
- st.session_state.using_default_file = True
28
-
29
- st.title("Short Term Energy Production Forecasting")
30
-
31
- st.markdown("""
32
- This service provides short-term forecasting of energy production patterns, particularly suited for PV panel systems.
33
-
34
- ### Features
35
- - Short-term production forecasting
36
- - Weather-aware predictions
37
- - Interactive visualizations
38
- - Statistical analysis of predictions
39
- """)
40
-
41
- # Default file path
42
- default_file_path = "samples/3_short_term_production.json" # Adjust this path to your default file
43
-
44
- # File upload and processing
45
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
46
-
47
- # Load default file if no file is uploaded and using_default_file is True
48
- if uploaded_file is None and st.session_state.using_default_file:
49
- if os.path.exists(default_file_path):
50
- st.info(f"Using default file: {default_file_path}")
51
- with open(default_file_path, 'r') as f:
52
- file_contents = f.read()
53
- if st.session_state.current_file != file_contents:
54
- st.session_state.current_file = file_contents
55
- st.session_state.json_data = json.loads(file_contents)
56
- else:
57
- st.warning(f"Default file not found at: {default_file_path}")
58
- st.session_state.using_default_file = False
59
-
60
- # If a file is uploaded, process it
61
- if uploaded_file:
62
- st.session_state.using_default_file = False
63
- try:
64
- file_contents = uploaded_file.read()
65
- st.session_state.current_file = file_contents
66
- st.session_state.json_data = json.loads(file_contents)
67
- except Exception as e:
68
- st.error(f"Error processing file: {str(e)}")
69
-
70
- # Process and display data if available
71
- if st.session_state.json_data:
72
- try:
73
- dfs = load_and_process_data(st.session_state.json_data)
74
- if dfs:
75
- st.header("Input Data")
76
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
77
-
78
- with tabs[0]:
79
- for unit, df in dfs.items():
80
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
81
-
82
- with tabs[1]:
83
- st.json(st.session_state.json_data)
84
-
85
- with tabs[2]:
86
- display_statistics(dfs)
87
-
88
- if st.button("Generate Production Forecast"):
89
- if not st.session_state.api_token:
90
- st.error("Please enter your API token in the sidebar first.")
91
- else:
92
- with st.spinner("Generating production forecast..."):
93
- st.session_state.api_response = call_api(
94
- st.session_state.current_file,
95
- st.session_state.api_token,
96
- "inference_production_short_term"
97
- )
98
- except Exception as e:
99
- st.error(f"Error processing data: {str(e)}")
100
-
101
- # Display API results
102
- if st.session_state.api_response:
103
- st.header("Production Forecast Results")
104
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
105
-
106
- with tabs[0]:
107
- response_dfs = load_and_process_data(
108
- st.session_state.api_response,
109
- input_data=st.session_state.json_data
110
- )
111
- if response_dfs:
112
- for unit, df in response_dfs.items():
113
- if unit == "kWh":
114
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
115
-
116
- with tabs[1]:
117
- st.json(st.session_state.api_response)
118
-
119
- with tabs[2]:
120
- if response_dfs:
121
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/4_NILM_Analysis.py DELETED
@@ -1,124 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import os
4
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
5
-
6
- if 'api_token' not in st.session_state:
7
- st.session_state.api_token = DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN')
8
-
9
- page_id = 4
10
- if 'current_page' not in st.session_state:
11
- st.session_state.current_page = page_id
12
- elif st.session_state.current_page != page_id:
13
- # Clear API response when switching to this page
14
- if 'api_response' in st.session_state:
15
- st.session_state.api_response = None
16
- # Update current page
17
- st.session_state.current_page = page_id
18
-
19
- # Initialize session state variables
20
- if 'current_file' not in st.session_state:
21
- st.session_state.current_file = None
22
- if 'json_data' not in st.session_state:
23
- st.session_state.json_data = None
24
- if 'api_response' not in st.session_state:
25
- st.session_state.api_response = None
26
- if 'using_default_file' not in st.session_state:
27
- st.session_state.using_default_file = True
28
-
29
- st.title("Non-Intrusive Load Monitoring (NILM) Analysis")
30
-
31
- st.markdown("""
32
- This service provides detailed breakdown of energy consumption by analyzing aggregate power measurements.
33
-
34
- ### Features
35
- - Appliance-level energy consumption breakdown
36
- - Load pattern identification
37
- - Device usage analysis
38
- - Detailed consumption insights
39
- """)
40
-
41
- # Default file path
42
- default_file_path = "samples/4_NILM.json" # Adjust this path to your default file
43
-
44
- # File upload and processing
45
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
46
-
47
- # Load default file if no file is uploaded and using_default_file is True
48
- if uploaded_file is None and st.session_state.using_default_file:
49
- if os.path.exists(default_file_path):
50
- st.info(f"Using default file: {default_file_path}")
51
- with open(default_file_path, 'r') as f:
52
- file_contents = f.read()
53
- if st.session_state.current_file != file_contents:
54
- st.session_state.current_file = file_contents
55
- st.session_state.json_data = json.loads(file_contents)
56
- else:
57
- st.warning(f"Default file not found at: {default_file_path}")
58
- st.session_state.using_default_file = False
59
-
60
- # If a file is uploaded, process it
61
- if uploaded_file:
62
- st.session_state.using_default_file = False
63
- try:
64
- file_contents = uploaded_file.read()
65
- st.session_state.current_file = file_contents
66
- st.session_state.json_data = json.loads(file_contents)
67
- except Exception as e:
68
- st.error(f"Error processing file: {str(e)}")
69
-
70
- # Process and display data if available
71
- if st.session_state.json_data:
72
- try:
73
- dfs = load_and_process_data(st.session_state.json_data)
74
- if dfs:
75
- st.header("Input Data")
76
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
77
-
78
- with tabs[0]:
79
- for unit, df in dfs.items():
80
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
81
-
82
- with tabs[1]:
83
- st.json(st.session_state.json_data)
84
-
85
- with tabs[2]:
86
- display_statistics(dfs)
87
-
88
- if st.button("Run NILM Analysis"):
89
- if not st.session_state.api_token:
90
- st.error("Please enter your API token in the sidebar first.")
91
- else:
92
- with st.spinner("Performing NILM analysis..."):
93
- st.session_state.api_response = call_api(
94
- st.session_state.current_file,
95
- st.session_state.api_token,
96
- "inference_nilm"
97
- )
98
- except Exception as e:
99
- st.error(f"Error processing data: {str(e)}")
100
-
101
- # Display API results
102
- if st.session_state.api_response:
103
- st.header("NILM Analysis Results")
104
- tabs = st.tabs(["Visualization", "Raw JSON", "Statistics"])
105
-
106
- with tabs[0]:
107
- response_dfs = load_and_process_data(
108
- st.session_state.api_response,
109
- input_data=st.session_state.json_data
110
- )
111
- if response_dfs:
112
- for unit, df in response_dfs.items():
113
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
114
-
115
- # Add appliance-specific visualizations
116
- st.subheader("Appliance-Level Breakdown")
117
- # Additional NILM-specific visualizations could be added here
118
-
119
- with tabs[1]:
120
- st.json(st.session_state.api_response)
121
-
122
- with tabs[2]:
123
- if response_dfs:
124
- display_statistics(response_dfs)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/5_Anomaly_Detection_Consumption.py DELETED
@@ -1,158 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import pandas as pd
4
- import os
5
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
6
- import plotly.express as px
7
- import plotly.graph_objects as go
8
-
9
-
10
- if 'api_token' not in st.session_state:
11
- st.session_state.api_token = DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN')
12
-
13
- page_id = 5
14
- if 'current_page' not in st.session_state:
15
- st.session_state.current_page = page_id
16
- elif st.session_state.current_page != page_id:
17
- # Clear API response when switching to this page
18
- if 'api_response' in st.session_state:
19
- st.session_state.api_response = None
20
- # Update current page
21
- st.session_state.current_page = page_id
22
-
23
- # Initialize session state variables
24
- if 'current_file' not in st.session_state:
25
- st.session_state.current_file = None
26
- if 'json_data' not in st.session_state:
27
- st.session_state.json_data = None
28
- if 'api_response' not in st.session_state:
29
- st.session_state.api_response = None
30
- if 'using_default_file' not in st.session_state:
31
- st.session_state.using_default_file = True
32
-
33
- st.title("Energy Consumption Anomaly Detection")
34
-
35
- st.markdown("""
36
- This service analyzes energy consumption patterns to detect anomalies and unusual behavior in your data.
37
-
38
- ### Features
39
- - Real-time anomaly detection
40
- - Consumption irregularity identification
41
- - Interactive visualization of detected anomalies
42
- """)
43
-
44
- # Default file path
45
- default_file_path = "samples/5_anomaly_detection_consumption.json" # Adjust this path to your default file
46
-
47
- # File upload and processing
48
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
49
-
50
- # Load default file if no file is uploaded and using_default_file is True
51
- if uploaded_file is None and st.session_state.using_default_file:
52
- if os.path.exists(default_file_path):
53
- st.info(f"Using default file: {default_file_path}")
54
- with open(default_file_path, 'r') as f:
55
- file_contents = f.read()
56
- if st.session_state.current_file != file_contents:
57
- st.session_state.current_file = file_contents
58
- st.session_state.json_data = json.loads(file_contents)
59
- else:
60
- st.warning(f"Default file not found at: {default_file_path}")
61
- st.session_state.using_default_file = False
62
-
63
- # If a file is uploaded, process it
64
- if uploaded_file:
65
- st.session_state.using_default_file = False
66
- try:
67
- file_contents = uploaded_file.read()
68
- st.session_state.current_file = file_contents
69
- st.session_state.json_data = json.loads(file_contents)
70
- except Exception as e:
71
- st.error(f"Error processing file: {str(e)}")
72
-
73
- # Process and display data if available
74
- if st.session_state.json_data:
75
- try:
76
- dfs = load_and_process_data(st.session_state.json_data)
77
- if dfs:
78
- st.header("Input Data Analysis")
79
- tabs = st.tabs(["Visualization", "Statistics", "Raw Data"])
80
-
81
- with tabs[0]:
82
- for unit, df in dfs.items():
83
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
84
-
85
- # Show basic statistical analysis
86
- col1, col2, col3 = st.columns(3)
87
- with col1:
88
- st.metric("Average Consumption",
89
- f"{df['datacellar:value'].mean():.2f} {unit}")
90
- with col2:
91
- st.metric("Standard Deviation",
92
- f"{df['datacellar:value'].std():.2f} {unit}")
93
- with col3:
94
- st.metric("Total Samples",
95
- len(df))
96
-
97
- with tabs[1]:
98
- display_statistics(dfs)
99
-
100
- with tabs[2]:
101
- st.json(st.session_state.json_data)
102
-
103
- # Add analysis options
104
- st.subheader("Anomaly Detection")
105
- col1, col2 = st.columns(2)
106
- with col1:
107
- if st.button("Detect Anomalies", key="detect_button"):
108
- if not st.session_state.api_token:
109
- st.error("Please enter your API token in the sidebar first.")
110
- else:
111
- with st.spinner("Analyzing consumption patterns..."):
112
- # Add sensitivity and window_size to the request
113
- modified_data = st.session_state.json_data.copy()
114
-
115
- # Convert back to JSON and call API
116
- modified_content = json.dumps(modified_data).encode('utf-8')
117
- st.session_state.api_response = call_api(
118
- modified_content,
119
- st.session_state.api_token,
120
- "inference_consumption_ad"
121
- )
122
- except Exception as e:
123
- st.error(f"Error processing data: {str(e)}")
124
-
125
- # Display API results
126
- if st.session_state.api_response:
127
- st.header("Anomaly Detection Results")
128
- tabs = st.tabs(["Anomaly Visualization", "Raw Results"])
129
-
130
- with tabs[0]:
131
- response_dfs = load_and_process_data(
132
- st.session_state.api_response,
133
- input_data=st.session_state.json_data
134
- )
135
- if response_dfs:
136
- anomalies = response_dfs['boolean']
137
- anomalies = anomalies[anomalies['datacellar:value']==True]
138
-
139
- del response_dfs['boolean']
140
- for unit, df in response_dfs.items():
141
- fig = create_time_series_plot(df, unit, service_type="Anomaly Detection")
142
- # Get df values for anomalies
143
- anomaly_df = df.iloc[anomalies['datacellar:timeStamp'].index]
144
- fig.add_trace(go.Scatter(
145
- x=anomaly_df['datacellar:timeStamp'],
146
- y=anomaly_df['datacellar:value'],
147
- mode='markers',
148
- marker=dict(color='red'),
149
- name='Anomalies'
150
- ))
151
- # Create visualization with highlighted anomalies
152
- st.plotly_chart(
153
- fig,
154
- use_container_width=True
155
- )
156
-
157
- with tabs[1]:
158
- st.json(st.session_state.api_response)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
pages/6_Anomaly_Detection_Production.py DELETED
@@ -1,161 +0,0 @@
1
- import streamlit as st
2
- import json
3
- import pandas as pd
4
- import os
5
- from utils import load_and_process_data, create_time_series_plot, display_statistics, call_api
6
- import plotly.express as px
7
- import plotly.graph_objects as go
8
-
9
-
10
- if 'api_token' not in st.session_state:
11
- st.session_state.api_token = os.getenv('NILM_API_TOKEN')
12
-
13
- page_id = 6
14
- if 'current_page' not in st.session_state:
15
- st.session_state.current_page = page_id
16
- elif st.session_state.current_page != page_id:
17
- # Clear API response when switching to this page
18
- if 'api_response' in st.session_state:
19
- st.session_state.api_response = None
20
- # Update current page
21
- st.session_state.current_page = page_id
22
-
23
- # Initialize session state variables
24
- if 'current_file' not in st.session_state:
25
- st.session_state.current_file = None
26
- if 'json_data' not in st.session_state:
27
- st.session_state.json_data = None
28
- if 'api_response' not in st.session_state:
29
- st.session_state.api_response = None
30
- if 'using_default_file' not in st.session_state:
31
- st.session_state.using_default_file = True
32
-
33
- st.title("Energy Production Anomaly Detection")
34
-
35
- st.markdown("""
36
- This service analyzes energy production patterns to detect anomalies and unusual behavior in your data.
37
-
38
- ### Features
39
- - Real-time anomaly detection
40
- - Production irregularity identification
41
- - Interactive visualization of detected anomalies
42
- """)
43
-
44
- # Default file path
45
- default_file_path = "samples/6_anomaly_detection_production.json" # Adjust this path to your default file
46
-
47
- # File upload and processing
48
- uploaded_file = st.file_uploader("Upload JSON file (or use default)", type=['json'])
49
-
50
- # Load default file if no file is uploaded and using_default_file is True
51
- if uploaded_file is None and st.session_state.using_default_file:
52
- if os.path.exists(default_file_path):
53
- st.info(f"Using default file: {default_file_path}")
54
- with open(default_file_path, 'r') as f:
55
- file_contents = f.read()
56
- if st.session_state.current_file != file_contents:
57
- st.session_state.current_file = file_contents
58
- st.session_state.json_data = json.loads(file_contents)
59
- else:
60
- st.warning(f"Default file not found at: {default_file_path}")
61
- st.session_state.using_default_file = False
62
-
63
- # If a file is uploaded, process it
64
- if uploaded_file:
65
- st.session_state.using_default_file = False
66
- try:
67
- file_contents = uploaded_file.read()
68
- st.session_state.current_file = file_contents
69
- st.session_state.json_data = json.loads(file_contents)
70
- except Exception as e:
71
- st.error(f"Error processing file: {str(e)}")
72
-
73
- # Process and display data if available
74
- if st.session_state.json_data:
75
- try:
76
- dfs = load_and_process_data(st.session_state.json_data)
77
- if dfs:
78
- st.header("Input Data Analysis")
79
- tabs = st.tabs(["Visualization", "Statistics", "Raw Data"])
80
-
81
- with tabs[0]:
82
- for unit, df in dfs.items():
83
- st.plotly_chart(create_time_series_plot(df, unit), use_container_width=True)
84
-
85
- # Show basic statistical analysis
86
- col1, col2, col3 = st.columns(3)
87
- with col1:
88
- st.metric("Average Production",
89
- f"{df['datacellar:value'].mean():.2f} {unit}")
90
- with col2:
91
- st.metric("Standard Deviation",
92
- f"{df['datacellar:value'].std():.2f} {unit}")
93
- with col3:
94
- st.metric("Total Samples",
95
- len(df))
96
-
97
- with tabs[1]:
98
- display_statistics(dfs)
99
-
100
- with tabs[2]:
101
- st.json(st.session_state.json_data)
102
-
103
- # Add analysis options
104
- st.subheader("Anomaly Detection")
105
- col1, col2 = st.columns(2)
106
- with col1:
107
- if st.button("Detect Anomalies", key="detect_button"):
108
- if not st.session_state.api_token:
109
- st.error("Please enter your API token in the sidebar first.")
110
- else:
111
- with st.spinner("Analyzing production patterns..."):
112
- # Add sensitivity and window_size to the request
113
- modified_data = st.session_state.json_data.copy()
114
-
115
- # Convert back to JSON and call API
116
- modified_content = json.dumps(modified_data).encode('utf-8')
117
- st.session_state.api_response = call_api(
118
- modified_content,
119
- st.session_state.api_token,
120
- "inference_production_ad"
121
- )
122
-
123
- except Exception as e:
124
- st.error(f"Error processing data: {str(e)}")
125
-
126
- # Display API results
127
- if st.session_state.api_response:
128
- st.header("Anomaly Detection Results")
129
- tabs = st.tabs(["Anomaly Visualization", "Raw Results"])
130
-
131
- with tabs[0]:
132
- response_dfs = load_and_process_data(
133
- st.session_state.api_response,
134
- input_data=st.session_state.json_data
135
- )
136
- if response_dfs:
137
- anomalies = response_dfs['boolean']
138
- anomalies = anomalies[anomalies['datacellar:value']==True]
139
-
140
- del response_dfs['boolean']
141
- for unit, df in response_dfs.items():
142
- fig = create_time_series_plot(df, unit, service_type="Anomaly Detection")
143
- # Get df values for anomalies
144
- anomaly_df = df.iloc[anomalies['datacellar:timeStamp'].index]
145
-
146
- fig.add_trace(go.Scatter(
147
- x=anomaly_df['datacellar:timeStamp'],
148
- y=anomaly_df['datacellar:value'],
149
- mode='markers',
150
- marker=dict(color='red'),
151
- name='Anomalies'
152
- ))
153
-
154
- # Create visualization with highlighted anomalies
155
- st.plotly_chart(
156
- fig,
157
- use_container_width=True
158
- )
159
-
160
- with tabs[1]:
161
- st.json(st.session_state.api_response)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
requirements.txt CHANGED
@@ -1,5 +1,10 @@
1
- streamlit>=1.28.0
2
- pandas>=2.1.0
3
- plotly>=5.17.0
4
- requests>=2.31.0
5
- scikit-learn==1.0.2
 
 
 
 
 
 
1
+ streamlit
2
+ tensorflow
3
+ numpy
4
+ Pillow
5
+ pandas
6
+ PaddleOCR
7
+ matplotlib
8
+ dateparser
9
+ paddlepaddle
10
+ ultralytics
samples/1_short_term_consumption.json DELETED
@@ -1,792 +0,0 @@
1
- {
2
- "@context": {
3
- "datacellar": "http://datacellar.org/"
4
- },
5
- "@type": "datacellar:Dataset",
6
- "datacellar:name": "Short Term Energy Consumption Forecasting Data",
7
- "datacellar:description": "Short term energy consumption forecasting sample data",
8
- "datacellar:datasetSelfDescription": {
9
- "@type": "datacellar:DatasetDescription",
10
- "datacellar:datasetMetadataTypes": [
11
- "datacellar:GeoLocalizedDataset"
12
- ],
13
- "datacellar:datasetFields": [
14
- {
15
- "@type": "datacellar:DatasetField",
16
- "datacellar:datasetFieldID": 1,
17
- "datacellar:fieldName": "outdoorTemperature",
18
- "datacellar:description": "Temperature readings",
19
- "datacellar:type": {
20
- "@type": "datacellar:FieldType",
21
- "datacellar:unitText": "Celsius",
22
- "datacellar:averagable": true,
23
- "datacellar:summable": false,
24
- "datacellar:anonymizable": false
25
- }
26
- },
27
- {
28
- "@type": "datacellar:DatasetField",
29
- "datacellar:datasetFieldID": 2,
30
- "datacellar:fieldName": "consumedPower",
31
- "datacellar:description": "Power consumption readings",
32
- "datacellar:type": {
33
- "@type": "datacellar:FieldType",
34
- "datacellar:unitText": "kWh",
35
- "datacellar:averagable": true,
36
- "datacellar:summable": false,
37
- "datacellar:anonymizable": false
38
- }
39
- }
40
- ]
41
- },
42
- "datacellar:timeSeriesList": [
43
- {
44
- "@type": "datacellar:TimeSeries",
45
- "datacellar:datasetFieldID": 1,
46
- "datacellar:startDate": "2006-12-17 01:00:00",
47
- "datacellar:endDate": "2006-12-20 00:00:00",
48
- "datacellar:granularity": "1 hour",
49
- "datacellar:dataPoints": [
50
- {
51
- "@type": "datacellar:DataPoint",
52
- "datacellar:timeStamp": "2006-12-17 01:00:00",
53
- "datacellar:value": -8.335
54
- },
55
- {
56
- "@type": "datacellar:DataPoint",
57
- "datacellar:timeStamp": "2006-12-17 02:00:00",
58
- "datacellar:value": -17.78
59
- },
60
- {
61
- "@type": "datacellar:DataPoint",
62
- "datacellar:timeStamp": "2006-12-17 03:00:00",
63
- "datacellar:value": -17.78
64
- },
65
- {
66
- "@type": "datacellar:DataPoint",
67
- "datacellar:timeStamp": "2006-12-17 04:00:00",
68
- "datacellar:value": -17.78
69
- },
70
- {
71
- "@type": "datacellar:DataPoint",
72
- "datacellar:timeStamp": "2006-12-17 05:00:00",
73
- "datacellar:value": -9.445
74
- },
75
- {
76
- "@type": "datacellar:DataPoint",
77
- "datacellar:timeStamp": "2006-12-17 06:00:00",
78
- "datacellar:value": -17.78
79
- },
80
- {
81
- "@type": "datacellar:DataPoint",
82
- "datacellar:timeStamp": "2006-12-17 07:00:00",
83
- "datacellar:value": -17.78
84
- },
85
- {
86
- "@type": "datacellar:DataPoint",
87
- "datacellar:timeStamp": "2006-12-17 08:00:00",
88
- "datacellar:value": -17.78
89
- },
90
- {
91
- "@type": "datacellar:DataPoint",
92
- "datacellar:timeStamp": "2006-12-17 09:00:00",
93
- "datacellar:value": -8.335
94
- },
95
- {
96
- "@type": "datacellar:DataPoint",
97
- "datacellar:timeStamp": "2006-12-17 10:00:00",
98
- "datacellar:value": -17.78
99
- },
100
- {
101
- "@type": "datacellar:DataPoint",
102
- "datacellar:timeStamp": "2006-12-17 11:00:00",
103
- "datacellar:value": 1.665
104
- },
105
- {
106
- "@type": "datacellar:DataPoint",
107
- "datacellar:timeStamp": "2006-12-17 12:00:00",
108
- "datacellar:value": 3.335
109
- },
110
- {
111
- "@type": "datacellar:DataPoint",
112
- "datacellar:timeStamp": "2006-12-17 13:00:00",
113
- "datacellar:value": 4.445
114
- },
115
- {
116
- "@type": "datacellar:DataPoint",
117
- "datacellar:timeStamp": "2006-12-17 14:00:00",
118
- "datacellar:value": 6.11
119
- },
120
- {
121
- "@type": "datacellar:DataPoint",
122
- "datacellar:timeStamp": "2006-12-17 15:00:00",
123
- "datacellar:value": 6.11
124
- },
125
- {
126
- "@type": "datacellar:DataPoint",
127
- "datacellar:timeStamp": "2006-12-17 16:00:00",
128
- "datacellar:value": 6.11
129
- },
130
- {
131
- "@type": "datacellar:DataPoint",
132
- "datacellar:timeStamp": "2006-12-17 17:00:00",
133
- "datacellar:value": 6.11
134
- },
135
- {
136
- "@type": "datacellar:DataPoint",
137
- "datacellar:timeStamp": "2006-12-17 18:00:00",
138
- "datacellar:value": 5.0
139
- },
140
- {
141
- "@type": "datacellar:DataPoint",
142
- "datacellar:timeStamp": "2006-12-17 19:00:00",
143
- "datacellar:value": 5.0
144
- },
145
- {
146
- "@type": "datacellar:DataPoint",
147
- "datacellar:timeStamp": "2006-12-17 20:00:00",
148
- "datacellar:value": 3.89
149
- },
150
- {
151
- "@type": "datacellar:DataPoint",
152
- "datacellar:timeStamp": "2006-12-17 21:00:00",
153
- "datacellar:value": 2.78
154
- },
155
- {
156
- "@type": "datacellar:DataPoint",
157
- "datacellar:timeStamp": "2006-12-17 22:00:00",
158
- "datacellar:value": 2.5
159
- },
160
- {
161
- "@type": "datacellar:DataPoint",
162
- "datacellar:timeStamp": "2006-12-17 23:00:00",
163
- "datacellar:value": 2.5
164
- },
165
- {
166
- "@type": "datacellar:DataPoint",
167
- "datacellar:timeStamp": "2006-12-18 00:00:00",
168
- "datacellar:value": 2.5
169
- },
170
- {
171
- "@type": "datacellar:DataPoint",
172
- "datacellar:timeStamp": "2006-12-18 01:00:00",
173
- "datacellar:value": 2.78
174
- },
175
- {
176
- "@type": "datacellar:DataPoint",
177
- "datacellar:timeStamp": "2006-12-18 02:00:00",
178
- "datacellar:value": 2.78
179
- },
180
- {
181
- "@type": "datacellar:DataPoint",
182
- "datacellar:timeStamp": "2006-12-18 03:00:00",
183
- "datacellar:value": 2.78
184
- },
185
- {
186
- "@type": "datacellar:DataPoint",
187
- "datacellar:timeStamp": "2006-12-18 04:00:00",
188
- "datacellar:value": 2.78
189
- },
190
- {
191
- "@type": "datacellar:DataPoint",
192
- "datacellar:timeStamp": "2006-12-18 05:00:00",
193
- "datacellar:value": 2.5
194
- },
195
- {
196
- "@type": "datacellar:DataPoint",
197
- "datacellar:timeStamp": "2006-12-18 06:00:00",
198
- "datacellar:value": 2.78
199
- },
200
- {
201
- "@type": "datacellar:DataPoint",
202
- "datacellar:timeStamp": "2006-12-18 07:00:00",
203
- "datacellar:value": 2.78
204
- },
205
- {
206
- "@type": "datacellar:DataPoint",
207
- "datacellar:timeStamp": "2006-12-18 08:00:00",
208
- "datacellar:value": 2.78
209
- },
210
- {
211
- "@type": "datacellar:DataPoint",
212
- "datacellar:timeStamp": "2006-12-18 09:00:00",
213
- "datacellar:value": 2.78
214
- },
215
- {
216
- "@type": "datacellar:DataPoint",
217
- "datacellar:timeStamp": "2006-12-18 10:00:00",
218
- "datacellar:value": 2.78
219
- },
220
- {
221
- "@type": "datacellar:DataPoint",
222
- "datacellar:timeStamp": "2006-12-18 11:00:00",
223
- "datacellar:value": 2.78
224
- },
225
- {
226
- "@type": "datacellar:DataPoint",
227
- "datacellar:timeStamp": "2006-12-18 12:00:00",
228
- "datacellar:value": 3.89
229
- },
230
- {
231
- "@type": "datacellar:DataPoint",
232
- "datacellar:timeStamp": "2006-12-18 13:00:00",
233
- "datacellar:value": 3.89
234
- },
235
- {
236
- "@type": "datacellar:DataPoint",
237
- "datacellar:timeStamp": "2006-12-18 14:00:00",
238
- "datacellar:value": 3.89
239
- },
240
- {
241
- "@type": "datacellar:DataPoint",
242
- "datacellar:timeStamp": "2006-12-18 15:00:00",
243
- "datacellar:value": 5.0
244
- },
245
- {
246
- "@type": "datacellar:DataPoint",
247
- "datacellar:timeStamp": "2006-12-18 16:00:00",
248
- "datacellar:value": 5.0
249
- },
250
- {
251
- "@type": "datacellar:DataPoint",
252
- "datacellar:timeStamp": "2006-12-18 17:00:00",
253
- "datacellar:value": 5.0
254
- },
255
- {
256
- "@type": "datacellar:DataPoint",
257
- "datacellar:timeStamp": "2006-12-18 18:00:00",
258
- "datacellar:value": 5.0
259
- },
260
- {
261
- "@type": "datacellar:DataPoint",
262
- "datacellar:timeStamp": "2006-12-18 19:00:00",
263
- "datacellar:value": 4.445
264
- },
265
- {
266
- "@type": "datacellar:DataPoint",
267
- "datacellar:timeStamp": "2006-12-18 20:00:00",
268
- "datacellar:value": 3.89
269
- },
270
- {
271
- "@type": "datacellar:DataPoint",
272
- "datacellar:timeStamp": "2006-12-18 21:00:00",
273
- "datacellar:value": 3.89
274
- },
275
- {
276
- "@type": "datacellar:DataPoint",
277
- "datacellar:timeStamp": "2006-12-18 22:00:00",
278
- "datacellar:value": 3.335
279
- },
280
- {
281
- "@type": "datacellar:DataPoint",
282
- "datacellar:timeStamp": "2006-12-18 23:00:00",
283
- "datacellar:value": 2.22
284
- },
285
- {
286
- "@type": "datacellar:DataPoint",
287
- "datacellar:timeStamp": "2006-12-19 00:00:00",
288
- "datacellar:value": 1.11
289
- },
290
- {
291
- "@type": "datacellar:DataPoint",
292
- "datacellar:timeStamp": "2006-12-19 01:00:00",
293
- "datacellar:value": 1.665
294
- },
295
- {
296
- "@type": "datacellar:DataPoint",
297
- "datacellar:timeStamp": "2006-12-19 02:00:00",
298
- "datacellar:value": 1.665
299
- },
300
- {
301
- "@type": "datacellar:DataPoint",
302
- "datacellar:timeStamp": "2006-12-19 03:00:00",
303
- "datacellar:value": 1.11
304
- },
305
- {
306
- "@type": "datacellar:DataPoint",
307
- "datacellar:timeStamp": "2006-12-19 04:00:00",
308
- "datacellar:value": 1.11
309
- },
310
- {
311
- "@type": "datacellar:DataPoint",
312
- "datacellar:timeStamp": "2006-12-19 05:00:00",
313
- "datacellar:value": 1.11
314
- },
315
- {
316
- "@type": "datacellar:DataPoint",
317
- "datacellar:timeStamp": "2006-12-19 06:00:00",
318
- "datacellar:value": 0.0
319
- },
320
- {
321
- "@type": "datacellar:DataPoint",
322
- "datacellar:timeStamp": "2006-12-19 07:00:00",
323
- "datacellar:value": 0.555
324
- },
325
- {
326
- "@type": "datacellar:DataPoint",
327
- "datacellar:timeStamp": "2006-12-19 08:00:00",
328
- "datacellar:value": 1.11
329
- },
330
- {
331
- "@type": "datacellar:DataPoint",
332
- "datacellar:timeStamp": "2006-12-19 09:00:00",
333
- "datacellar:value": 1.11
334
- },
335
- {
336
- "@type": "datacellar:DataPoint",
337
- "datacellar:timeStamp": "2006-12-19 10:00:00",
338
- "datacellar:value": 1.11
339
- },
340
- {
341
- "@type": "datacellar:DataPoint",
342
- "datacellar:timeStamp": "2006-12-19 11:00:00",
343
- "datacellar:value": 1.665
344
- },
345
- {
346
- "@type": "datacellar:DataPoint",
347
- "datacellar:timeStamp": "2006-12-19 12:00:00",
348
- "datacellar:value": 2.78
349
- },
350
- {
351
- "@type": "datacellar:DataPoint",
352
- "datacellar:timeStamp": "2006-12-19 13:00:00",
353
- "datacellar:value": 3.89
354
- },
355
- {
356
- "@type": "datacellar:DataPoint",
357
- "datacellar:timeStamp": "2006-12-19 14:00:00",
358
- "datacellar:value": 4.445
359
- },
360
- {
361
- "@type": "datacellar:DataPoint",
362
- "datacellar:timeStamp": "2006-12-19 15:00:00",
363
- "datacellar:value": 5.0
364
- },
365
- {
366
- "@type": "datacellar:DataPoint",
367
- "datacellar:timeStamp": "2006-12-19 16:00:00",
368
- "datacellar:value": 5.0
369
- },
370
- {
371
- "@type": "datacellar:DataPoint",
372
- "datacellar:timeStamp": "2006-12-19 17:00:00",
373
- "datacellar:value": 3.89
374
- },
375
- {
376
- "@type": "datacellar:DataPoint",
377
- "datacellar:timeStamp": "2006-12-19 18:00:00",
378
- "datacellar:value": 3.335
379
- },
380
- {
381
- "@type": "datacellar:DataPoint",
382
- "datacellar:timeStamp": "2006-12-19 19:00:00",
383
- "datacellar:value": 2.78
384
- },
385
- {
386
- "@type": "datacellar:DataPoint",
387
- "datacellar:timeStamp": "2006-12-19 20:00:00",
388
- "datacellar:value": 2.5
389
- },
390
- {
391
- "@type": "datacellar:DataPoint",
392
- "datacellar:timeStamp": "2006-12-19 21:00:00",
393
- "datacellar:value": 2.22
394
- },
395
- {
396
- "@type": "datacellar:DataPoint",
397
- "datacellar:timeStamp": "2006-12-19 22:00:00",
398
- "datacellar:value": 2.22
399
- },
400
- {
401
- "@type": "datacellar:DataPoint",
402
- "datacellar:timeStamp": "2006-12-19 23:00:00",
403
- "datacellar:value": 2.22
404
- },
405
- {
406
- "@type": "datacellar:DataPoint",
407
- "datacellar:timeStamp": "2006-12-20 00:00:00",
408
- "datacellar:value": 1.11
409
- }
410
- ]
411
- },
412
- {
413
- "@type": "datacellar:TimeSeries",
414
- "datacellar:datasetFieldID": 2,
415
- "datacellar:startDate": "2006-12-17 01:00:00",
416
- "datacellar:endDate": "2006-12-20 00:00:00",
417
- "datacellar:granularity": "1 hour",
418
- "datacellar:dataPoints": [
419
- {
420
- "@type": "datacellar:DataPoint",
421
- "datacellar:timeStamp": "2006-12-17 01:00:00",
422
- "datacellar:value": 0.293
423
- },
424
- {
425
- "@type": "datacellar:DataPoint",
426
- "datacellar:timeStamp": "2006-12-17 02:00:00",
427
- "datacellar:value": 0.347
428
- },
429
- {
430
- "@type": "datacellar:DataPoint",
431
- "datacellar:timeStamp": "2006-12-17 03:00:00",
432
- "datacellar:value": 0.240
433
- },
434
- {
435
- "@type": "datacellar:DataPoint",
436
- "datacellar:timeStamp": "2006-12-17 04:00:00",
437
- "datacellar:value": 0.293
438
- },
439
- {
440
- "@type": "datacellar:DataPoint",
441
- "datacellar:timeStamp": "2006-12-17 05:00:00",
442
- "datacellar:value": 0.500
443
- },
444
- {
445
- "@type": "datacellar:DataPoint",
446
- "datacellar:timeStamp": "2006-12-17 06:00:00",
447
- "datacellar:value": 0.800
448
- },
449
- {
450
- "@type": "datacellar:DataPoint",
451
- "datacellar:timeStamp": "2006-12-17 07:00:00",
452
- "datacellar:value": 2.500
453
- },
454
- {
455
- "@type": "datacellar:DataPoint",
456
- "datacellar:timeStamp": "2006-12-17 08:00:00",
457
- "datacellar:value": 2.700
458
- },
459
- {
460
- "@type": "datacellar:DataPoint",
461
- "datacellar:timeStamp": "2006-12-17 09:00:00",
462
- "datacellar:value": 0.875
463
- },
464
- {
465
- "@type": "datacellar:DataPoint",
466
- "datacellar:timeStamp": "2006-12-17 10:00:00",
467
- "datacellar:value": 0.920
468
- },
469
- {
470
- "@type": "datacellar:DataPoint",
471
- "datacellar:timeStamp": "2006-12-17 11:00:00",
472
- "datacellar:value": 0.860
473
- },
474
- {
475
- "@type": "datacellar:DataPoint",
476
- "datacellar:timeStamp": "2006-12-17 12:00:00",
477
- "datacellar:value": 0.950
478
- },
479
- {
480
- "@type": "datacellar:DataPoint",
481
- "datacellar:timeStamp": "2006-12-17 13:00:00",
482
- "datacellar:value": 0.880
483
- },
484
- {
485
- "@type": "datacellar:DataPoint",
486
- "datacellar:timeStamp": "2006-12-17 14:00:00",
487
- "datacellar:value": 0.850
488
- },
489
- {
490
- "@type": "datacellar:DataPoint",
491
- "datacellar:timeStamp": "2006-12-17 15:00:00",
492
- "datacellar:value": 0.920
493
- },
494
- {
495
- "@type": "datacellar:DataPoint",
496
- "datacellar:timeStamp": "2006-12-17 16:00:00",
497
- "datacellar:value": 1.500
498
- },
499
- {
500
- "@type": "datacellar:DataPoint",
501
- "datacellar:timeStamp": "2006-12-17 17:00:00",
502
- "datacellar:value": 2.000
503
- },
504
- {
505
- "@type": "datacellar:DataPoint",
506
- "datacellar:timeStamp": "2006-12-17 18:00:00",
507
- "datacellar:value": 3.000
508
- },
509
- {
510
- "@type": "datacellar:DataPoint",
511
- "datacellar:timeStamp": "2006-12-17 19:00:00",
512
- "datacellar:value": 3.125
513
- },
514
- {
515
- "@type": "datacellar:DataPoint",
516
- "datacellar:timeStamp": "2006-12-17 20:00:00",
517
- "datacellar:value": 3.250
518
- },
519
- {
520
- "@type": "datacellar:DataPoint",
521
- "datacellar:timeStamp": "2006-12-17 21:00:00",
522
- "datacellar:value": 3.125
523
- },
524
- {
525
- "@type": "datacellar:DataPoint",
526
- "datacellar:timeStamp": "2006-12-17 22:00:00",
527
- "datacellar:value": 1.300
528
- },
529
- {
530
- "@type": "datacellar:DataPoint",
531
- "datacellar:timeStamp": "2006-12-17 23:00:00",
532
- "datacellar:value": 0.700
533
- },
534
- {
535
- "@type": "datacellar:DataPoint",
536
- "datacellar:timeStamp": "2006-12-18 00:00:00",
537
- "datacellar:value": 0.400
538
- },
539
- {
540
- "@type": "datacellar:DataPoint",
541
- "datacellar:timeStamp": "2006-12-18 01:00:00",
542
- "datacellar:value": 0.293
543
- },
544
- {
545
- "@type": "datacellar:DataPoint",
546
- "datacellar:timeStamp": "2006-12-18 02:00:00",
547
- "datacellar:value": 0.347
548
- },
549
- {
550
- "@type": "datacellar:DataPoint",
551
- "datacellar:timeStamp": "2006-12-18 03:00:00",
552
- "datacellar:value": 0.240
553
- },
554
- {
555
- "@type": "datacellar:DataPoint",
556
- "datacellar:timeStamp": "2006-12-18 04:00:00",
557
- "datacellar:value": 0.293
558
- },
559
- {
560
- "@type": "datacellar:DataPoint",
561
- "datacellar:timeStamp": "2006-12-18 05:00:00",
562
- "datacellar:value": 0.500
563
- },
564
- {
565
- "@type": "datacellar:DataPoint",
566
- "datacellar:timeStamp": "2006-12-18 06:00:00",
567
- "datacellar:value": 0.800
568
- },
569
- {
570
- "@type": "datacellar:DataPoint",
571
- "datacellar:timeStamp": "2006-12-18 07:00:00",
572
- "datacellar:value": 2.500
573
- },
574
- {
575
- "@type": "datacellar:DataPoint",
576
- "datacellar:timeStamp": "2006-12-18 08:00:00",
577
- "datacellar:value": 2.700
578
- },
579
- {
580
- "@type": "datacellar:DataPoint",
581
- "datacellar:timeStamp": "2006-12-18 09:00:00",
582
- "datacellar:value": 0.875
583
- },
584
- {
585
- "@type": "datacellar:DataPoint",
586
- "datacellar:timeStamp": "2006-12-18 10:00:00",
587
- "datacellar:value": 0.920
588
- },
589
- {
590
- "@type": "datacellar:DataPoint",
591
- "datacellar:timeStamp": "2006-12-18 11:00:00",
592
- "datacellar:value": 0.860
593
- },
594
- {
595
- "@type": "datacellar:DataPoint",
596
- "datacellar:timeStamp": "2006-12-18 12:00:00",
597
- "datacellar:value": 0.950
598
- },
599
- {
600
- "@type": "datacellar:DataPoint",
601
- "datacellar:timeStamp": "2006-12-18 13:00:00",
602
- "datacellar:value": 0.880
603
- },
604
- {
605
- "@type": "datacellar:DataPoint",
606
- "datacellar:timeStamp": "2006-12-18 14:00:00",
607
- "datacellar:value": 0.850
608
- },
609
- {
610
- "@type": "datacellar:DataPoint",
611
- "datacellar:timeStamp": "2006-12-18 15:00:00",
612
- "datacellar:value": 0.920
613
- },
614
- {
615
- "@type": "datacellar:DataPoint",
616
- "datacellar:timeStamp": "2006-12-18 16:00:00",
617
- "datacellar:value": 1.500
618
- },
619
- {
620
- "@type": "datacellar:DataPoint",
621
- "datacellar:timeStamp": "2006-12-18 17:00:00",
622
- "datacellar:value": 2.000
623
- },
624
- {
625
- "@type": "datacellar:DataPoint",
626
- "datacellar:timeStamp": "2006-12-18 18:00:00",
627
- "datacellar:value": 3.000
628
- },
629
- {
630
- "@type": "datacellar:DataPoint",
631
- "datacellar:timeStamp": "2006-12-18 19:00:00",
632
- "datacellar:value": 3.125
633
- },
634
- {
635
- "@type": "datacellar:DataPoint",
636
- "datacellar:timeStamp": "2006-12-18 20:00:00",
637
- "datacellar:value": 3.250
638
- },
639
- {
640
- "@type": "datacellar:DataPoint",
641
- "datacellar:timeStamp": "2006-12-18 21:00:00",
642
- "datacellar:value": 3.125
643
- },
644
- {
645
- "@type": "datacellar:DataPoint",
646
- "datacellar:timeStamp": "2006-12-18 22:00:00",
647
- "datacellar:value": 1.300
648
- },
649
- {
650
- "@type": "datacellar:DataPoint",
651
- "datacellar:timeStamp": "2006-12-18 23:00:00",
652
- "datacellar:value": 0.700
653
- },
654
- {
655
- "@type": "datacellar:DataPoint",
656
- "datacellar:timeStamp": "2006-12-19 00:00:00",
657
- "datacellar:value": 0.400
658
- },
659
- {
660
- "@type": "datacellar:DataPoint",
661
- "datacellar:timeStamp": "2006-12-19 01:00:00",
662
- "datacellar:value": 0.293
663
- },
664
- {
665
- "@type": "datacellar:DataPoint",
666
- "datacellar:timeStamp": "2006-12-19 02:00:00",
667
- "datacellar:value": 0.347
668
- },
669
- {
670
- "@type": "datacellar:DataPoint",
671
- "datacellar:timeStamp": "2006-12-19 03:00:00",
672
- "datacellar:value": 0.240
673
- },
674
- {
675
- "@type": "datacellar:DataPoint",
676
- "datacellar:timeStamp": "2006-12-19 04:00:00",
677
- "datacellar:value": 0.293
678
- },
679
- {
680
- "@type": "datacellar:DataPoint",
681
- "datacellar:timeStamp": "2006-12-19 05:00:00",
682
- "datacellar:value": 0.500
683
- },
684
- {
685
- "@type": "datacellar:DataPoint",
686
- "datacellar:timeStamp": "2006-12-19 06:00:00",
687
- "datacellar:value": 0.800
688
- },
689
- {
690
- "@type": "datacellar:DataPoint",
691
- "datacellar:timeStamp": "2006-12-19 07:00:00",
692
- "datacellar:value": 2.500
693
- },
694
- {
695
- "@type": "datacellar:DataPoint",
696
- "datacellar:timeStamp": "2006-12-19 08:00:00",
697
- "datacellar:value": 2.700
698
- },
699
- {
700
- "@type": "datacellar:DataPoint",
701
- "datacellar:timeStamp": "2006-12-19 09:00:00",
702
- "datacellar:value": 0.875
703
- },
704
- {
705
- "@type": "datacellar:DataPoint",
706
- "datacellar:timeStamp": "2006-12-19 10:00:00",
707
- "datacellar:value": 0.920
708
- },
709
- {
710
- "@type": "datacellar:DataPoint",
711
- "datacellar:timeStamp": "2006-12-19 11:00:00",
712
- "datacellar:value": 0.860
713
- },
714
- {
715
- "@type": "datacellar:DataPoint",
716
- "datacellar:timeStamp": "2006-12-19 12:00:00",
717
- "datacellar:value": 0.950
718
- },
719
- {
720
- "@type": "datacellar:DataPoint",
721
- "datacellar:timeStamp": "2006-12-19 13:00:00",
722
- "datacellar:value": 0.880
723
- },
724
- {
725
- "@type": "datacellar:DataPoint",
726
- "datacellar:timeStamp": "2006-12-19 14:00:00",
727
- "datacellar:value": 0.850
728
- },
729
- {
730
- "@type": "datacellar:DataPoint",
731
- "datacellar:timeStamp": "2006-12-19 15:00:00",
732
- "datacellar:value": 0.920
733
- },
734
- {
735
- "@type": "datacellar:DataPoint",
736
- "datacellar:timeStamp": "2006-12-19 16:00:00",
737
- "datacellar:value": 1.500
738
- },
739
- {
740
- "@type": "datacellar:DataPoint",
741
- "datacellar:timeStamp": "2006-12-19 17:00:00",
742
- "datacellar:value": 2.000
743
- },
744
- {
745
- "@type": "datacellar:DataPoint",
746
- "datacellar:timeStamp": "2006-12-19 18:00:00",
747
- "datacellar:value": 3.000
748
- },
749
- {
750
- "@type": "datacellar:DataPoint",
751
- "datacellar:timeStamp": "2006-12-19 19:00:00",
752
- "datacellar:value": 3.125
753
- },
754
-
755
-
756
- {
757
- "@type": "datacellar:DataPoint",
758
- "datacellar:timeStamp": "2006-12-19 20:00:00",
759
- "datacellar:value": 3.250
760
- },
761
- {
762
- "@type": "datacellar:DataPoint",
763
- "datacellar:timeStamp": "2006-12-19 21:00:00",
764
- "datacellar:value": 3.125
765
- },
766
- {
767
- "@type": "datacellar:DataPoint",
768
- "datacellar:timeStamp": "2006-12-19 22:00:00",
769
- "datacellar:value": 1.300
770
- },
771
- {
772
- "@type": "datacellar:DataPoint",
773
- "datacellar:timeStamp": "2006-12-19 23:00:00",
774
- "datacellar:value": 0.700
775
- },
776
- {
777
- "@type": "datacellar:DataPoint",
778
- "datacellar:timeStamp": "2006-12-20 00:00:00",
779
- "datacellar:value": 0.400
780
- }
781
- ]
782
- }
783
- ],
784
- "datacellar:datasetMetadataList": [
785
- {
786
- "@type": "datacellar:GeoLocalizedDataset",
787
- "datacellar:latitude": 48.7786,
788
- "datacellar:longitude": 2.2906,
789
- "datacellar:postalCode": "10001"
790
- }
791
- ]
792
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
samples/2_long_term_consumption.json DELETED
@@ -1,2064 +0,0 @@
1
- {
2
- "@context": {
3
- "datacellar": "http://datacellar.org/"
4
- },
5
- "@type": "datacellar:Dataset",
6
- "datacellar:name": "Long Term Energy Consumption Forecasting Data",
7
- "datacellar:description": "Long term energy consumption forecasting sample data",
8
- "datacellar:datasetSelfDescription": {
9
- "@type": "datacellar:DatasetDescription",
10
- "datacellar:datasetMetadataTypes": [
11
- "datacellar:GeoLocalizedDataset"
12
- ],
13
- "datacellar:datasetFields": [
14
- {
15
- "@type": "datacellar:DatasetField",
16
- "datacellar:datasetFieldID": 1,
17
- "datacellar:fieldName": "outdoorTemperature",
18
- "datacellar:description": "Temperature readings",
19
- "datacellar:type": {
20
- "@type": "datacellar:FieldType",
21
- "datacellar:unitText": "Celsius",
22
- "datacellar:averagable": true,
23
- "datacellar:summable": false,
24
- "datacellar:anonymizable": false
25
- }
26
- },
27
- {
28
- "@type": "datacellar:DatasetField",
29
- "datacellar:datasetFieldID": 2,
30
- "datacellar:fieldName": "consumedPower",
31
- "datacellar:description": "Power consumption readings",
32
- "datacellar:type": {
33
- "@type": "datacellar:FieldType",
34
- "datacellar:unitText": "kWh",
35
- "datacellar:averagable": true,
36
- "datacellar:summable": false,
37
- "datacellar:anonymizable": false
38
- }
39
- }
40
- ]
41
- },
42
-
43
- "datacellar:timeSeriesList": [
44
-
45
- {
46
- "@type": "datacellar:TimeSeries",
47
- "datacellar:datasetFieldID": 1,
48
- "datacellar:startDate": "Datetime",
49
- "datacellar:endDate": "2006-12-25 07:00:00",
50
- "datacellar:granularity": "1 hour",
51
- "datacellar:dataPoints": [
52
- {
53
- "@type": "datacellar:DataPoint",
54
- "datacellar:timeStamp": "2006-12-17 01:00:00",
55
- "datacellar:value": -8.335
56
- },
57
- {
58
- "@type": "datacellar:DataPoint",
59
- "datacellar:timeStamp": "2006-12-17 02:00:00",
60
- "datacellar:value": -17.78
61
- },
62
- {
63
- "@type": "datacellar:DataPoint",
64
- "datacellar:timeStamp": "2006-12-17 03:00:00",
65
- "datacellar:value": -17.78
66
- },
67
- {
68
- "@type": "datacellar:DataPoint",
69
- "datacellar:timeStamp": "2006-12-17 04:00:00",
70
- "datacellar:value": -17.78
71
- },
72
- {
73
- "@type": "datacellar:DataPoint",
74
- "datacellar:timeStamp": "2006-12-17 05:00:00",
75
- "datacellar:value": -9.445
76
- },
77
- {
78
- "@type": "datacellar:DataPoint",
79
- "datacellar:timeStamp": "2006-12-17 06:00:00",
80
- "datacellar:value": -17.78
81
- },
82
- {
83
- "@type": "datacellar:DataPoint",
84
- "datacellar:timeStamp": "2006-12-17 07:00:00",
85
- "datacellar:value": -17.78
86
- },
87
- {
88
- "@type": "datacellar:DataPoint",
89
- "datacellar:timeStamp": "2006-12-17 08:00:00",
90
- "datacellar:value": -17.78
91
- },
92
- {
93
- "@type": "datacellar:DataPoint",
94
- "datacellar:timeStamp": "2006-12-17 09:00:00",
95
- "datacellar:value": -8.335
96
- },
97
- {
98
- "@type": "datacellar:DataPoint",
99
- "datacellar:timeStamp": "2006-12-17 10:00:00",
100
- "datacellar:value": -17.78
101
- },
102
- {
103
- "@type": "datacellar:DataPoint",
104
- "datacellar:timeStamp": "2006-12-17 11:00:00",
105
- "datacellar:value": 1.665
106
- },
107
- {
108
- "@type": "datacellar:DataPoint",
109
- "datacellar:timeStamp": "2006-12-17 12:00:00",
110
- "datacellar:value": 3.335
111
- },
112
- {
113
- "@type": "datacellar:DataPoint",
114
- "datacellar:timeStamp": "2006-12-17 13:00:00",
115
- "datacellar:value": 4.445
116
- },
117
- {
118
- "@type": "datacellar:DataPoint",
119
- "datacellar:timeStamp": "2006-12-17 14:00:00",
120
- "datacellar:value": 6.11
121
- },
122
- {
123
- "@type": "datacellar:DataPoint",
124
- "datacellar:timeStamp": "2006-12-17 15:00:00",
125
- "datacellar:value": 6.11
126
- },
127
- {
128
- "@type": "datacellar:DataPoint",
129
- "datacellar:timeStamp": "2006-12-17 16:00:00",
130
- "datacellar:value": 6.11
131
- },
132
- {
133
- "@type": "datacellar:DataPoint",
134
- "datacellar:timeStamp": "2006-12-17 17:00:00",
135
- "datacellar:value": 6.11
136
- },
137
- {
138
- "@type": "datacellar:DataPoint",
139
- "datacellar:timeStamp": "2006-12-17 18:00:00",
140
- "datacellar:value": 5.0
141
- },
142
- {
143
- "@type": "datacellar:DataPoint",
144
- "datacellar:timeStamp": "2006-12-17 19:00:00",
145
- "datacellar:value": 5.0
146
- },
147
- {
148
- "@type": "datacellar:DataPoint",
149
- "datacellar:timeStamp": "2006-12-17 20:00:00",
150
- "datacellar:value": 3.89
151
- },
152
- {
153
- "@type": "datacellar:DataPoint",
154
- "datacellar:timeStamp": "2006-12-17 21:00:00",
155
- "datacellar:value": 2.78
156
- },
157
- {
158
- "@type": "datacellar:DataPoint",
159
- "datacellar:timeStamp": "2006-12-17 22:00:00",
160
- "datacellar:value": 2.5
161
- },
162
- {
163
- "@type": "datacellar:DataPoint",
164
- "datacellar:timeStamp": "2006-12-17 23:00:00",
165
- "datacellar:value": 2.5
166
- },
167
- {
168
- "@type": "datacellar:DataPoint",
169
- "datacellar:timeStamp": "2006-12-18 00:00:00",
170
- "datacellar:value": 2.5
171
- },
172
- {
173
- "@type": "datacellar:DataPoint",
174
- "datacellar:timeStamp": "2006-12-18 01:00:00",
175
- "datacellar:value": 2.78
176
- },
177
- {
178
- "@type": "datacellar:DataPoint",
179
- "datacellar:timeStamp": "2006-12-18 02:00:00",
180
- "datacellar:value": 2.78
181
- },
182
- {
183
- "@type": "datacellar:DataPoint",
184
- "datacellar:timeStamp": "2006-12-18 03:00:00",
185
- "datacellar:value": 2.78
186
- },
187
- {
188
- "@type": "datacellar:DataPoint",
189
- "datacellar:timeStamp": "2006-12-18 04:00:00",
190
- "datacellar:value": 2.78
191
- },
192
- {
193
- "@type": "datacellar:DataPoint",
194
- "datacellar:timeStamp": "2006-12-18 05:00:00",
195
- "datacellar:value": 2.5
196
- },
197
- {
198
- "@type": "datacellar:DataPoint",
199
- "datacellar:timeStamp": "2006-12-18 06:00:00",
200
- "datacellar:value": 2.78
201
- },
202
- {
203
- "@type": "datacellar:DataPoint",
204
- "datacellar:timeStamp": "2006-12-18 07:00:00",
205
- "datacellar:value": 2.78
206
- },
207
- {
208
- "@type": "datacellar:DataPoint",
209
- "datacellar:timeStamp": "2006-12-18 08:00:00",
210
- "datacellar:value": 2.78
211
- },
212
- {
213
- "@type": "datacellar:DataPoint",
214
- "datacellar:timeStamp": "2006-12-18 09:00:00",
215
- "datacellar:value": 2.78
216
- },
217
- {
218
- "@type": "datacellar:DataPoint",
219
- "datacellar:timeStamp": "2006-12-18 10:00:00",
220
- "datacellar:value": 2.78
221
- },
222
- {
223
- "@type": "datacellar:DataPoint",
224
- "datacellar:timeStamp": "2006-12-18 11:00:00",
225
- "datacellar:value": 2.78
226
- },
227
- {
228
- "@type": "datacellar:DataPoint",
229
- "datacellar:timeStamp": "2006-12-18 12:00:00",
230
- "datacellar:value": 3.89
231
- },
232
- {
233
- "@type": "datacellar:DataPoint",
234
- "datacellar:timeStamp": "2006-12-18 13:00:00",
235
- "datacellar:value": 3.89
236
- },
237
- {
238
- "@type": "datacellar:DataPoint",
239
- "datacellar:timeStamp": "2006-12-18 14:00:00",
240
- "datacellar:value": 3.89
241
- },
242
- {
243
- "@type": "datacellar:DataPoint",
244
- "datacellar:timeStamp": "2006-12-18 15:00:00",
245
- "datacellar:value": 5.0
246
- },
247
- {
248
- "@type": "datacellar:DataPoint",
249
- "datacellar:timeStamp": "2006-12-18 16:00:00",
250
- "datacellar:value": 5.0
251
- },
252
- {
253
- "@type": "datacellar:DataPoint",
254
- "datacellar:timeStamp": "2006-12-18 17:00:00",
255
- "datacellar:value": 5.0
256
- },
257
- {
258
- "@type": "datacellar:DataPoint",
259
- "datacellar:timeStamp": "2006-12-18 18:00:00",
260
- "datacellar:value": 5.0
261
- },
262
- {
263
- "@type": "datacellar:DataPoint",
264
- "datacellar:timeStamp": "2006-12-18 19:00:00",
265
- "datacellar:value": 4.445
266
- },
267
- {
268
- "@type": "datacellar:DataPoint",
269
- "datacellar:timeStamp": "2006-12-18 20:00:00",
270
- "datacellar:value": 3.89
271
- },
272
- {
273
- "@type": "datacellar:DataPoint",
274
- "datacellar:timeStamp": "2006-12-18 21:00:00",
275
- "datacellar:value": 3.89
276
- },
277
- {
278
- "@type": "datacellar:DataPoint",
279
- "datacellar:timeStamp": "2006-12-18 22:00:00",
280
- "datacellar:value": 3.335
281
- },
282
- {
283
- "@type": "datacellar:DataPoint",
284
- "datacellar:timeStamp": "2006-12-18 23:00:00",
285
- "datacellar:value": 2.22
286
- },
287
- {
288
- "@type": "datacellar:DataPoint",
289
- "datacellar:timeStamp": "2006-12-19 00:00:00",
290
- "datacellar:value": 1.11
291
- },
292
- {
293
- "@type": "datacellar:DataPoint",
294
- "datacellar:timeStamp": "2006-12-19 01:00:00",
295
- "datacellar:value": 1.665
296
- },
297
- {
298
- "@type": "datacellar:DataPoint",
299
- "datacellar:timeStamp": "2006-12-19 02:00:00",
300
- "datacellar:value": 1.665
301
- },
302
- {
303
- "@type": "datacellar:DataPoint",
304
- "datacellar:timeStamp": "2006-12-19 03:00:00",
305
- "datacellar:value": 1.11
306
- },
307
- {
308
- "@type": "datacellar:DataPoint",
309
- "datacellar:timeStamp": "2006-12-19 04:00:00",
310
- "datacellar:value": 1.11
311
- },
312
- {
313
- "@type": "datacellar:DataPoint",
314
- "datacellar:timeStamp": "2006-12-19 05:00:00",
315
- "datacellar:value": 1.11
316
- },
317
- {
318
- "@type": "datacellar:DataPoint",
319
- "datacellar:timeStamp": "2006-12-19 06:00:00",
320
- "datacellar:value": 0.0
321
- },
322
- {
323
- "@type": "datacellar:DataPoint",
324
- "datacellar:timeStamp": "2006-12-19 07:00:00",
325
- "datacellar:value": 0.555
326
- },
327
- {
328
- "@type": "datacellar:DataPoint",
329
- "datacellar:timeStamp": "2006-12-19 08:00:00",
330
- "datacellar:value": 1.11
331
- },
332
- {
333
- "@type": "datacellar:DataPoint",
334
- "datacellar:timeStamp": "2006-12-19 09:00:00",
335
- "datacellar:value": 1.11
336
- },
337
- {
338
- "@type": "datacellar:DataPoint",
339
- "datacellar:timeStamp": "2006-12-19 10:00:00",
340
- "datacellar:value": 1.11
341
- },
342
- {
343
- "@type": "datacellar:DataPoint",
344
- "datacellar:timeStamp": "2006-12-19 11:00:00",
345
- "datacellar:value": 1.665
346
- },
347
- {
348
- "@type": "datacellar:DataPoint",
349
- "datacellar:timeStamp": "2006-12-19 12:00:00",
350
- "datacellar:value": 2.78
351
- },
352
- {
353
- "@type": "datacellar:DataPoint",
354
- "datacellar:timeStamp": "2006-12-19 13:00:00",
355
- "datacellar:value": 3.89
356
- },
357
- {
358
- "@type": "datacellar:DataPoint",
359
- "datacellar:timeStamp": "2006-12-19 14:00:00",
360
- "datacellar:value": 4.445
361
- },
362
- {
363
- "@type": "datacellar:DataPoint",
364
- "datacellar:timeStamp": "2006-12-19 15:00:00",
365
- "datacellar:value": 5.0
366
- },
367
- {
368
- "@type": "datacellar:DataPoint",
369
- "datacellar:timeStamp": "2006-12-19 16:00:00",
370
- "datacellar:value": 5.0
371
- },
372
- {
373
- "@type": "datacellar:DataPoint",
374
- "datacellar:timeStamp": "2006-12-19 17:00:00",
375
- "datacellar:value": 3.89
376
- },
377
- {
378
- "@type": "datacellar:DataPoint",
379
- "datacellar:timeStamp": "2006-12-19 18:00:00",
380
- "datacellar:value": 3.335
381
- },
382
- {
383
- "@type": "datacellar:DataPoint",
384
- "datacellar:timeStamp": "2006-12-19 19:00:00",
385
- "datacellar:value": 2.78
386
- },
387
- {
388
- "@type": "datacellar:DataPoint",
389
- "datacellar:timeStamp": "2006-12-19 20:00:00",
390
- "datacellar:value": 2.5
391
- },
392
- {
393
- "@type": "datacellar:DataPoint",
394
- "datacellar:timeStamp": "2006-12-19 21:00:00",
395
- "datacellar:value": 2.22
396
- },
397
- {
398
- "@type": "datacellar:DataPoint",
399
- "datacellar:timeStamp": "2006-12-19 22:00:00",
400
- "datacellar:value": 2.22
401
- },
402
- {
403
- "@type": "datacellar:DataPoint",
404
- "datacellar:timeStamp": "2006-12-19 23:00:00",
405
- "datacellar:value": 2.22
406
- },
407
- {
408
- "@type": "datacellar:DataPoint",
409
- "datacellar:timeStamp": "2006-12-20 00:00:00",
410
- "datacellar:value": 1.11
411
- },
412
- {
413
- "@type": "datacellar:DataPoint",
414
- "datacellar:timeStamp": "2006-12-20 01:00:00",
415
- "datacellar:value": 1.11
416
- },
417
- {
418
- "@type": "datacellar:DataPoint",
419
- "datacellar:timeStamp": "2006-12-20 02:00:00",
420
- "datacellar:value": 1.11
421
- },
422
- {
423
- "@type": "datacellar:DataPoint",
424
- "datacellar:timeStamp": "2006-12-20 03:00:00",
425
- "datacellar:value": 1.11
426
- },
427
- {
428
- "@type": "datacellar:DataPoint",
429
- "datacellar:timeStamp": "2006-12-20 04:00:00",
430
- "datacellar:value": 1.11
431
- },
432
- {
433
- "@type": "datacellar:DataPoint",
434
- "datacellar:timeStamp": "2006-12-20 05:00:00",
435
- "datacellar:value": 1.11
436
- },
437
- {
438
- "@type": "datacellar:DataPoint",
439
- "datacellar:timeStamp": "2006-12-20 06:00:00",
440
- "datacellar:value": 1.11
441
- },
442
- {
443
- "@type": "datacellar:DataPoint",
444
- "datacellar:timeStamp": "2006-12-20 07:00:00",
445
- "datacellar:value": 1.11
446
- },
447
- {
448
- "@type": "datacellar:DataPoint",
449
- "datacellar:timeStamp": "2006-12-20 08:00:00",
450
- "datacellar:value": 1.11
451
- },
452
- {
453
- "@type": "datacellar:DataPoint",
454
- "datacellar:timeStamp": "2006-12-20 09:00:00",
455
- "datacellar:value": 1.11
456
- },
457
- {
458
- "@type": "datacellar:DataPoint",
459
- "datacellar:timeStamp": "2006-12-20 10:00:00",
460
- "datacellar:value": 1.11
461
- },
462
- {
463
- "@type": "datacellar:DataPoint",
464
- "datacellar:timeStamp": "2006-12-20 11:00:00",
465
- "datacellar:value": 2.22
466
- },
467
- {
468
- "@type": "datacellar:DataPoint",
469
- "datacellar:timeStamp": "2006-12-20 12:00:00",
470
- "datacellar:value": 2.78
471
- },
472
- {
473
- "@type": "datacellar:DataPoint",
474
- "datacellar:timeStamp": "2006-12-20 13:00:00",
475
- "datacellar:value": 4.445
476
- },
477
- {
478
- "@type": "datacellar:DataPoint",
479
- "datacellar:timeStamp": "2006-12-20 14:00:00",
480
- "datacellar:value": 5.0
481
- },
482
- {
483
- "@type": "datacellar:DataPoint",
484
- "datacellar:timeStamp": "2006-12-20 15:00:00",
485
- "datacellar:value": 6.11
486
- },
487
- {
488
- "@type": "datacellar:DataPoint",
489
- "datacellar:timeStamp": "2006-12-20 16:00:00",
490
- "datacellar:value": 5.0
491
- },
492
- {
493
- "@type": "datacellar:DataPoint",
494
- "datacellar:timeStamp": "2006-12-20 17:00:00",
495
- "datacellar:value": 4.445
496
- },
497
- {
498
- "@type": "datacellar:DataPoint",
499
- "datacellar:timeStamp": "2006-12-20 18:00:00",
500
- "datacellar:value": 3.89
501
- },
502
- {
503
- "@type": "datacellar:DataPoint",
504
- "datacellar:timeStamp": "2006-12-20 19:00:00",
505
- "datacellar:value": 3.335
506
- },
507
- {
508
- "@type": "datacellar:DataPoint",
509
- "datacellar:timeStamp": "2006-12-20 20:00:00",
510
- "datacellar:value": 2.22
511
- },
512
- {
513
- "@type": "datacellar:DataPoint",
514
- "datacellar:timeStamp": "2006-12-20 21:00:00",
515
- "datacellar:value": 2.78
516
- },
517
- {
518
- "@type": "datacellar:DataPoint",
519
- "datacellar:timeStamp": "2006-12-20 22:00:00",
520
- "datacellar:value": 2.78
521
- },
522
- {
523
- "@type": "datacellar:DataPoint",
524
- "datacellar:timeStamp": "2006-12-20 23:00:00",
525
- "datacellar:value": 2.5
526
- },
527
- {
528
- "@type": "datacellar:DataPoint",
529
- "datacellar:timeStamp": "2006-12-21 00:00:00",
530
- "datacellar:value": 2.22
531
- },
532
- {
533
- "@type": "datacellar:DataPoint",
534
- "datacellar:timeStamp": "2006-12-21 01:00:00",
535
- "datacellar:value": 1.11
536
- },
537
- {
538
- "@type": "datacellar:DataPoint",
539
- "datacellar:timeStamp": "2006-12-21 02:00:00",
540
- "datacellar:value": 1.11
541
- },
542
- {
543
- "@type": "datacellar:DataPoint",
544
- "datacellar:timeStamp": "2006-12-21 03:00:00",
545
- "datacellar:value": 0.0
546
- },
547
- {
548
- "@type": "datacellar:DataPoint",
549
- "datacellar:timeStamp": "2006-12-21 04:00:00",
550
- "datacellar:value": 0.555
551
- },
552
- {
553
- "@type": "datacellar:DataPoint",
554
- "datacellar:timeStamp": "2006-12-21 05:00:00",
555
- "datacellar:value": 0.0
556
- },
557
- {
558
- "@type": "datacellar:DataPoint",
559
- "datacellar:timeStamp": "2006-12-21 06:00:00",
560
- "datacellar:value": 0.0
561
- },
562
- {
563
- "@type": "datacellar:DataPoint",
564
- "datacellar:timeStamp": "2006-12-21 07:00:00",
565
- "datacellar:value": 1.665
566
- },
567
- {
568
- "@type": "datacellar:DataPoint",
569
- "datacellar:timeStamp": "2006-12-21 08:00:00",
570
- "datacellar:value": 2.5
571
- },
572
- {
573
- "@type": "datacellar:DataPoint",
574
- "datacellar:timeStamp": "2006-12-21 09:00:00",
575
- "datacellar:value": 3.335
576
- },
577
- {
578
- "@type": "datacellar:DataPoint",
579
- "datacellar:timeStamp": "2006-12-21 10:00:00",
580
- "datacellar:value": 2.78
581
- },
582
- {
583
- "@type": "datacellar:DataPoint",
584
- "datacellar:timeStamp": "2006-12-21 11:00:00",
585
- "datacellar:value": 4.445
586
- },
587
- {
588
- "@type": "datacellar:DataPoint",
589
- "datacellar:timeStamp": "2006-12-21 12:00:00",
590
- "datacellar:value": 5.555
591
- },
592
- {
593
- "@type": "datacellar:DataPoint",
594
- "datacellar:timeStamp": "2006-12-21 13:00:00",
595
- "datacellar:value": 6.665
596
- },
597
- {
598
- "@type": "datacellar:DataPoint",
599
- "datacellar:timeStamp": "2006-12-21 14:00:00",
600
- "datacellar:value": 7.78
601
- },
602
- {
603
- "@type": "datacellar:DataPoint",
604
- "datacellar:timeStamp": "2006-12-21 15:00:00",
605
- "datacellar:value": 7.78
606
- },
607
- {
608
- "@type": "datacellar:DataPoint",
609
- "datacellar:timeStamp": "2006-12-21 16:00:00",
610
- "datacellar:value": 7.78
611
- },
612
- {
613
- "@type": "datacellar:DataPoint",
614
- "datacellar:timeStamp": "2006-12-21 17:00:00",
615
- "datacellar:value": 7.22
616
- },
617
- {
618
- "@type": "datacellar:DataPoint",
619
- "datacellar:timeStamp": "2006-12-21 18:00:00",
620
- "datacellar:value": 7.22
621
- },
622
- {
623
- "@type": "datacellar:DataPoint",
624
- "datacellar:timeStamp": "2006-12-21 19:00:00",
625
- "datacellar:value": 7.22
626
- },
627
- {
628
- "@type": "datacellar:DataPoint",
629
- "datacellar:timeStamp": "2006-12-21 20:00:00",
630
- "datacellar:value": 7.22
631
- },
632
- {
633
- "@type": "datacellar:DataPoint",
634
- "datacellar:timeStamp": "2006-12-21 21:00:00",
635
- "datacellar:value": 7.22
636
- },
637
- {
638
- "@type": "datacellar:DataPoint",
639
- "datacellar:timeStamp": "2006-12-21 22:00:00",
640
- "datacellar:value": 6.11
641
- },
642
- {
643
- "@type": "datacellar:DataPoint",
644
- "datacellar:timeStamp": "2006-12-21 23:00:00",
645
- "datacellar:value": 5.555
646
- },
647
- {
648
- "@type": "datacellar:DataPoint",
649
- "datacellar:timeStamp": "2006-12-22 00:00:00",
650
- "datacellar:value": 5.0
651
- },
652
- {
653
- "@type": "datacellar:DataPoint",
654
- "datacellar:timeStamp": "2006-12-22 01:00:00",
655
- "datacellar:value": 5.0
656
- },
657
- {
658
- "@type": "datacellar:DataPoint",
659
- "datacellar:timeStamp": "2006-12-22 02:00:00",
660
- "datacellar:value": 5.0
661
- },
662
- {
663
- "@type": "datacellar:DataPoint",
664
- "datacellar:timeStamp": "2006-12-22 03:00:00",
665
- "datacellar:value": 4.445
666
- },
667
- {
668
- "@type": "datacellar:DataPoint",
669
- "datacellar:timeStamp": "2006-12-22 04:00:00",
670
- "datacellar:value": 3.89
671
- },
672
- {
673
- "@type": "datacellar:DataPoint",
674
- "datacellar:timeStamp": "2006-12-22 05:00:00",
675
- "datacellar:value": 3.89
676
- },
677
- {
678
- "@type": "datacellar:DataPoint",
679
- "datacellar:timeStamp": "2006-12-22 06:00:00",
680
- "datacellar:value": 3.89
681
- },
682
- {
683
- "@type": "datacellar:DataPoint",
684
- "datacellar:timeStamp": "2006-12-22 07:00:00",
685
- "datacellar:value": 3.335
686
- },
687
- {
688
- "@type": "datacellar:DataPoint",
689
- "datacellar:timeStamp": "2006-12-22 08:00:00",
690
- "datacellar:value": 2.78
691
- },
692
- {
693
- "@type": "datacellar:DataPoint",
694
- "datacellar:timeStamp": "2006-12-22 09:00:00",
695
- "datacellar:value": 2.78
696
- },
697
- {
698
- "@type": "datacellar:DataPoint",
699
- "datacellar:timeStamp": "2006-12-22 10:00:00",
700
- "datacellar:value": 3.335
701
- },
702
- {
703
- "@type": "datacellar:DataPoint",
704
- "datacellar:timeStamp": "2006-12-22 11:00:00",
705
- "datacellar:value": 4.445
706
- },
707
- {
708
- "@type": "datacellar:DataPoint",
709
- "datacellar:timeStamp": "2006-12-22 12:00:00",
710
- "datacellar:value": 5.555
711
- },
712
- {
713
- "@type": "datacellar:DataPoint",
714
- "datacellar:timeStamp": "2006-12-22 13:00:00",
715
- "datacellar:value": 6.11
716
- },
717
- {
718
- "@type": "datacellar:DataPoint",
719
- "datacellar:timeStamp": "2006-12-22 14:00:00",
720
- "datacellar:value": 6.665
721
- },
722
- {
723
- "@type": "datacellar:DataPoint",
724
- "datacellar:timeStamp": "2006-12-22 15:00:00",
725
- "datacellar:value": 7.22
726
- },
727
- {
728
- "@type": "datacellar:DataPoint",
729
- "datacellar:timeStamp": "2006-12-22 16:00:00",
730
- "datacellar:value": 7.22
731
- },
732
- {
733
- "@type": "datacellar:DataPoint",
734
- "datacellar:timeStamp": "2006-12-22 17:00:00",
735
- "datacellar:value": 6.11
736
- },
737
- {
738
- "@type": "datacellar:DataPoint",
739
- "datacellar:timeStamp": "2006-12-22 18:00:00",
740
- "datacellar:value": 5.0
741
- },
742
- {
743
- "@type": "datacellar:DataPoint",
744
- "datacellar:timeStamp": "2006-12-22 19:00:00",
745
- "datacellar:value": 3.89
746
- },
747
- {
748
- "@type": "datacellar:DataPoint",
749
- "datacellar:timeStamp": "2006-12-22 20:00:00",
750
- "datacellar:value": 3.89
751
- },
752
- {
753
- "@type": "datacellar:DataPoint",
754
- "datacellar:timeStamp": "2006-12-22 21:00:00",
755
- "datacellar:value": 3.89
756
- },
757
- {
758
- "@type": "datacellar:DataPoint",
759
- "datacellar:timeStamp": "2006-12-22 22:00:00",
760
- "datacellar:value": 3.335
761
- },
762
- {
763
- "@type": "datacellar:DataPoint",
764
- "datacellar:timeStamp": "2006-12-22 23:00:00",
765
- "datacellar:value": 2.78
766
- },
767
- {
768
- "@type": "datacellar:DataPoint",
769
- "datacellar:timeStamp": "2006-12-23 00:00:00",
770
- "datacellar:value": 2.5
771
- },
772
- {
773
- "@type": "datacellar:DataPoint",
774
- "datacellar:timeStamp": "2006-12-23 01:00:00",
775
- "datacellar:value": 2.22
776
- },
777
- {
778
- "@type": "datacellar:DataPoint",
779
- "datacellar:timeStamp": "2006-12-23 02:00:00",
780
- "datacellar:value": 2.22
781
- },
782
- {
783
- "@type": "datacellar:DataPoint",
784
- "datacellar:timeStamp": "2006-12-23 03:00:00",
785
- "datacellar:value": 2.22
786
- },
787
- {
788
- "@type": "datacellar:DataPoint",
789
- "datacellar:timeStamp": "2006-12-23 04:00:00",
790
- "datacellar:value": 1.665
791
- },
792
- {
793
- "@type": "datacellar:DataPoint",
794
- "datacellar:timeStamp": "2006-12-23 05:00:00",
795
- "datacellar:value": 1.11
796
- },
797
- {
798
- "@type": "datacellar:DataPoint",
799
- "datacellar:timeStamp": "2006-12-23 06:00:00",
800
- "datacellar:value": 1.11
801
- },
802
- {
803
- "@type": "datacellar:DataPoint",
804
- "datacellar:timeStamp": "2006-12-23 07:00:00",
805
- "datacellar:value": 0.0
806
- },
807
- {
808
- "@type": "datacellar:DataPoint",
809
- "datacellar:timeStamp": "2006-12-23 08:00:00",
810
- "datacellar:value": 0.0
811
- },
812
- {
813
- "@type": "datacellar:DataPoint",
814
- "datacellar:timeStamp": "2006-12-23 09:00:00",
815
- "datacellar:value": 0.0
816
- },
817
- {
818
- "@type": "datacellar:DataPoint",
819
- "datacellar:timeStamp": "2006-12-23 10:00:00",
820
- "datacellar:value": 0.0
821
- },
822
- {
823
- "@type": "datacellar:DataPoint",
824
- "datacellar:timeStamp": "2006-12-23 11:00:00",
825
- "datacellar:value": 1.665
826
- },
827
- {
828
- "@type": "datacellar:DataPoint",
829
- "datacellar:timeStamp": "2006-12-23 12:00:00",
830
- "datacellar:value": 2.5
831
- },
832
- {
833
- "@type": "datacellar:DataPoint",
834
- "datacellar:timeStamp": "2006-12-23 13:00:00",
835
- "datacellar:value": 3.335
836
- },
837
- {
838
- "@type": "datacellar:DataPoint",
839
- "datacellar:timeStamp": "2006-12-23 14:00:00",
840
- "datacellar:value": 3.335
841
- },
842
- {
843
- "@type": "datacellar:DataPoint",
844
- "datacellar:timeStamp": "2006-12-23 15:00:00",
845
- "datacellar:value": 2.78
846
- },
847
- {
848
- "@type": "datacellar:DataPoint",
849
- "datacellar:timeStamp": "2006-12-23 16:00:00",
850
- "datacellar:value": 2.78
851
- },
852
- {
853
- "@type": "datacellar:DataPoint",
854
- "datacellar:timeStamp": "2006-12-23 17:00:00",
855
- "datacellar:value": 2.78
856
- },
857
- {
858
- "@type": "datacellar:DataPoint",
859
- "datacellar:timeStamp": "2006-12-23 18:00:00",
860
- "datacellar:value": 2.5
861
- },
862
- {
863
- "@type": "datacellar:DataPoint",
864
- "datacellar:timeStamp": "2006-12-23 19:00:00",
865
- "datacellar:value": 2.22
866
- },
867
- {
868
- "@type": "datacellar:DataPoint",
869
- "datacellar:timeStamp": "2006-12-23 20:00:00",
870
- "datacellar:value": 2.22
871
- },
872
- {
873
- "@type": "datacellar:DataPoint",
874
- "datacellar:timeStamp": "2006-12-23 21:00:00",
875
- "datacellar:value": 1.665
876
- },
877
- {
878
- "@type": "datacellar:DataPoint",
879
- "datacellar:timeStamp": "2006-12-23 22:00:00",
880
- "datacellar:value": 1.11
881
- },
882
- {
883
- "@type": "datacellar:DataPoint",
884
- "datacellar:timeStamp": "2006-12-23 23:00:00",
885
- "datacellar:value": 1.11
886
- },
887
- {
888
- "@type": "datacellar:DataPoint",
889
- "datacellar:timeStamp": "2006-12-24 00:00:00",
890
- "datacellar:value": 2.22
891
- },
892
- {
893
- "@type": "datacellar:DataPoint",
894
- "datacellar:timeStamp": "2006-12-24 01:00:00",
895
- "datacellar:value": 2.22
896
- },
897
- {
898
- "@type": "datacellar:DataPoint",
899
- "datacellar:timeStamp": "2006-12-24 02:00:00",
900
- "datacellar:value": 2.22
901
- },
902
- {
903
- "@type": "datacellar:DataPoint",
904
- "datacellar:timeStamp": "2006-12-24 03:00:00",
905
- "datacellar:value": 2.22
906
- },
907
- {
908
- "@type": "datacellar:DataPoint",
909
- "datacellar:timeStamp": "2006-12-24 04:00:00",
910
- "datacellar:value": 2.22
911
- },
912
- {
913
- "@type": "datacellar:DataPoint",
914
- "datacellar:timeStamp": "2006-12-24 05:00:00",
915
- "datacellar:value": 2.22
916
- },
917
- {
918
- "@type": "datacellar:DataPoint",
919
- "datacellar:timeStamp": "2006-12-24 06:00:00",
920
- "datacellar:value": 2.22
921
- },
922
- {
923
- "@type": "datacellar:DataPoint",
924
- "datacellar:timeStamp": "2006-12-24 07:00:00",
925
- "datacellar:value": 2.22
926
- },
927
- {
928
- "@type": "datacellar:DataPoint",
929
- "datacellar:timeStamp": "2006-12-24 08:00:00",
930
- "datacellar:value": 1.665
931
- },
932
- {
933
- "@type": "datacellar:DataPoint",
934
- "datacellar:timeStamp": "2006-12-24 09:00:00",
935
- "datacellar:value": 1.665
936
- },
937
- {
938
- "@type": "datacellar:DataPoint",
939
- "datacellar:timeStamp": "2006-12-24 10:00:00",
940
- "datacellar:value": 2.22
941
- },
942
- {
943
- "@type": "datacellar:DataPoint",
944
- "datacellar:timeStamp": "2006-12-24 11:00:00",
945
- "datacellar:value": 2.22
946
- },
947
- {
948
- "@type": "datacellar:DataPoint",
949
- "datacellar:timeStamp": "2006-12-24 12:00:00",
950
- "datacellar:value": 2.22
951
- },
952
- {
953
- "@type": "datacellar:DataPoint",
954
- "datacellar:timeStamp": "2006-12-24 13:00:00",
955
- "datacellar:value": 2.22
956
- },
957
- {
958
- "@type": "datacellar:DataPoint",
959
- "datacellar:timeStamp": "2006-12-24 14:00:00",
960
- "datacellar:value": 2.22
961
- },
962
- {
963
- "@type": "datacellar:DataPoint",
964
- "datacellar:timeStamp": "2006-12-24 15:00:00",
965
- "datacellar:value": 2.78
966
- },
967
- {
968
- "@type": "datacellar:DataPoint",
969
- "datacellar:timeStamp": "2006-12-24 16:00:00",
970
- "datacellar:value": 2.78
971
- },
972
- {
973
- "@type": "datacellar:DataPoint",
974
- "datacellar:timeStamp": "2006-12-24 17:00:00",
975
- "datacellar:value": 2.5
976
- },
977
- {
978
- "@type": "datacellar:DataPoint",
979
- "datacellar:timeStamp": "2006-12-24 18:00:00",
980
- "datacellar:value": 2.22
981
- },
982
- {
983
- "@type": "datacellar:DataPoint",
984
- "datacellar:timeStamp": "2006-12-24 19:00:00",
985
- "datacellar:value": 2.22
986
- },
987
- {
988
- "@type": "datacellar:DataPoint",
989
- "datacellar:timeStamp": "2006-12-24 20:00:00",
990
- "datacellar:value": 2.22
991
- },
992
- {
993
- "@type": "datacellar:DataPoint",
994
- "datacellar:timeStamp": "2006-12-24 21:00:00",
995
- "datacellar:value": 2.22
996
- },
997
- {
998
- "@type": "datacellar:DataPoint",
999
- "datacellar:timeStamp": "2006-12-24 22:00:00",
1000
- "datacellar:value": 2.22
1001
- },
1002
- {
1003
- "@type": "datacellar:DataPoint",
1004
- "datacellar:timeStamp": "2006-12-24 23:00:00",
1005
- "datacellar:value": 2.22
1006
- },
1007
- {
1008
- "@type": "datacellar:DataPoint",
1009
- "datacellar:timeStamp": "2006-12-25 00:00:00",
1010
- "datacellar:value": 2.22
1011
- },
1012
- {
1013
- "@type": "datacellar:DataPoint",
1014
- "datacellar:timeStamp": "2006-12-25 01:00:00",
1015
- "datacellar:value": 2.22
1016
- },
1017
- {
1018
- "@type": "datacellar:DataPoint",
1019
- "datacellar:timeStamp": "2006-12-25 02:00:00",
1020
- "datacellar:value": 2.22
1021
- },
1022
- {
1023
- "@type": "datacellar:DataPoint",
1024
- "datacellar:timeStamp": "2006-12-25 03:00:00",
1025
- "datacellar:value": 2.22
1026
- },
1027
- {
1028
- "@type": "datacellar:DataPoint",
1029
- "datacellar:timeStamp": "2006-12-25 04:00:00",
1030
- "datacellar:value": 2.22
1031
- },
1032
- {
1033
- "@type": "datacellar:DataPoint",
1034
- "datacellar:timeStamp": "2006-12-25 05:00:00",
1035
- "datacellar:value": 2.22
1036
- },
1037
- {
1038
- "@type": "datacellar:DataPoint",
1039
- "datacellar:timeStamp": "2006-12-25 06:00:00",
1040
- "datacellar:value": 2.22
1041
- },
1042
- {
1043
- "@type": "datacellar:DataPoint",
1044
- "datacellar:timeStamp": "2006-12-25 07:00:00",
1045
- "datacellar:value": 1.11
1046
- }
1047
- ]
1048
- },
1049
- {
1050
- "@type": "datacellar:TimeSeries",
1051
- "datacellar:datasetFieldID": 2,
1052
- "datacellar:startDate": "Datetime",
1053
- "datacellar:endDate": "2006-12-25 07:00:00",
1054
- "datacellar:granularity": "1 hour",
1055
- "datacellar:dataPoints": [
1056
- {
1057
- "@type": "datacellar:DataPoint",
1058
- "datacellar:timeStamp": "2006-12-17 01:00:00",
1059
- "datacellar:value": 200.964
1060
- },
1061
- {
1062
- "@type": "datacellar:DataPoint",
1063
- "datacellar:timeStamp": "2006-12-17 02:00:00",
1064
- "datacellar:value": 95.236
1065
- },
1066
- {
1067
- "@type": "datacellar:DataPoint",
1068
- "datacellar:timeStamp": "2006-12-17 03:00:00",
1069
- "datacellar:value": 99.732
1070
- },
1071
- {
1072
- "@type": "datacellar:DataPoint",
1073
- "datacellar:timeStamp": "2006-12-17 04:00:00",
1074
- "datacellar:value": 132.946
1075
- },
1076
- {
1077
- "@type": "datacellar:DataPoint",
1078
- "datacellar:timeStamp": "2006-12-17 05:00:00",
1079
- "datacellar:value": 119.804
1080
- },
1081
- {
1082
- "@type": "datacellar:DataPoint",
1083
- "datacellar:timeStamp": "2006-12-17 06:00:00",
1084
- "datacellar:value": 78.198
1085
- },
1086
- {
1087
- "@type": "datacellar:DataPoint",
1088
- "datacellar:timeStamp": "2006-12-17 07:00:00",
1089
- "datacellar:value": 97.201996
1090
- },
1091
- {
1092
- "@type": "datacellar:DataPoint",
1093
- "datacellar:timeStamp": "2006-12-17 08:00:00",
1094
- "datacellar:value": 113.434
1095
- },
1096
- {
1097
- "@type": "datacellar:DataPoint",
1098
- "datacellar:timeStamp": "2006-12-17 09:00:00",
1099
- "datacellar:value": 152.944
1100
- },
1101
- {
1102
- "@type": "datacellar:DataPoint",
1103
- "datacellar:timeStamp": "2006-12-17 10:00:00",
1104
- "datacellar:value": 217.734
1105
- },
1106
- {
1107
- "@type": "datacellar:DataPoint",
1108
- "datacellar:timeStamp": "2006-12-17 11:00:00",
1109
- "datacellar:value": 148.26
1110
- },
1111
- {
1112
- "@type": "datacellar:DataPoint",
1113
- "datacellar:timeStamp": "2006-12-17 12:00:00",
1114
- "datacellar:value": 114.951996
1115
- },
1116
- {
1117
- "@type": "datacellar:DataPoint",
1118
- "datacellar:timeStamp": "2006-12-17 13:00:00",
1119
- "datacellar:value": 99.646
1120
- },
1121
- {
1122
- "@type": "datacellar:DataPoint",
1123
- "datacellar:timeStamp": "2006-12-17 14:00:00",
1124
- "datacellar:value": 125.558
1125
- },
1126
- {
1127
- "@type": "datacellar:DataPoint",
1128
- "datacellar:timeStamp": "2006-12-17 15:00:00",
1129
- "datacellar:value": 179.124
1130
- },
1131
- {
1132
- "@type": "datacellar:DataPoint",
1133
- "datacellar:timeStamp": "2006-12-17 16:00:00",
1134
- "datacellar:value": 199.562
1135
- },
1136
- {
1137
- "@type": "datacellar:DataPoint",
1138
- "datacellar:timeStamp": "2006-12-17 17:00:00",
1139
- "datacellar:value": 204.406
1140
- },
1141
- {
1142
- "@type": "datacellar:DataPoint",
1143
- "datacellar:timeStamp": "2006-12-17 18:00:00",
1144
- "datacellar:value": 221.826
1145
- },
1146
- {
1147
- "@type": "datacellar:DataPoint",
1148
- "datacellar:timeStamp": "2006-12-17 19:00:00",
1149
- "datacellar:value": 174.504
1150
- },
1151
- {
1152
- "@type": "datacellar:DataPoint",
1153
- "datacellar:timeStamp": "2006-12-17 20:00:00",
1154
- "datacellar:value": 201.69
1155
- },
1156
- {
1157
- "@type": "datacellar:DataPoint",
1158
- "datacellar:timeStamp": "2006-12-17 21:00:00",
1159
- "datacellar:value": 182.446
1160
- },
1161
- {
1162
- "@type": "datacellar:DataPoint",
1163
- "datacellar:timeStamp": "2006-12-17 22:00:00",
1164
- "datacellar:value": 91.08
1165
- },
1166
- {
1167
- "@type": "datacellar:DataPoint",
1168
- "datacellar:timeStamp": "2006-12-17 23:00:00",
1169
- "datacellar:value": 26.264
1170
- },
1171
- {
1172
- "@type": "datacellar:DataPoint",
1173
- "datacellar:timeStamp": "2006-12-18 00:00:00",
1174
- "datacellar:value": 16.582
1175
- },
1176
- {
1177
- "@type": "datacellar:DataPoint",
1178
- "datacellar:timeStamp": "2006-12-18 01:00:00",
1179
- "datacellar:value": 18.798
1180
- },
1181
- {
1182
- "@type": "datacellar:DataPoint",
1183
- "datacellar:timeStamp": "2006-12-18 02:00:00",
1184
- "datacellar:value": 17.068
1185
- },
1186
- {
1187
- "@type": "datacellar:DataPoint",
1188
- "datacellar:timeStamp": "2006-12-18 03:00:00",
1189
- "datacellar:value": 18.596
1190
- },
1191
- {
1192
- "@type": "datacellar:DataPoint",
1193
- "datacellar:timeStamp": "2006-12-18 04:00:00",
1194
- "datacellar:value": 61.58
1195
- },
1196
- {
1197
- "@type": "datacellar:DataPoint",
1198
- "datacellar:timeStamp": "2006-12-18 05:00:00",
1199
- "datacellar:value": 17.61
1200
- },
1201
- {
1202
- "@type": "datacellar:DataPoint",
1203
- "datacellar:timeStamp": "2006-12-18 06:00:00",
1204
- "datacellar:value": 36.6
1205
- },
1206
- {
1207
- "@type": "datacellar:DataPoint",
1208
- "datacellar:timeStamp": "2006-12-18 07:00:00",
1209
- "datacellar:value": 147.026
1210
- },
1211
- {
1212
- "@type": "datacellar:DataPoint",
1213
- "datacellar:timeStamp": "2006-12-18 08:00:00",
1214
- "datacellar:value": 124.928
1215
- },
1216
- {
1217
- "@type": "datacellar:DataPoint",
1218
- "datacellar:timeStamp": "2006-12-18 09:00:00",
1219
- "datacellar:value": 97.76
1220
- },
1221
- {
1222
- "@type": "datacellar:DataPoint",
1223
- "datacellar:timeStamp": "2006-12-18 10:00:00",
1224
- "datacellar:value": 78.578
1225
- },
1226
- {
1227
- "@type": "datacellar:DataPoint",
1228
- "datacellar:timeStamp": "2006-12-18 11:00:00",
1229
- "datacellar:value": 93.716
1230
- },
1231
- {
1232
- "@type": "datacellar:DataPoint",
1233
- "datacellar:timeStamp": "2006-12-18 12:00:00",
1234
- "datacellar:value": 105.364
1235
- },
1236
- {
1237
- "@type": "datacellar:DataPoint",
1238
- "datacellar:timeStamp": "2006-12-18 13:00:00",
1239
- "datacellar:value": 100.924
1240
- },
1241
- {
1242
- "@type": "datacellar:DataPoint",
1243
- "datacellar:timeStamp": "2006-12-18 14:00:00",
1244
- "datacellar:value": 103.982
1245
- },
1246
- {
1247
- "@type": "datacellar:DataPoint",
1248
- "datacellar:timeStamp": "2006-12-18 15:00:00",
1249
- "datacellar:value": 107.058
1250
- },
1251
- {
1252
- "@type": "datacellar:DataPoint",
1253
- "datacellar:timeStamp": "2006-12-18 16:00:00",
1254
- "datacellar:value": 116.958
1255
- },
1256
- {
1257
- "@type": "datacellar:DataPoint",
1258
- "datacellar:timeStamp": "2006-12-18 17:00:00",
1259
- "datacellar:value": 129.294
1260
- },
1261
- {
1262
- "@type": "datacellar:DataPoint",
1263
- "datacellar:timeStamp": "2006-12-18 18:00:00",
1264
- "datacellar:value": 144.152
1265
- },
1266
- {
1267
- "@type": "datacellar:DataPoint",
1268
- "datacellar:timeStamp": "2006-12-18 19:00:00",
1269
- "datacellar:value": 156.87
1270
- },
1271
- {
1272
- "@type": "datacellar:DataPoint",
1273
- "datacellar:timeStamp": "2006-12-18 20:00:00",
1274
- "datacellar:value": 183.034
1275
- },
1276
- {
1277
- "@type": "datacellar:DataPoint",
1278
- "datacellar:timeStamp": "2006-12-18 21:00:00",
1279
- "datacellar:value": 130.184
1280
- },
1281
- {
1282
- "@type": "datacellar:DataPoint",
1283
- "datacellar:timeStamp": "2006-12-18 22:00:00",
1284
- "datacellar:value": 104.328
1285
- },
1286
- {
1287
- "@type": "datacellar:DataPoint",
1288
- "datacellar:timeStamp": "2006-12-18 23:00:00",
1289
- "datacellar:value": 92.836
1290
- },
1291
- {
1292
- "@type": "datacellar:DataPoint",
1293
- "datacellar:timeStamp": "2006-12-19 00:00:00",
1294
- "datacellar:value": 50.228
1295
- },
1296
- {
1297
- "@type": "datacellar:DataPoint",
1298
- "datacellar:timeStamp": "2006-12-19 01:00:00",
1299
- "datacellar:value": 21.182
1300
- },
1301
- {
1302
- "@type": "datacellar:DataPoint",
1303
- "datacellar:timeStamp": "2006-12-19 02:00:00",
1304
- "datacellar:value": 19.634
1305
- },
1306
- {
1307
- "@type": "datacellar:DataPoint",
1308
- "datacellar:timeStamp": "2006-12-19 03:00:00",
1309
- "datacellar:value": 18.498
1310
- },
1311
- {
1312
- "@type": "datacellar:DataPoint",
1313
- "datacellar:timeStamp": "2006-12-19 04:00:00",
1314
- "datacellar:value": 19.67
1315
- },
1316
- {
1317
- "@type": "datacellar:DataPoint",
1318
- "datacellar:timeStamp": "2006-12-19 05:00:00",
1319
- "datacellar:value": 18.4
1320
- },
1321
- {
1322
- "@type": "datacellar:DataPoint",
1323
- "datacellar:timeStamp": "2006-12-19 06:00:00",
1324
- "datacellar:value": 47.78
1325
- },
1326
- {
1327
- "@type": "datacellar:DataPoint",
1328
- "datacellar:timeStamp": "2006-12-19 07:00:00",
1329
- "datacellar:value": 107.138
1330
- },
1331
- {
1332
- "@type": "datacellar:DataPoint",
1333
- "datacellar:timeStamp": "2006-12-19 08:00:00",
1334
- "datacellar:value": 232.742
1335
- },
1336
- {
1337
- "@type": "datacellar:DataPoint",
1338
- "datacellar:timeStamp": "2006-12-19 09:00:00",
1339
- "datacellar:value": 97.066
1340
- },
1341
- {
1342
- "@type": "datacellar:DataPoint",
1343
- "datacellar:timeStamp": "2006-12-19 10:00:00",
1344
- "datacellar:value": 26.228
1345
- },
1346
- {
1347
- "@type": "datacellar:DataPoint",
1348
- "datacellar:timeStamp": "2006-12-19 11:00:00",
1349
- "datacellar:value": 139.298
1350
- },
1351
- {
1352
- "@type": "datacellar:DataPoint",
1353
- "datacellar:timeStamp": "2006-12-19 12:00:00",
1354
- "datacellar:value": 25.84
1355
- },
1356
- {
1357
- "@type": "datacellar:DataPoint",
1358
- "datacellar:timeStamp": "2006-12-19 13:00:00",
1359
- "datacellar:value": 18.028
1360
- },
1361
- {
1362
- "@type": "datacellar:DataPoint",
1363
- "datacellar:timeStamp": "2006-12-19 14:00:00",
1364
- "datacellar:value": 18.128
1365
- },
1366
- {
1367
- "@type": "datacellar:DataPoint",
1368
- "datacellar:timeStamp": "2006-12-19 15:00:00",
1369
- "datacellar:value": 25.282
1370
- },
1371
- {
1372
- "@type": "datacellar:DataPoint",
1373
- "datacellar:timeStamp": "2006-12-19 16:00:00",
1374
- "datacellar:value": 82.328
1375
- },
1376
- {
1377
- "@type": "datacellar:DataPoint",
1378
- "datacellar:timeStamp": "2006-12-19 17:00:00",
1379
- "datacellar:value": 126.69
1380
- },
1381
- {
1382
- "@type": "datacellar:DataPoint",
1383
- "datacellar:timeStamp": "2006-12-19 18:00:00",
1384
- "datacellar:value": 132.282
1385
- },
1386
- {
1387
- "@type": "datacellar:DataPoint",
1388
- "datacellar:timeStamp": "2006-12-19 19:00:00",
1389
- "datacellar:value": 110.526
1390
- },
1391
- {
1392
- "@type": "datacellar:DataPoint",
1393
- "datacellar:timeStamp": "2006-12-19 20:00:00",
1394
- "datacellar:value": 176.432
1395
- },
1396
- {
1397
- "@type": "datacellar:DataPoint",
1398
- "datacellar:timeStamp": "2006-12-19 21:00:00",
1399
- "datacellar:value": 86.572
1400
- },
1401
- {
1402
- "@type": "datacellar:DataPoint",
1403
- "datacellar:timeStamp": "2006-12-19 22:00:00",
1404
- "datacellar:value": 43.2
1405
- },
1406
- {
1407
- "@type": "datacellar:DataPoint",
1408
- "datacellar:timeStamp": "2006-12-19 23:00:00",
1409
- "datacellar:value": 23.022
1410
- },
1411
- {
1412
- "@type": "datacellar:DataPoint",
1413
- "datacellar:timeStamp": "2006-12-20 00:00:00",
1414
- "datacellar:value": 27.59
1415
- },
1416
- {
1417
- "@type": "datacellar:DataPoint",
1418
- "datacellar:timeStamp": "2006-12-20 01:00:00",
1419
- "datacellar:value": 15.52
1420
- },
1421
- {
1422
- "@type": "datacellar:DataPoint",
1423
- "datacellar:timeStamp": "2006-12-20 02:00:00",
1424
- "datacellar:value": 47.062
1425
- },
1426
- {
1427
- "@type": "datacellar:DataPoint",
1428
- "datacellar:timeStamp": "2006-12-20 03:00:00",
1429
- "datacellar:value": 18.602
1430
- },
1431
- {
1432
- "@type": "datacellar:DataPoint",
1433
- "datacellar:timeStamp": "2006-12-20 04:00:00",
1434
- "datacellar:value": 17.34
1435
- },
1436
- {
1437
- "@type": "datacellar:DataPoint",
1438
- "datacellar:timeStamp": "2006-12-20 05:00:00",
1439
- "datacellar:value": 15.762
1440
- },
1441
- {
1442
- "@type": "datacellar:DataPoint",
1443
- "datacellar:timeStamp": "2006-12-20 06:00:00",
1444
- "datacellar:value": 17.016
1445
- },
1446
- {
1447
- "@type": "datacellar:DataPoint",
1448
- "datacellar:timeStamp": "2006-12-20 07:00:00",
1449
- "datacellar:value": 91.598
1450
- },
1451
- {
1452
- "@type": "datacellar:DataPoint",
1453
- "datacellar:timeStamp": "2006-12-20 08:00:00",
1454
- "datacellar:value": 175.056
1455
- },
1456
- {
1457
- "@type": "datacellar:DataPoint",
1458
- "datacellar:timeStamp": "2006-12-20 09:00:00",
1459
- "datacellar:value": 83.132
1460
- },
1461
- {
1462
- "@type": "datacellar:DataPoint",
1463
- "datacellar:timeStamp": "2006-12-20 10:00:00",
1464
- "datacellar:value": 90.618
1465
- },
1466
- {
1467
- "@type": "datacellar:DataPoint",
1468
- "datacellar:timeStamp": "2006-12-20 11:00:00",
1469
- "datacellar:value": 173.544
1470
- },
1471
- {
1472
- "@type": "datacellar:DataPoint",
1473
- "datacellar:timeStamp": "2006-12-20 12:00:00",
1474
- "datacellar:value": 85.262
1475
- },
1476
- {
1477
- "@type": "datacellar:DataPoint",
1478
- "datacellar:timeStamp": "2006-12-20 13:00:00",
1479
- "datacellar:value": 85.704
1480
- },
1481
- {
1482
- "@type": "datacellar:DataPoint",
1483
- "datacellar:timeStamp": "2006-12-20 14:00:00",
1484
- "datacellar:value": 77.694
1485
- },
1486
- {
1487
- "@type": "datacellar:DataPoint",
1488
- "datacellar:timeStamp": "2006-12-20 15:00:00",
1489
- "datacellar:value": 16.868
1490
- },
1491
- {
1492
- "@type": "datacellar:DataPoint",
1493
- "datacellar:timeStamp": "2006-12-20 16:00:00",
1494
- "datacellar:value": 28.105999
1495
- },
1496
- {
1497
- "@type": "datacellar:DataPoint",
1498
- "datacellar:timeStamp": "2006-12-20 17:00:00",
1499
- "datacellar:value": 34.41
1500
- },
1501
- {
1502
- "@type": "datacellar:DataPoint",
1503
- "datacellar:timeStamp": "2006-12-20 18:00:00",
1504
- "datacellar:value": 170.21
1505
- },
1506
- {
1507
- "@type": "datacellar:DataPoint",
1508
- "datacellar:timeStamp": "2006-12-20 19:00:00",
1509
- "datacellar:value": 194.918
1510
- },
1511
- {
1512
- "@type": "datacellar:DataPoint",
1513
- "datacellar:timeStamp": "2006-12-20 20:00:00",
1514
- "datacellar:value": 214.528
1515
- },
1516
- {
1517
- "@type": "datacellar:DataPoint",
1518
- "datacellar:timeStamp": "2006-12-20 21:00:00",
1519
- "datacellar:value": 218.764
1520
- },
1521
- {
1522
- "@type": "datacellar:DataPoint",
1523
- "datacellar:timeStamp": "2006-12-20 22:00:00",
1524
- "datacellar:value": 183.538
1525
- },
1526
- {
1527
- "@type": "datacellar:DataPoint",
1528
- "datacellar:timeStamp": "2006-12-20 23:00:00",
1529
- "datacellar:value": 142.906
1530
- },
1531
- {
1532
- "@type": "datacellar:DataPoint",
1533
- "datacellar:timeStamp": "2006-12-21 00:00:00",
1534
- "datacellar:value": 92.152
1535
- },
1536
- {
1537
- "@type": "datacellar:DataPoint",
1538
- "datacellar:timeStamp": "2006-12-21 01:00:00",
1539
- "datacellar:value": 83.878
1540
- },
1541
- {
1542
- "@type": "datacellar:DataPoint",
1543
- "datacellar:timeStamp": "2006-12-21 02:00:00",
1544
- "datacellar:value": 76.494
1545
- },
1546
- {
1547
- "@type": "datacellar:DataPoint",
1548
- "datacellar:timeStamp": "2006-12-21 03:00:00",
1549
- "datacellar:value": 18.156
1550
- },
1551
- {
1552
- "@type": "datacellar:DataPoint",
1553
- "datacellar:timeStamp": "2006-12-21 04:00:00",
1554
- "datacellar:value": 14.804
1555
- },
1556
- {
1557
- "@type": "datacellar:DataPoint",
1558
- "datacellar:timeStamp": "2006-12-21 05:00:00",
1559
- "datacellar:value": 17.442
1560
- },
1561
- {
1562
- "@type": "datacellar:DataPoint",
1563
- "datacellar:timeStamp": "2006-12-21 06:00:00",
1564
- "datacellar:value": 17.74
1565
- },
1566
- {
1567
- "@type": "datacellar:DataPoint",
1568
- "datacellar:timeStamp": "2006-12-21 07:00:00",
1569
- "datacellar:value": 76.828
1570
- },
1571
- {
1572
- "@type": "datacellar:DataPoint",
1573
- "datacellar:timeStamp": "2006-12-21 08:00:00",
1574
- "datacellar:value": 93.782
1575
- },
1576
- {
1577
- "@type": "datacellar:DataPoint",
1578
- "datacellar:timeStamp": "2006-12-21 09:00:00",
1579
- "datacellar:value": 154.548
1580
- },
1581
- {
1582
- "@type": "datacellar:DataPoint",
1583
- "datacellar:timeStamp": "2006-12-21 10:00:00",
1584
- "datacellar:value": 106.062
1585
- },
1586
- {
1587
- "@type": "datacellar:DataPoint",
1588
- "datacellar:timeStamp": "2006-12-21 11:00:00",
1589
- "datacellar:value": 37.674
1590
- },
1591
- {
1592
- "@type": "datacellar:DataPoint",
1593
- "datacellar:timeStamp": "2006-12-21 12:00:00",
1594
- "datacellar:value": 49.148
1595
- },
1596
- {
1597
- "@type": "datacellar:DataPoint",
1598
- "datacellar:timeStamp": "2006-12-21 13:00:00",
1599
- "datacellar:value": 101.294
1600
- },
1601
- {
1602
- "@type": "datacellar:DataPoint",
1603
- "datacellar:timeStamp": "2006-12-21 14:00:00",
1604
- "datacellar:value": 61.434002
1605
- },
1606
- {
1607
- "@type": "datacellar:DataPoint",
1608
- "datacellar:timeStamp": "2006-12-21 15:00:00",
1609
- "datacellar:value": 18.444
1610
- },
1611
- {
1612
- "@type": "datacellar:DataPoint",
1613
- "datacellar:timeStamp": "2006-12-21 16:00:00",
1614
- "datacellar:value": 81.604
1615
- },
1616
- {
1617
- "@type": "datacellar:DataPoint",
1618
- "datacellar:timeStamp": "2006-12-21 17:00:00",
1619
- "datacellar:value": 105.158
1620
- },
1621
- {
1622
- "@type": "datacellar:DataPoint",
1623
- "datacellar:timeStamp": "2006-12-21 18:00:00",
1624
- "datacellar:value": 146.598
1625
- },
1626
- {
1627
- "@type": "datacellar:DataPoint",
1628
- "datacellar:timeStamp": "2006-12-21 19:00:00",
1629
- "datacellar:value": 131.828
1630
- },
1631
- {
1632
- "@type": "datacellar:DataPoint",
1633
- "datacellar:timeStamp": "2006-12-21 20:00:00",
1634
- "datacellar:value": 146.242
1635
- },
1636
- {
1637
- "@type": "datacellar:DataPoint",
1638
- "datacellar:timeStamp": "2006-12-21 21:00:00",
1639
- "datacellar:value": 58.936
1640
- },
1641
- {
1642
- "@type": "datacellar:DataPoint",
1643
- "datacellar:timeStamp": "2006-12-21 22:00:00",
1644
- "datacellar:value": 16.816
1645
- },
1646
- {
1647
- "@type": "datacellar:DataPoint",
1648
- "datacellar:timeStamp": "2006-12-21 23:00:00",
1649
- "datacellar:value": 16.226
1650
- },
1651
- {
1652
- "@type": "datacellar:DataPoint",
1653
- "datacellar:timeStamp": "2006-12-22 00:00:00",
1654
- "datacellar:value": 16.016
1655
- },
1656
- {
1657
- "@type": "datacellar:DataPoint",
1658
- "datacellar:timeStamp": "2006-12-22 01:00:00",
1659
- "datacellar:value": 16.32
1660
- },
1661
- {
1662
- "@type": "datacellar:DataPoint",
1663
- "datacellar:timeStamp": "2006-12-22 02:00:00",
1664
- "datacellar:value": 16.058
1665
- },
1666
- {
1667
- "@type": "datacellar:DataPoint",
1668
- "datacellar:timeStamp": "2006-12-22 03:00:00",
1669
- "datacellar:value": 16.432
1670
- },
1671
- {
1672
- "@type": "datacellar:DataPoint",
1673
- "datacellar:timeStamp": "2006-12-22 04:00:00",
1674
- "datacellar:value": 15.856
1675
- },
1676
- {
1677
- "@type": "datacellar:DataPoint",
1678
- "datacellar:timeStamp": "2006-12-22 05:00:00",
1679
- "datacellar:value": 48.41
1680
- },
1681
- {
1682
- "@type": "datacellar:DataPoint",
1683
- "datacellar:timeStamp": "2006-12-22 06:00:00",
1684
- "datacellar:value": 28.778
1685
- },
1686
- {
1687
- "@type": "datacellar:DataPoint",
1688
- "datacellar:timeStamp": "2006-12-22 07:00:00",
1689
- "datacellar:value": 103.392
1690
- },
1691
- {
1692
- "@type": "datacellar:DataPoint",
1693
- "datacellar:timeStamp": "2006-12-22 08:00:00",
1694
- "datacellar:value": 164.664
1695
- },
1696
- {
1697
- "@type": "datacellar:DataPoint",
1698
- "datacellar:timeStamp": "2006-12-22 09:00:00",
1699
- "datacellar:value": 113.778
1700
- },
1701
- {
1702
- "@type": "datacellar:DataPoint",
1703
- "datacellar:timeStamp": "2006-12-22 10:00:00",
1704
- "datacellar:value": 80.698
1705
- },
1706
- {
1707
- "@type": "datacellar:DataPoint",
1708
- "datacellar:timeStamp": "2006-12-22 11:00:00",
1709
- "datacellar:value": 75.154
1710
- },
1711
- {
1712
- "@type": "datacellar:DataPoint",
1713
- "datacellar:timeStamp": "2006-12-22 12:00:00",
1714
- "datacellar:value": 73.708
1715
- },
1716
- {
1717
- "@type": "datacellar:DataPoint",
1718
- "datacellar:timeStamp": "2006-12-22 13:00:00",
1719
- "datacellar:value": 40.314
1720
- },
1721
- {
1722
- "@type": "datacellar:DataPoint",
1723
- "datacellar:timeStamp": "2006-12-22 14:00:00",
1724
- "datacellar:value": 48.934
1725
- },
1726
- {
1727
- "@type": "datacellar:DataPoint",
1728
- "datacellar:timeStamp": "2006-12-22 15:00:00",
1729
- "datacellar:value": 87.098
1730
- },
1731
- {
1732
- "@type": "datacellar:DataPoint",
1733
- "datacellar:timeStamp": "2006-12-22 16:00:00",
1734
- "datacellar:value": 94.272
1735
- },
1736
- {
1737
- "@type": "datacellar:DataPoint",
1738
- "datacellar:timeStamp": "2006-12-22 17:00:00",
1739
- "datacellar:value": 89.808
1740
- },
1741
- {
1742
- "@type": "datacellar:DataPoint",
1743
- "datacellar:timeStamp": "2006-12-22 18:00:00",
1744
- "datacellar:value": 161.218
1745
- },
1746
- {
1747
- "@type": "datacellar:DataPoint",
1748
- "datacellar:timeStamp": "2006-12-22 19:00:00",
1749
- "datacellar:value": 236.29
1750
- },
1751
- {
1752
- "@type": "datacellar:DataPoint",
1753
- "datacellar:timeStamp": "2006-12-22 20:00:00",
1754
- "datacellar:value": 212.164
1755
- },
1756
- {
1757
- "@type": "datacellar:DataPoint",
1758
- "datacellar:timeStamp": "2006-12-22 21:00:00",
1759
- "datacellar:value": 272.92
1760
- },
1761
- {
1762
- "@type": "datacellar:DataPoint",
1763
- "datacellar:timeStamp": "2006-12-22 22:00:00",
1764
- "datacellar:value": 183.904
1765
- },
1766
- {
1767
- "@type": "datacellar:DataPoint",
1768
- "datacellar:timeStamp": "2006-12-22 23:00:00",
1769
- "datacellar:value": 145.152
1770
- },
1771
- {
1772
- "@type": "datacellar:DataPoint",
1773
- "datacellar:timeStamp": "2006-12-23 00:00:00",
1774
- "datacellar:value": 101.894
1775
- },
1776
- {
1777
- "@type": "datacellar:DataPoint",
1778
- "datacellar:timeStamp": "2006-12-23 01:00:00",
1779
- "datacellar:value": 103.368004
1780
- },
1781
- {
1782
- "@type": "datacellar:DataPoint",
1783
- "datacellar:timeStamp": "2006-12-23 02:00:00",
1784
- "datacellar:value": 102.046
1785
- },
1786
- {
1787
- "@type": "datacellar:DataPoint",
1788
- "datacellar:timeStamp": "2006-12-23 03:00:00",
1789
- "datacellar:value": 106.292
1790
- },
1791
- {
1792
- "@type": "datacellar:DataPoint",
1793
- "datacellar:timeStamp": "2006-12-23 04:00:00",
1794
- "datacellar:value": 113.496
1795
- },
1796
- {
1797
- "@type": "datacellar:DataPoint",
1798
- "datacellar:timeStamp": "2006-12-23 05:00:00",
1799
- "datacellar:value": 133.746
1800
- },
1801
- {
1802
- "@type": "datacellar:DataPoint",
1803
- "datacellar:timeStamp": "2006-12-23 06:00:00",
1804
- "datacellar:value": 98.962
1805
- },
1806
- {
1807
- "@type": "datacellar:DataPoint",
1808
- "datacellar:timeStamp": "2006-12-23 07:00:00",
1809
- "datacellar:value": 241.40201
1810
- },
1811
- {
1812
- "@type": "datacellar:DataPoint",
1813
- "datacellar:timeStamp": "2006-12-23 08:00:00",
1814
- "datacellar:value": 251.45
1815
- },
1816
- {
1817
- "@type": "datacellar:DataPoint",
1818
- "datacellar:timeStamp": "2006-12-23 09:00:00",
1819
- "datacellar:value": 194.784
1820
- },
1821
- {
1822
- "@type": "datacellar:DataPoint",
1823
- "datacellar:timeStamp": "2006-12-23 10:00:00",
1824
- "datacellar:value": 178.33
1825
- },
1826
- {
1827
- "@type": "datacellar:DataPoint",
1828
- "datacellar:timeStamp": "2006-12-23 11:00:00",
1829
- "datacellar:value": 189.54
1830
- },
1831
- {
1832
- "@type": "datacellar:DataPoint",
1833
- "datacellar:timeStamp": "2006-12-23 12:00:00",
1834
- "datacellar:value": 175.728
1835
- },
1836
- {
1837
- "@type": "datacellar:DataPoint",
1838
- "datacellar:timeStamp": "2006-12-23 13:00:00",
1839
- "datacellar:value": 204.378
1840
- },
1841
- {
1842
- "@type": "datacellar:DataPoint",
1843
- "datacellar:timeStamp": "2006-12-23 14:00:00",
1844
- "datacellar:value": 225.478
1845
- },
1846
- {
1847
- "@type": "datacellar:DataPoint",
1848
- "datacellar:timeStamp": "2006-12-23 15:00:00",
1849
- "datacellar:value": 242.946
1850
- },
1851
- {
1852
- "@type": "datacellar:DataPoint",
1853
- "datacellar:timeStamp": "2006-12-23 16:00:00",
1854
- "datacellar:value": 260.94598
1855
- },
1856
- {
1857
- "@type": "datacellar:DataPoint",
1858
- "datacellar:timeStamp": "2006-12-23 17:00:00",
1859
- "datacellar:value": 327.152
1860
- },
1861
- {
1862
- "@type": "datacellar:DataPoint",
1863
- "datacellar:timeStamp": "2006-12-23 18:00:00",
1864
- "datacellar:value": 232.76399
1865
- },
1866
- {
1867
- "@type": "datacellar:DataPoint",
1868
- "datacellar:timeStamp": "2006-12-23 19:00:00",
1869
- "datacellar:value": 247.06999
1870
- },
1871
- {
1872
- "@type": "datacellar:DataPoint",
1873
- "datacellar:timeStamp": "2006-12-23 20:00:00",
1874
- "datacellar:value": 250.884
1875
- },
1876
- {
1877
- "@type": "datacellar:DataPoint",
1878
- "datacellar:timeStamp": "2006-12-23 21:00:00",
1879
- "datacellar:value": 197.306
1880
- },
1881
- {
1882
- "@type": "datacellar:DataPoint",
1883
- "datacellar:timeStamp": "2006-12-23 22:00:00",
1884
- "datacellar:value": 259.676
1885
- },
1886
- {
1887
- "@type": "datacellar:DataPoint",
1888
- "datacellar:timeStamp": "2006-12-23 23:00:00",
1889
- "datacellar:value": 333.748
1890
- },
1891
- {
1892
- "@type": "datacellar:DataPoint",
1893
- "datacellar:timeStamp": "2006-12-24 00:00:00",
1894
- "datacellar:value": 241.68
1895
- },
1896
- {
1897
- "@type": "datacellar:DataPoint",
1898
- "datacellar:timeStamp": "2006-12-24 01:00:00",
1899
- "datacellar:value": 196.54199
1900
- },
1901
- {
1902
- "@type": "datacellar:DataPoint",
1903
- "datacellar:timeStamp": "2006-12-24 02:00:00",
1904
- "datacellar:value": 138.182
1905
- },
1906
- {
1907
- "@type": "datacellar:DataPoint",
1908
- "datacellar:timeStamp": "2006-12-24 03:00:00",
1909
- "datacellar:value": 96.406
1910
- },
1911
- {
1912
- "@type": "datacellar:DataPoint",
1913
- "datacellar:timeStamp": "2006-12-24 04:00:00",
1914
- "datacellar:value": 94.566
1915
- },
1916
- {
1917
- "@type": "datacellar:DataPoint",
1918
- "datacellar:timeStamp": "2006-12-24 05:00:00",
1919
- "datacellar:value": 97.914
1920
- },
1921
- {
1922
- "@type": "datacellar:DataPoint",
1923
- "datacellar:timeStamp": "2006-12-24 06:00:00",
1924
- "datacellar:value": 113.712
1925
- },
1926
- {
1927
- "@type": "datacellar:DataPoint",
1928
- "datacellar:timeStamp": "2006-12-24 07:00:00",
1929
- "datacellar:value": 88.584
1930
- },
1931
- {
1932
- "@type": "datacellar:DataPoint",
1933
- "datacellar:timeStamp": "2006-12-24 08:00:00",
1934
- "datacellar:value": 85.666
1935
- },
1936
- {
1937
- "@type": "datacellar:DataPoint",
1938
- "datacellar:timeStamp": "2006-12-24 09:00:00",
1939
- "datacellar:value": 163.54
1940
- },
1941
- {
1942
- "@type": "datacellar:DataPoint",
1943
- "datacellar:timeStamp": "2006-12-24 10:00:00",
1944
- "datacellar:value": 160.52
1945
- },
1946
- {
1947
- "@type": "datacellar:DataPoint",
1948
- "datacellar:timeStamp": "2006-12-24 11:00:00",
1949
- "datacellar:value": 125.576
1950
- },
1951
- {
1952
- "@type": "datacellar:DataPoint",
1953
- "datacellar:timeStamp": "2006-12-24 12:00:00",
1954
- "datacellar:value": 90.0
1955
- },
1956
- {
1957
- "@type": "datacellar:DataPoint",
1958
- "datacellar:timeStamp": "2006-12-24 13:00:00",
1959
- "datacellar:value": 194.396
1960
- },
1961
- {
1962
- "@type": "datacellar:DataPoint",
1963
- "datacellar:timeStamp": "2006-12-24 14:00:00",
1964
- "datacellar:value": 82.292
1965
- },
1966
- {
1967
- "@type": "datacellar:DataPoint",
1968
- "datacellar:timeStamp": "2006-12-24 15:00:00",
1969
- "datacellar:value": 185.81
1970
- },
1971
- {
1972
- "@type": "datacellar:DataPoint",
1973
- "datacellar:timeStamp": "2006-12-24 16:00:00",
1974
- "datacellar:value": 120.428
1975
- },
1976
- {
1977
- "@type": "datacellar:DataPoint",
1978
- "datacellar:timeStamp": "2006-12-24 17:00:00",
1979
- "datacellar:value": 101.19
1980
- },
1981
- {
1982
- "@type": "datacellar:DataPoint",
1983
- "datacellar:timeStamp": "2006-12-24 18:00:00",
1984
- "datacellar:value": 30.312
1985
- },
1986
- {
1987
- "@type": "datacellar:DataPoint",
1988
- "datacellar:timeStamp": "2006-12-24 19:00:00",
1989
- "datacellar:value": 27.242
1990
- },
1991
- {
1992
- "@type": "datacellar:DataPoint",
1993
- "datacellar:timeStamp": "2006-12-24 20:00:00",
1994
- "datacellar:value": 28.446
1995
- },
1996
- {
1997
- "@type": "datacellar:DataPoint",
1998
- "datacellar:timeStamp": "2006-12-24 21:00:00",
1999
- "datacellar:value": 29.042
2000
- },
2001
- {
2002
- "@type": "datacellar:DataPoint",
2003
- "datacellar:timeStamp": "2006-12-24 22:00:00",
2004
- "datacellar:value": 28.786
2005
- },
2006
- {
2007
- "@type": "datacellar:DataPoint",
2008
- "datacellar:timeStamp": "2006-12-24 23:00:00",
2009
- "datacellar:value": 29.18
2010
- },
2011
- {
2012
- "@type": "datacellar:DataPoint",
2013
- "datacellar:timeStamp": "2006-12-25 00:00:00",
2014
- "datacellar:value": 59.974
2015
- },
2016
- {
2017
- "@type": "datacellar:DataPoint",
2018
- "datacellar:timeStamp": "2006-12-25 01:00:00",
2019
- "datacellar:value": 72.406
2020
- },
2021
- {
2022
- "@type": "datacellar:DataPoint",
2023
- "datacellar:timeStamp": "2006-12-25 02:00:00",
2024
- "datacellar:value": 26.28
2025
- },
2026
- {
2027
- "@type": "datacellar:DataPoint",
2028
- "datacellar:timeStamp": "2006-12-25 03:00:00",
2029
- "datacellar:value": 35.398
2030
- },
2031
- {
2032
- "@type": "datacellar:DataPoint",
2033
- "datacellar:timeStamp": "2006-12-25 04:00:00",
2034
- "datacellar:value": 34.72
2035
- },
2036
- {
2037
- "@type": "datacellar:DataPoint",
2038
- "datacellar:timeStamp": "2006-12-25 05:00:00",
2039
- "datacellar:value": 37.206
2040
- },
2041
- {
2042
- "@type": "datacellar:DataPoint",
2043
- "datacellar:timeStamp": "2006-12-25 06:00:00",
2044
- "datacellar:value": 15.844
2045
- },
2046
- {
2047
- "@type": "datacellar:DataPoint",
2048
- "datacellar:timeStamp": "2006-12-25 07:00:00",
2049
- "datacellar:value": 40.607998
2050
- }
2051
- ]
2052
- }
2053
- ],
2054
-
2055
-
2056
- "datacellar:datasetMetadataList": [
2057
- {
2058
- "@type": "datacellar:GeoLocalizedDataset",
2059
- "datacellar:latitude": 48.7786,
2060
- "datacellar:longitude": 2.2906,
2061
- "datacellar:postalCode": "10001"
2062
- }
2063
- ]
2064
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
samples/3_short_term_production.json DELETED
The diff for this file is too large to render. See raw diff
 
samples/4_NILM.json DELETED
The diff for this file is too large to render. See raw diff
 
samples/5_anomaly_detection_consumption.json DELETED
The diff for this file is too large to render. See raw diff
 
samples/6_anomaly_detection_production.json DELETED
@@ -1,1855 +0,0 @@
1
- {
2
- "@context": {
3
- "datacellar": "http://datacellar.org/"
4
- },
5
- "@type": "datacellar:Dataset",
6
- "datacellar:name": "Energy Production Anomaly Detection Data",
7
- "datacellar:description": "Energy production anomaly detection sample data",
8
- "datacellar:datasetSelfDescription": {
9
- "@type": "datacellar:DatasetDescription",
10
- "datacellar:datasetMetadataTypes": [
11
- "datacellar:GeoLocalizedDataset"
12
- ],
13
- "datacellar:datasetFields": [
14
- {
15
- "@type": "datacellar:DatasetField",
16
- "datacellar:datasetFieldID": 1,
17
- "datacellar:fieldName": "generatedEnergy",
18
- "datacellar:description": "Generated energy",
19
- "datacellar:timeseriesMetadataType": "",
20
- "datacellar:type": {
21
- "@type": "datacellar:FieldType",
22
- "datacellar:unitText": "kWh",
23
- "datacellar:averagable": true,
24
- "datacellar:summable": false,
25
- "datacellar:anonymizable": false
26
- }
27
- }
28
- ]
29
- },
30
- "datacellar:timeSeriesList": [
31
- {
32
- "@type": "datacellar:TimeSeries",
33
- "datacellar:datasetFieldID": 1,
34
- "datacellar:startDate": "2023-05-22 00:00:00",
35
- "datacellar:endDate": "2023-06-05 23:00:00",
36
- "datacellar:timeZone": 0,
37
- "datacellar:granularity": "1 hour",
38
- "datacellar:dataPoints": [
39
- {
40
- "@type": "datacellar:DataPoint",
41
- "datacellar:timeStamp": "2023-05-22 00:00:00",
42
- "datacellar:value": 0.0
43
- },
44
- {
45
- "@type": "datacellar:DataPoint",
46
- "datacellar:timeStamp": "2023-05-22 01:00:00",
47
- "datacellar:value": 0.0
48
- },
49
- {
50
- "@type": "datacellar:DataPoint",
51
- "datacellar:timeStamp": "2023-05-22 02:00:00",
52
- "datacellar:value": 0.0
53
- },
54
- {
55
- "@type": "datacellar:DataPoint",
56
- "datacellar:timeStamp": "2023-05-22 03:00:00",
57
- "datacellar:value": 0.0
58
- },
59
- {
60
- "@type": "datacellar:DataPoint",
61
- "datacellar:timeStamp": "2023-05-22 04:00:00",
62
- "datacellar:value": 0.0
63
- },
64
- {
65
- "@type": "datacellar:DataPoint",
66
- "datacellar:timeStamp": "2023-05-22 05:00:00",
67
- "datacellar:value": 0.0
68
- },
69
- {
70
- "@type": "datacellar:DataPoint",
71
- "datacellar:timeStamp": "2023-05-22 06:00:00",
72
- "datacellar:value": 0.0
73
- },
74
- {
75
- "@type": "datacellar:DataPoint",
76
- "datacellar:timeStamp": "2023-05-22 07:00:00",
77
- "datacellar:value": 0.0
78
- },
79
- {
80
- "@type": "datacellar:DataPoint",
81
- "datacellar:timeStamp": "2023-05-22 08:00:00",
82
- "datacellar:value": 0.0
83
- },
84
- {
85
- "@type": "datacellar:DataPoint",
86
- "datacellar:timeStamp": "2023-05-22 09:00:00",
87
- "datacellar:value": 0.0
88
- },
89
- {
90
- "@type": "datacellar:DataPoint",
91
- "datacellar:timeStamp": "2023-05-22 10:00:00",
92
- "datacellar:value": 0.0
93
- },
94
- {
95
- "@type": "datacellar:DataPoint",
96
- "datacellar:timeStamp": "2023-05-22 11:00:00",
97
- "datacellar:value": 0.0
98
- },
99
- {
100
- "@type": "datacellar:DataPoint",
101
- "datacellar:timeStamp": "2023-05-22 12:00:00",
102
- "datacellar:value": 0.0
103
- },
104
- {
105
- "@type": "datacellar:DataPoint",
106
- "datacellar:timeStamp": "2023-05-22 13:00:00",
107
- "datacellar:value": 0.0
108
- },
109
- {
110
- "@type": "datacellar:DataPoint",
111
- "datacellar:timeStamp": "2023-05-22 14:00:00",
112
- "datacellar:value": 0.0
113
- },
114
- {
115
- "@type": "datacellar:DataPoint",
116
- "datacellar:timeStamp": "2023-05-22 15:00:00",
117
- "datacellar:value": 0.0
118
- },
119
- {
120
- "@type": "datacellar:DataPoint",
121
- "datacellar:timeStamp": "2023-05-22 16:00:00",
122
- "datacellar:value": 0.0
123
- },
124
- {
125
- "@type": "datacellar:DataPoint",
126
- "datacellar:timeStamp": "2023-05-22 17:00:00",
127
- "datacellar:value": 0.0
128
- },
129
- {
130
- "@type": "datacellar:DataPoint",
131
- "datacellar:timeStamp": "2023-05-22 18:00:00",
132
- "datacellar:value": 0.0
133
- },
134
- {
135
- "@type": "datacellar:DataPoint",
136
- "datacellar:timeStamp": "2023-05-22 19:00:00",
137
- "datacellar:value": 0.0
138
- },
139
- {
140
- "@type": "datacellar:DataPoint",
141
- "datacellar:timeStamp": "2023-05-22 20:00:00",
142
- "datacellar:value": 0.0
143
- },
144
- {
145
- "@type": "datacellar:DataPoint",
146
- "datacellar:timeStamp": "2023-05-22 21:00:00",
147
- "datacellar:value": 0.0
148
- },
149
- {
150
- "@type": "datacellar:DataPoint",
151
- "datacellar:timeStamp": "2023-05-22 22:00:00",
152
- "datacellar:value": 0.0
153
- },
154
- {
155
- "@type": "datacellar:DataPoint",
156
- "datacellar:timeStamp": "2023-05-22 23:00:00",
157
- "datacellar:value": 0.0
158
- },
159
- {
160
- "@type": "datacellar:DataPoint",
161
- "datacellar:timeStamp": "2023-05-23 00:00:00",
162
- "datacellar:value": 0.0
163
- },
164
- {
165
- "@type": "datacellar:DataPoint",
166
- "datacellar:timeStamp": "2023-05-23 01:00:00",
167
- "datacellar:value": 0.0
168
- },
169
- {
170
- "@type": "datacellar:DataPoint",
171
- "datacellar:timeStamp": "2023-05-23 02:00:00",
172
- "datacellar:value": 0.0
173
- },
174
- {
175
- "@type": "datacellar:DataPoint",
176
- "datacellar:timeStamp": "2023-05-23 03:00:00",
177
- "datacellar:value": 0.0
178
- },
179
- {
180
- "@type": "datacellar:DataPoint",
181
- "datacellar:timeStamp": "2023-05-23 04:00:00",
182
- "datacellar:value": 0.0
183
- },
184
- {
185
- "@type": "datacellar:DataPoint",
186
- "datacellar:timeStamp": "2023-05-23 05:00:00",
187
- "datacellar:value": 0.0
188
- },
189
- {
190
- "@type": "datacellar:DataPoint",
191
- "datacellar:timeStamp": "2023-05-23 06:00:00",
192
- "datacellar:value": 0.0
193
- },
194
- {
195
- "@type": "datacellar:DataPoint",
196
- "datacellar:timeStamp": "2023-05-23 07:00:00",
197
- "datacellar:value": 0.0
198
- },
199
- {
200
- "@type": "datacellar:DataPoint",
201
- "datacellar:timeStamp": "2023-05-23 08:00:00",
202
- "datacellar:value": 0.0
203
- },
204
- {
205
- "@type": "datacellar:DataPoint",
206
- "datacellar:timeStamp": "2023-05-23 09:00:00",
207
- "datacellar:value": 0.0
208
- },
209
- {
210
- "@type": "datacellar:DataPoint",
211
- "datacellar:timeStamp": "2023-05-23 10:00:00",
212
- "datacellar:value": 0.0
213
- },
214
- {
215
- "@type": "datacellar:DataPoint",
216
- "datacellar:timeStamp": "2023-05-23 11:00:00",
217
- "datacellar:value": 0.0
218
- },
219
- {
220
- "@type": "datacellar:DataPoint",
221
- "datacellar:timeStamp": "2023-05-23 12:00:00",
222
- "datacellar:value": 0.0
223
- },
224
- {
225
- "@type": "datacellar:DataPoint",
226
- "datacellar:timeStamp": "2023-05-23 13:00:00",
227
- "datacellar:value": 1.11
228
- },
229
- {
230
- "@type": "datacellar:DataPoint",
231
- "datacellar:timeStamp": "2023-05-23 14:00:00",
232
- "datacellar:value": 7.34
233
- },
234
- {
235
- "@type": "datacellar:DataPoint",
236
- "datacellar:timeStamp": "2023-05-23 15:00:00",
237
- "datacellar:value": 12.79
238
- },
239
- {
240
- "@type": "datacellar:DataPoint",
241
- "datacellar:timeStamp": "2023-05-23 16:00:00",
242
- "datacellar:value": 2.99
243
- },
244
- {
245
- "@type": "datacellar:DataPoint",
246
- "datacellar:timeStamp": "2023-05-23 17:00:00",
247
- "datacellar:value": 3.21
248
- },
249
- {
250
- "@type": "datacellar:DataPoint",
251
- "datacellar:timeStamp": "2023-05-23 18:00:00",
252
- "datacellar:value": 2.61
253
- },
254
- {
255
- "@type": "datacellar:DataPoint",
256
- "datacellar:timeStamp": "2023-05-23 19:00:00",
257
- "datacellar:value": 1.06
258
- },
259
- {
260
- "@type": "datacellar:DataPoint",
261
- "datacellar:timeStamp": "2023-05-23 20:00:00",
262
- "datacellar:value": 0.34
263
- },
264
- {
265
- "@type": "datacellar:DataPoint",
266
- "datacellar:timeStamp": "2023-05-23 21:00:00",
267
- "datacellar:value": 0.09
268
- },
269
- {
270
- "@type": "datacellar:DataPoint",
271
- "datacellar:timeStamp": "2023-05-23 22:00:00",
272
- "datacellar:value": 0.0
273
- },
274
- {
275
- "@type": "datacellar:DataPoint",
276
- "datacellar:timeStamp": "2023-05-23 23:00:00",
277
- "datacellar:value": 0.0
278
- },
279
- {
280
- "@type": "datacellar:DataPoint",
281
- "datacellar:timeStamp": "2023-05-24 00:00:00",
282
- "datacellar:value": 0.0
283
- },
284
- {
285
- "@type": "datacellar:DataPoint",
286
- "datacellar:timeStamp": "2023-05-24 01:00:00",
287
- "datacellar:value": 0.0
288
- },
289
- {
290
- "@type": "datacellar:DataPoint",
291
- "datacellar:timeStamp": "2023-05-24 02:00:00",
292
- "datacellar:value": 0.0
293
- },
294
- {
295
- "@type": "datacellar:DataPoint",
296
- "datacellar:timeStamp": "2023-05-24 03:00:00",
297
- "datacellar:value": 0.0
298
- },
299
- {
300
- "@type": "datacellar:DataPoint",
301
- "datacellar:timeStamp": "2023-05-24 04:00:00",
302
- "datacellar:value": 0.0
303
- },
304
- {
305
- "@type": "datacellar:DataPoint",
306
- "datacellar:timeStamp": "2023-05-24 05:00:00",
307
- "datacellar:value": 0.0
308
- },
309
- {
310
- "@type": "datacellar:DataPoint",
311
- "datacellar:timeStamp": "2023-05-24 06:00:00",
312
- "datacellar:value": 0.0
313
- },
314
- {
315
- "@type": "datacellar:DataPoint",
316
- "datacellar:timeStamp": "2023-05-24 07:00:00",
317
- "datacellar:value": 0.0
318
- },
319
- {
320
- "@type": "datacellar:DataPoint",
321
- "datacellar:timeStamp": "2023-05-24 08:00:00",
322
- "datacellar:value": 0.16
323
- },
324
- {
325
- "@type": "datacellar:DataPoint",
326
- "datacellar:timeStamp": "2023-05-24 09:00:00",
327
- "datacellar:value": 0.95
328
- },
329
- {
330
- "@type": "datacellar:DataPoint",
331
- "datacellar:timeStamp": "2023-05-24 10:00:00",
332
- "datacellar:value": 1.96
333
- },
334
- {
335
- "@type": "datacellar:DataPoint",
336
- "datacellar:timeStamp": "2023-05-24 11:00:00",
337
- "datacellar:value": 4.29
338
- },
339
- {
340
- "@type": "datacellar:DataPoint",
341
- "datacellar:timeStamp": "2023-05-24 12:00:00",
342
- "datacellar:value": 6.16
343
- },
344
- {
345
- "@type": "datacellar:DataPoint",
346
- "datacellar:timeStamp": "2023-05-24 13:00:00",
347
- "datacellar:value": 5.81
348
- },
349
- {
350
- "@type": "datacellar:DataPoint",
351
- "datacellar:timeStamp": "2023-05-24 14:00:00",
352
- "datacellar:value": 3.08
353
- },
354
- {
355
- "@type": "datacellar:DataPoint",
356
- "datacellar:timeStamp": "2023-05-24 15:00:00",
357
- "datacellar:value": 2.89
358
- },
359
- {
360
- "@type": "datacellar:DataPoint",
361
- "datacellar:timeStamp": "2023-05-24 16:00:00",
362
- "datacellar:value": 3.35
363
- },
364
- {
365
- "@type": "datacellar:DataPoint",
366
- "datacellar:timeStamp": "2023-05-24 17:00:00",
367
- "datacellar:value": 3.63
368
- },
369
- {
370
- "@type": "datacellar:DataPoint",
371
- "datacellar:timeStamp": "2023-05-24 18:00:00",
372
- "datacellar:value": 2.43
373
- },
374
- {
375
- "@type": "datacellar:DataPoint",
376
- "datacellar:timeStamp": "2023-05-24 19:00:00",
377
- "datacellar:value": 2.72
378
- },
379
- {
380
- "@type": "datacellar:DataPoint",
381
- "datacellar:timeStamp": "2023-05-24 20:00:00",
382
- "datacellar:value": 7.57
383
- },
384
- {
385
- "@type": "datacellar:DataPoint",
386
- "datacellar:timeStamp": "2023-05-24 21:00:00",
387
- "datacellar:value": 2.0
388
- },
389
- {
390
- "@type": "datacellar:DataPoint",
391
- "datacellar:timeStamp": "2023-05-24 22:00:00",
392
- "datacellar:value": 0.06
393
- },
394
- {
395
- "@type": "datacellar:DataPoint",
396
- "datacellar:timeStamp": "2023-05-24 23:00:00",
397
- "datacellar:value": 0.0
398
- },
399
- {
400
- "@type": "datacellar:DataPoint",
401
- "datacellar:timeStamp": "2023-05-25 00:00:00",
402
- "datacellar:value": 0.0
403
- },
404
- {
405
- "@type": "datacellar:DataPoint",
406
- "datacellar:timeStamp": "2023-05-25 01:00:00",
407
- "datacellar:value": 0.0
408
- },
409
- {
410
- "@type": "datacellar:DataPoint",
411
- "datacellar:timeStamp": "2023-05-25 02:00:00",
412
- "datacellar:value": 0.0
413
- },
414
- {
415
- "@type": "datacellar:DataPoint",
416
- "datacellar:timeStamp": "2023-05-25 03:00:00",
417
- "datacellar:value": 0.0
418
- },
419
- {
420
- "@type": "datacellar:DataPoint",
421
- "datacellar:timeStamp": "2023-05-25 04:00:00",
422
- "datacellar:value": 0.0
423
- },
424
- {
425
- "@type": "datacellar:DataPoint",
426
- "datacellar:timeStamp": "2023-05-25 05:00:00",
427
- "datacellar:value": 0.0
428
- },
429
- {
430
- "@type": "datacellar:DataPoint",
431
- "datacellar:timeStamp": "2023-05-25 06:00:00",
432
- "datacellar:value": 0.0
433
- },
434
- {
435
- "@type": "datacellar:DataPoint",
436
- "datacellar:timeStamp": "2023-05-25 07:00:00",
437
- "datacellar:value": 0.0
438
- },
439
- {
440
- "@type": "datacellar:DataPoint",
441
- "datacellar:timeStamp": "2023-05-25 08:00:00",
442
- "datacellar:value": 0.38
443
- },
444
- {
445
- "@type": "datacellar:DataPoint",
446
- "datacellar:timeStamp": "2023-05-25 09:00:00",
447
- "datacellar:value": 1.81
448
- },
449
- {
450
- "@type": "datacellar:DataPoint",
451
- "datacellar:timeStamp": "2023-05-25 10:00:00",
452
- "datacellar:value": 4.12
453
- },
454
- {
455
- "@type": "datacellar:DataPoint",
456
- "datacellar:timeStamp": "2023-05-25 11:00:00",
457
- "datacellar:value": 5.63
458
- },
459
- {
460
- "@type": "datacellar:DataPoint",
461
- "datacellar:timeStamp": "2023-05-25 12:00:00",
462
- "datacellar:value": 11.45
463
- },
464
- {
465
- "@type": "datacellar:DataPoint",
466
- "datacellar:timeStamp": "2023-05-25 13:00:00",
467
- "datacellar:value": 13.85
468
- },
469
- {
470
- "@type": "datacellar:DataPoint",
471
- "datacellar:timeStamp": "2023-05-25 14:00:00",
472
- "datacellar:value": 11.43
473
- },
474
- {
475
- "@type": "datacellar:DataPoint",
476
- "datacellar:timeStamp": "2023-05-25 15:00:00",
477
- "datacellar:value": 15.22
478
- },
479
- {
480
- "@type": "datacellar:DataPoint",
481
- "datacellar:timeStamp": "2023-05-25 16:00:00",
482
- "datacellar:value": 14.9
483
- },
484
- {
485
- "@type": "datacellar:DataPoint",
486
- "datacellar:timeStamp": "2023-05-25 17:00:00",
487
- "datacellar:value": 15.17
488
- },
489
- {
490
- "@type": "datacellar:DataPoint",
491
- "datacellar:timeStamp": "2023-05-25 18:00:00",
492
- "datacellar:value": 10.68
493
- },
494
- {
495
- "@type": "datacellar:DataPoint",
496
- "datacellar:timeStamp": "2023-05-25 19:00:00",
497
- "datacellar:value": 10.1
498
- },
499
- {
500
- "@type": "datacellar:DataPoint",
501
- "datacellar:timeStamp": "2023-05-25 20:00:00",
502
- "datacellar:value": 2.49
503
- },
504
- {
505
- "@type": "datacellar:DataPoint",
506
- "datacellar:timeStamp": "2023-05-25 21:00:00",
507
- "datacellar:value": 0.57
508
- },
509
- {
510
- "@type": "datacellar:DataPoint",
511
- "datacellar:timeStamp": "2023-05-25 22:00:00",
512
- "datacellar:value": 0.12
513
- },
514
- {
515
- "@type": "datacellar:DataPoint",
516
- "datacellar:timeStamp": "2023-05-25 23:00:00",
517
- "datacellar:value": 0.0
518
- },
519
- {
520
- "@type": "datacellar:DataPoint",
521
- "datacellar:timeStamp": "2023-05-26 00:00:00",
522
- "datacellar:value": 0.0
523
- },
524
- {
525
- "@type": "datacellar:DataPoint",
526
- "datacellar:timeStamp": "2023-05-26 01:00:00",
527
- "datacellar:value": 0.0
528
- },
529
- {
530
- "@type": "datacellar:DataPoint",
531
- "datacellar:timeStamp": "2023-05-26 02:00:00",
532
- "datacellar:value": 0.0
533
- },
534
- {
535
- "@type": "datacellar:DataPoint",
536
- "datacellar:timeStamp": "2023-05-26 03:00:00",
537
- "datacellar:value": 0.0
538
- },
539
- {
540
- "@type": "datacellar:DataPoint",
541
- "datacellar:timeStamp": "2023-05-26 04:00:00",
542
- "datacellar:value": 0.0
543
- },
544
- {
545
- "@type": "datacellar:DataPoint",
546
- "datacellar:timeStamp": "2023-05-26 05:00:00",
547
- "datacellar:value": 0.0
548
- },
549
- {
550
- "@type": "datacellar:DataPoint",
551
- "datacellar:timeStamp": "2023-05-26 06:00:00",
552
- "datacellar:value": 0.0
553
- },
554
- {
555
- "@type": "datacellar:DataPoint",
556
- "datacellar:timeStamp": "2023-05-26 07:00:00",
557
- "datacellar:value": 0.0
558
- },
559
- {
560
- "@type": "datacellar:DataPoint",
561
- "datacellar:timeStamp": "2023-05-26 08:00:00",
562
- "datacellar:value": 0.33
563
- },
564
- {
565
- "@type": "datacellar:DataPoint",
566
- "datacellar:timeStamp": "2023-05-26 09:00:00",
567
- "datacellar:value": 1.2
568
- },
569
- {
570
- "@type": "datacellar:DataPoint",
571
- "datacellar:timeStamp": "2023-05-26 10:00:00",
572
- "datacellar:value": 2.19
573
- },
574
- {
575
- "@type": "datacellar:DataPoint",
576
- "datacellar:timeStamp": "2023-05-26 11:00:00",
577
- "datacellar:value": 6.46
578
- },
579
- {
580
- "@type": "datacellar:DataPoint",
581
- "datacellar:timeStamp": "2023-05-26 12:00:00",
582
- "datacellar:value": 11.84
583
- },
584
- {
585
- "@type": "datacellar:DataPoint",
586
- "datacellar:timeStamp": "2023-05-26 13:00:00",
587
- "datacellar:value": 15.89
588
- },
589
- {
590
- "@type": "datacellar:DataPoint",
591
- "datacellar:timeStamp": "2023-05-26 14:00:00",
592
- "datacellar:value": 16.88
593
- },
594
- {
595
- "@type": "datacellar:DataPoint",
596
- "datacellar:timeStamp": "2023-05-26 15:00:00",
597
- "datacellar:value": 19.48
598
- },
599
- {
600
- "@type": "datacellar:DataPoint",
601
- "datacellar:timeStamp": "2023-05-26 16:00:00",
602
- "datacellar:value": 18.25
603
- },
604
- {
605
- "@type": "datacellar:DataPoint",
606
- "datacellar:timeStamp": "2023-05-26 17:00:00",
607
- "datacellar:value": 11.09
608
- },
609
- {
610
- "@type": "datacellar:DataPoint",
611
- "datacellar:timeStamp": "2023-05-26 18:00:00",
612
- "datacellar:value": 13.21
613
- },
614
- {
615
- "@type": "datacellar:DataPoint",
616
- "datacellar:timeStamp": "2023-05-26 19:00:00",
617
- "datacellar:value": 11.81
618
- },
619
- {
620
- "@type": "datacellar:DataPoint",
621
- "datacellar:timeStamp": "2023-05-26 20:00:00",
622
- "datacellar:value": 5.04
623
- },
624
- {
625
- "@type": "datacellar:DataPoint",
626
- "datacellar:timeStamp": "2023-05-26 21:00:00",
627
- "datacellar:value": 1.05
628
- },
629
- {
630
- "@type": "datacellar:DataPoint",
631
- "datacellar:timeStamp": "2023-05-26 22:00:00",
632
- "datacellar:value": 0.1
633
- },
634
- {
635
- "@type": "datacellar:DataPoint",
636
- "datacellar:timeStamp": "2023-05-26 23:00:00",
637
- "datacellar:value": 0.0
638
- },
639
- {
640
- "@type": "datacellar:DataPoint",
641
- "datacellar:timeStamp": "2023-05-27 00:00:00",
642
- "datacellar:value": 0.0
643
- },
644
- {
645
- "@type": "datacellar:DataPoint",
646
- "datacellar:timeStamp": "2023-05-27 01:00:00",
647
- "datacellar:value": 0.0
648
- },
649
- {
650
- "@type": "datacellar:DataPoint",
651
- "datacellar:timeStamp": "2023-05-27 02:00:00",
652
- "datacellar:value": 0.0
653
- },
654
- {
655
- "@type": "datacellar:DataPoint",
656
- "datacellar:timeStamp": "2023-05-27 03:00:00",
657
- "datacellar:value": 0.0
658
- },
659
- {
660
- "@type": "datacellar:DataPoint",
661
- "datacellar:timeStamp": "2023-05-27 04:00:00",
662
- "datacellar:value": 0.0
663
- },
664
- {
665
- "@type": "datacellar:DataPoint",
666
- "datacellar:timeStamp": "2023-05-27 05:00:00",
667
- "datacellar:value": 0.0
668
- },
669
- {
670
- "@type": "datacellar:DataPoint",
671
- "datacellar:timeStamp": "2023-05-27 06:00:00",
672
- "datacellar:value": 0.0
673
- },
674
- {
675
- "@type": "datacellar:DataPoint",
676
- "datacellar:timeStamp": "2023-05-27 07:00:00",
677
- "datacellar:value": 0.01
678
- },
679
- {
680
- "@type": "datacellar:DataPoint",
681
- "datacellar:timeStamp": "2023-05-27 08:00:00",
682
- "datacellar:value": 0.31
683
- },
684
- {
685
- "@type": "datacellar:DataPoint",
686
- "datacellar:timeStamp": "2023-05-27 09:00:00",
687
- "datacellar:value": 0.87
688
- },
689
- {
690
- "@type": "datacellar:DataPoint",
691
- "datacellar:timeStamp": "2023-05-27 10:00:00",
692
- "datacellar:value": 3.05
693
- },
694
- {
695
- "@type": "datacellar:DataPoint",
696
- "datacellar:timeStamp": "2023-05-27 11:00:00",
697
- "datacellar:value": 6.23
698
- },
699
- {
700
- "@type": "datacellar:DataPoint",
701
- "datacellar:timeStamp": "2023-05-27 12:00:00",
702
- "datacellar:value": 10.83
703
- },
704
- {
705
- "@type": "datacellar:DataPoint",
706
- "datacellar:timeStamp": "2023-05-27 13:00:00",
707
- "datacellar:value": 13.24
708
- },
709
- {
710
- "@type": "datacellar:DataPoint",
711
- "datacellar:timeStamp": "2023-05-27 14:00:00",
712
- "datacellar:value": 15.82
713
- },
714
- {
715
- "@type": "datacellar:DataPoint",
716
- "datacellar:timeStamp": "2023-05-27 15:00:00",
717
- "datacellar:value": 10.83
718
- },
719
- {
720
- "@type": "datacellar:DataPoint",
721
- "datacellar:timeStamp": "2023-05-27 16:00:00",
722
- "datacellar:value": 2.51
723
- },
724
- {
725
- "@type": "datacellar:DataPoint",
726
- "datacellar:timeStamp": "2023-05-27 17:00:00",
727
- "datacellar:value": 1.4
728
- },
729
- {
730
- "@type": "datacellar:DataPoint",
731
- "datacellar:timeStamp": "2023-05-27 18:00:00",
732
- "datacellar:value": 3.17
733
- },
734
- {
735
- "@type": "datacellar:DataPoint",
736
- "datacellar:timeStamp": "2023-05-27 19:00:00",
737
- "datacellar:value": 2.77
738
- },
739
- {
740
- "@type": "datacellar:DataPoint",
741
- "datacellar:timeStamp": "2023-05-27 20:00:00",
742
- "datacellar:value": 1.99
743
- },
744
- {
745
- "@type": "datacellar:DataPoint",
746
- "datacellar:timeStamp": "2023-05-27 21:00:00",
747
- "datacellar:value": 1.41
748
- },
749
- {
750
- "@type": "datacellar:DataPoint",
751
- "datacellar:timeStamp": "2023-05-27 22:00:00",
752
- "datacellar:value": 0.25
753
- },
754
- {
755
- "@type": "datacellar:DataPoint",
756
- "datacellar:timeStamp": "2023-05-27 23:00:00",
757
- "datacellar:value": 0.0
758
- },
759
- {
760
- "@type": "datacellar:DataPoint",
761
- "datacellar:timeStamp": "2023-05-28 00:00:00",
762
- "datacellar:value": 0.0
763
- },
764
- {
765
- "@type": "datacellar:DataPoint",
766
- "datacellar:timeStamp": "2023-05-28 01:00:00",
767
- "datacellar:value": 0.0
768
- },
769
- {
770
- "@type": "datacellar:DataPoint",
771
- "datacellar:timeStamp": "2023-05-28 02:00:00",
772
- "datacellar:value": 0.0
773
- },
774
- {
775
- "@type": "datacellar:DataPoint",
776
- "datacellar:timeStamp": "2023-05-28 03:00:00",
777
- "datacellar:value": 0.0
778
- },
779
- {
780
- "@type": "datacellar:DataPoint",
781
- "datacellar:timeStamp": "2023-05-28 04:00:00",
782
- "datacellar:value": 0.0
783
- },
784
- {
785
- "@type": "datacellar:DataPoint",
786
- "datacellar:timeStamp": "2023-05-28 05:00:00",
787
- "datacellar:value": 0.0
788
- },
789
- {
790
- "@type": "datacellar:DataPoint",
791
- "datacellar:timeStamp": "2023-05-28 06:00:00",
792
- "datacellar:value": 0.0
793
- },
794
- {
795
- "@type": "datacellar:DataPoint",
796
- "datacellar:timeStamp": "2023-05-28 07:00:00",
797
- "datacellar:value": 0.0
798
- },
799
- {
800
- "@type": "datacellar:DataPoint",
801
- "datacellar:timeStamp": "2023-05-28 08:00:00",
802
- "datacellar:value": 0.54
803
- },
804
- {
805
- "@type": "datacellar:DataPoint",
806
- "datacellar:timeStamp": "2023-05-28 09:00:00",
807
- "datacellar:value": 1.02
808
- },
809
- {
810
- "@type": "datacellar:DataPoint",
811
- "datacellar:timeStamp": "2023-05-28 10:00:00",
812
- "datacellar:value": 4.15
813
- },
814
- {
815
- "@type": "datacellar:DataPoint",
816
- "datacellar:timeStamp": "2023-05-28 11:00:00",
817
- "datacellar:value": 7.37
818
- },
819
- {
820
- "@type": "datacellar:DataPoint",
821
- "datacellar:timeStamp": "2023-05-28 12:00:00",
822
- "datacellar:value": 8.93
823
- },
824
- {
825
- "@type": "datacellar:DataPoint",
826
- "datacellar:timeStamp": "2023-05-28 13:00:00",
827
- "datacellar:value": 12.33
828
- },
829
- {
830
- "@type": "datacellar:DataPoint",
831
- "datacellar:timeStamp": "2023-05-28 14:00:00",
832
- "datacellar:value": 11.06
833
- },
834
- {
835
- "@type": "datacellar:DataPoint",
836
- "datacellar:timeStamp": "2023-05-28 15:00:00",
837
- "datacellar:value": 16.86
838
- },
839
- {
840
- "@type": "datacellar:DataPoint",
841
- "datacellar:timeStamp": "2023-05-28 16:00:00",
842
- "datacellar:value": 17.76
843
- },
844
- {
845
- "@type": "datacellar:DataPoint",
846
- "datacellar:timeStamp": "2023-05-28 17:00:00",
847
- "datacellar:value": 17.04
848
- },
849
- {
850
- "@type": "datacellar:DataPoint",
851
- "datacellar:timeStamp": "2023-05-28 18:00:00",
852
- "datacellar:value": 11.85
853
- },
854
- {
855
- "@type": "datacellar:DataPoint",
856
- "datacellar:timeStamp": "2023-05-28 19:00:00",
857
- "datacellar:value": 12.04
858
- },
859
- {
860
- "@type": "datacellar:DataPoint",
861
- "datacellar:timeStamp": "2023-05-28 20:00:00",
862
- "datacellar:value": 3.56
863
- },
864
- {
865
- "@type": "datacellar:DataPoint",
866
- "datacellar:timeStamp": "2023-05-28 21:00:00",
867
- "datacellar:value": 0.66
868
- },
869
- {
870
- "@type": "datacellar:DataPoint",
871
- "datacellar:timeStamp": "2023-05-28 22:00:00",
872
- "datacellar:value": 0.02
873
- },
874
- {
875
- "@type": "datacellar:DataPoint",
876
- "datacellar:timeStamp": "2023-05-28 23:00:00",
877
- "datacellar:value": 0.0
878
- },
879
- {
880
- "@type": "datacellar:DataPoint",
881
- "datacellar:timeStamp": "2023-05-29 00:00:00",
882
- "datacellar:value": 0.0
883
- },
884
- {
885
- "@type": "datacellar:DataPoint",
886
- "datacellar:timeStamp": "2023-05-29 01:00:00",
887
- "datacellar:value": 0.0
888
- },
889
- {
890
- "@type": "datacellar:DataPoint",
891
- "datacellar:timeStamp": "2023-05-29 02:00:00",
892
- "datacellar:value": 0.0
893
- },
894
- {
895
- "@type": "datacellar:DataPoint",
896
- "datacellar:timeStamp": "2023-05-29 03:00:00",
897
- "datacellar:value": 0.0
898
- },
899
- {
900
- "@type": "datacellar:DataPoint",
901
- "datacellar:timeStamp": "2023-05-29 04:00:00",
902
- "datacellar:value": 0.0
903
- },
904
- {
905
- "@type": "datacellar:DataPoint",
906
- "datacellar:timeStamp": "2023-05-29 05:00:00",
907
- "datacellar:value": 0.0
908
- },
909
- {
910
- "@type": "datacellar:DataPoint",
911
- "datacellar:timeStamp": "2023-05-29 06:00:00",
912
- "datacellar:value": 0.0
913
- },
914
- {
915
- "@type": "datacellar:DataPoint",
916
- "datacellar:timeStamp": "2023-05-29 07:00:00",
917
- "datacellar:value": 0.0
918
- },
919
- {
920
- "@type": "datacellar:DataPoint",
921
- "datacellar:timeStamp": "2023-05-29 08:00:00",
922
- "datacellar:value": 0.41
923
- },
924
- {
925
- "@type": "datacellar:DataPoint",
926
- "datacellar:timeStamp": "2023-05-29 09:00:00",
927
- "datacellar:value": 1.15
928
- },
929
- {
930
- "@type": "datacellar:DataPoint",
931
- "datacellar:timeStamp": "2023-05-29 10:00:00",
932
- "datacellar:value": 3.14
933
- },
934
- {
935
- "@type": "datacellar:DataPoint",
936
- "datacellar:timeStamp": "2023-05-29 11:00:00",
937
- "datacellar:value": 7.33
938
- },
939
- {
940
- "@type": "datacellar:DataPoint",
941
- "datacellar:timeStamp": "2023-05-29 12:00:00",
942
- "datacellar:value": 11.56
943
- },
944
- {
945
- "@type": "datacellar:DataPoint",
946
- "datacellar:timeStamp": "2023-05-29 13:00:00",
947
- "datacellar:value": 13.75
948
- },
949
- {
950
- "@type": "datacellar:DataPoint",
951
- "datacellar:timeStamp": "2023-05-29 14:00:00",
952
- "datacellar:value": 13.33
953
- },
954
- {
955
- "@type": "datacellar:DataPoint",
956
- "datacellar:timeStamp": "2023-05-29 15:00:00",
957
- "datacellar:value": 8.95
958
- },
959
- {
960
- "@type": "datacellar:DataPoint",
961
- "datacellar:timeStamp": "2023-05-29 16:00:00",
962
- "datacellar:value": 5.12
963
- },
964
- {
965
- "@type": "datacellar:DataPoint",
966
- "datacellar:timeStamp": "2023-05-29 17:00:00",
967
- "datacellar:value": 9.63
968
- },
969
- {
970
- "@type": "datacellar:DataPoint",
971
- "datacellar:timeStamp": "2023-05-29 18:00:00",
972
- "datacellar:value": 12.7
973
- },
974
- {
975
- "@type": "datacellar:DataPoint",
976
- "datacellar:timeStamp": "2023-05-29 19:00:00",
977
- "datacellar:value": 11.21
978
- },
979
- {
980
- "@type": "datacellar:DataPoint",
981
- "datacellar:timeStamp": "2023-05-29 20:00:00",
982
- "datacellar:value": 7.26
983
- },
984
- {
985
- "@type": "datacellar:DataPoint",
986
- "datacellar:timeStamp": "2023-05-29 21:00:00",
987
- "datacellar:value": 3.26
988
- },
989
- {
990
- "@type": "datacellar:DataPoint",
991
- "datacellar:timeStamp": "2023-05-29 22:00:00",
992
- "datacellar:value": 0.43
993
- },
994
- {
995
- "@type": "datacellar:DataPoint",
996
- "datacellar:timeStamp": "2023-05-29 23:00:00",
997
- "datacellar:value": 0.0
998
- },
999
- {
1000
- "@type": "datacellar:DataPoint",
1001
- "datacellar:timeStamp": "2023-05-30 00:00:00",
1002
- "datacellar:value": 0.0
1003
- },
1004
- {
1005
- "@type": "datacellar:DataPoint",
1006
- "datacellar:timeStamp": "2023-05-30 01:00:00",
1007
- "datacellar:value": 0.0
1008
- },
1009
- {
1010
- "@type": "datacellar:DataPoint",
1011
- "datacellar:timeStamp": "2023-05-30 02:00:00",
1012
- "datacellar:value": 0.0
1013
- },
1014
- {
1015
- "@type": "datacellar:DataPoint",
1016
- "datacellar:timeStamp": "2023-05-30 03:00:00",
1017
- "datacellar:value": 0.0
1018
- },
1019
- {
1020
- "@type": "datacellar:DataPoint",
1021
- "datacellar:timeStamp": "2023-05-30 04:00:00",
1022
- "datacellar:value": 0.0
1023
- },
1024
- {
1025
- "@type": "datacellar:DataPoint",
1026
- "datacellar:timeStamp": "2023-05-30 05:00:00",
1027
- "datacellar:value": 0.0
1028
- },
1029
- {
1030
- "@type": "datacellar:DataPoint",
1031
- "datacellar:timeStamp": "2023-05-30 06:00:00",
1032
- "datacellar:value": 0.0
1033
- },
1034
- {
1035
- "@type": "datacellar:DataPoint",
1036
- "datacellar:timeStamp": "2023-05-30 07:00:00",
1037
- "datacellar:value": 0.0
1038
- },
1039
- {
1040
- "@type": "datacellar:DataPoint",
1041
- "datacellar:timeStamp": "2023-05-30 08:00:00",
1042
- "datacellar:value": 0.37
1043
- },
1044
- {
1045
- "@type": "datacellar:DataPoint",
1046
- "datacellar:timeStamp": "2023-05-30 09:00:00",
1047
- "datacellar:value": 1.03
1048
- },
1049
- {
1050
- "@type": "datacellar:DataPoint",
1051
- "datacellar:timeStamp": "2023-05-30 10:00:00",
1052
- "datacellar:value": 3.3
1053
- },
1054
- {
1055
- "@type": "datacellar:DataPoint",
1056
- "datacellar:timeStamp": "2023-05-30 11:00:00",
1057
- "datacellar:value": 7.65
1058
- },
1059
- {
1060
- "@type": "datacellar:DataPoint",
1061
- "datacellar:timeStamp": "2023-05-30 12:00:00",
1062
- "datacellar:value": 9.98
1063
- },
1064
- {
1065
- "@type": "datacellar:DataPoint",
1066
- "datacellar:timeStamp": "2023-05-30 13:00:00",
1067
- "datacellar:value": 10.5
1068
- },
1069
- {
1070
- "@type": "datacellar:DataPoint",
1071
- "datacellar:timeStamp": "2023-05-30 14:00:00",
1072
- "datacellar:value": 15.83
1073
- },
1074
- {
1075
- "@type": "datacellar:DataPoint",
1076
- "datacellar:timeStamp": "2023-05-30 15:00:00",
1077
- "datacellar:value": 17.02
1078
- },
1079
- {
1080
- "@type": "datacellar:DataPoint",
1081
- "datacellar:timeStamp": "2023-05-30 16:00:00",
1082
- "datacellar:value": 17.07
1083
- },
1084
- {
1085
- "@type": "datacellar:DataPoint",
1086
- "datacellar:timeStamp": "2023-05-30 17:00:00",
1087
- "datacellar:value": 14.23
1088
- },
1089
- {
1090
- "@type": "datacellar:DataPoint",
1091
- "datacellar:timeStamp": "2023-05-30 18:00:00",
1092
- "datacellar:value": 4.23
1093
- },
1094
- {
1095
- "@type": "datacellar:DataPoint",
1096
- "datacellar:timeStamp": "2023-05-30 19:00:00",
1097
- "datacellar:value": 7.97
1098
- },
1099
- {
1100
- "@type": "datacellar:DataPoint",
1101
- "datacellar:timeStamp": "2023-05-30 20:00:00",
1102
- "datacellar:value": 6.77
1103
- },
1104
- {
1105
- "@type": "datacellar:DataPoint",
1106
- "datacellar:timeStamp": "2023-05-30 21:00:00",
1107
- "datacellar:value": 3.44
1108
- },
1109
- {
1110
- "@type": "datacellar:DataPoint",
1111
- "datacellar:timeStamp": "2023-05-30 22:00:00",
1112
- "datacellar:value": 0.44
1113
- },
1114
- {
1115
- "@type": "datacellar:DataPoint",
1116
- "datacellar:timeStamp": "2023-05-30 23:00:00",
1117
- "datacellar:value": 0.0
1118
- },
1119
- {
1120
- "@type": "datacellar:DataPoint",
1121
- "datacellar:timeStamp": "2023-05-31 00:00:00",
1122
- "datacellar:value": 0.0
1123
- },
1124
- {
1125
- "@type": "datacellar:DataPoint",
1126
- "datacellar:timeStamp": "2023-05-31 01:00:00",
1127
- "datacellar:value": 0.0
1128
- },
1129
- {
1130
- "@type": "datacellar:DataPoint",
1131
- "datacellar:timeStamp": "2023-05-31 02:00:00",
1132
- "datacellar:value": 0.0
1133
- },
1134
- {
1135
- "@type": "datacellar:DataPoint",
1136
- "datacellar:timeStamp": "2023-05-31 03:00:00",
1137
- "datacellar:value": 0.0
1138
- },
1139
- {
1140
- "@type": "datacellar:DataPoint",
1141
- "datacellar:timeStamp": "2023-05-31 04:00:00",
1142
- "datacellar:value": 0.0
1143
- },
1144
- {
1145
- "@type": "datacellar:DataPoint",
1146
- "datacellar:timeStamp": "2023-05-31 05:00:00",
1147
- "datacellar:value": 0.0
1148
- },
1149
- {
1150
- "@type": "datacellar:DataPoint",
1151
- "datacellar:timeStamp": "2023-05-31 06:00:00",
1152
- "datacellar:value": 0.0
1153
- },
1154
- {
1155
- "@type": "datacellar:DataPoint",
1156
- "datacellar:timeStamp": "2023-05-31 07:00:00",
1157
- "datacellar:value": 0.0
1158
- },
1159
- {
1160
- "@type": "datacellar:DataPoint",
1161
- "datacellar:timeStamp": "2023-05-31 08:00:00",
1162
- "datacellar:value": 0.39
1163
- },
1164
- {
1165
- "@type": "datacellar:DataPoint",
1166
- "datacellar:timeStamp": "2023-05-31 09:00:00",
1167
- "datacellar:value": 1.93
1168
- },
1169
- {
1170
- "@type": "datacellar:DataPoint",
1171
- "datacellar:timeStamp": "2023-05-31 10:00:00",
1172
- "datacellar:value": 3.18
1173
- },
1174
- {
1175
- "@type": "datacellar:DataPoint",
1176
- "datacellar:timeStamp": "2023-05-31 11:00:00",
1177
- "datacellar:value": 3.91
1178
- },
1179
- {
1180
- "@type": "datacellar:DataPoint",
1181
- "datacellar:timeStamp": "2023-05-31 12:00:00",
1182
- "datacellar:value": 3.62
1183
- },
1184
- {
1185
- "@type": "datacellar:DataPoint",
1186
- "datacellar:timeStamp": "2023-05-31 13:00:00",
1187
- "datacellar:value": 11.42
1188
- },
1189
- {
1190
- "@type": "datacellar:DataPoint",
1191
- "datacellar:timeStamp": "2023-05-31 14:00:00",
1192
- "datacellar:value": 17.15
1193
- },
1194
- {
1195
- "@type": "datacellar:DataPoint",
1196
- "datacellar:timeStamp": "2023-05-31 15:00:00",
1197
- "datacellar:value": 15.14
1198
- },
1199
- {
1200
- "@type": "datacellar:DataPoint",
1201
- "datacellar:timeStamp": "2023-05-31 16:00:00",
1202
- "datacellar:value": 15.11
1203
- },
1204
- {
1205
- "@type": "datacellar:DataPoint",
1206
- "datacellar:timeStamp": "2023-05-31 17:00:00",
1207
- "datacellar:value": 17.49
1208
- },
1209
- {
1210
- "@type": "datacellar:DataPoint",
1211
- "datacellar:timeStamp": "2023-05-31 18:00:00",
1212
- "datacellar:value": 14.46
1213
- },
1214
- {
1215
- "@type": "datacellar:DataPoint",
1216
- "datacellar:timeStamp": "2023-05-31 19:00:00",
1217
- "datacellar:value": 11.42
1218
- },
1219
- {
1220
- "@type": "datacellar:DataPoint",
1221
- "datacellar:timeStamp": "2023-05-31 20:00:00",
1222
- "datacellar:value": 7.18
1223
- },
1224
- {
1225
- "@type": "datacellar:DataPoint",
1226
- "datacellar:timeStamp": "2023-05-31 21:00:00",
1227
- "datacellar:value": 2.8
1228
- },
1229
- {
1230
- "@type": "datacellar:DataPoint",
1231
- "datacellar:timeStamp": "2023-05-31 22:00:00",
1232
- "datacellar:value": 0.3
1233
- },
1234
- {
1235
- "@type": "datacellar:DataPoint",
1236
- "datacellar:timeStamp": "2023-05-31 23:00:00",
1237
- "datacellar:value": 0.0
1238
- },
1239
- {
1240
- "@type": "datacellar:DataPoint",
1241
- "datacellar:timeStamp": "2023-06-01 00:00:00",
1242
- "datacellar:value": 0.0
1243
- },
1244
- {
1245
- "@type": "datacellar:DataPoint",
1246
- "datacellar:timeStamp": "2023-06-01 01:00:00",
1247
- "datacellar:value": 0.0
1248
- },
1249
- {
1250
- "@type": "datacellar:DataPoint",
1251
- "datacellar:timeStamp": "2023-06-01 02:00:00",
1252
- "datacellar:value": 0.0
1253
- },
1254
- {
1255
- "@type": "datacellar:DataPoint",
1256
- "datacellar:timeStamp": "2023-06-01 03:00:00",
1257
- "datacellar:value": 0.0
1258
- },
1259
- {
1260
- "@type": "datacellar:DataPoint",
1261
- "datacellar:timeStamp": "2023-06-01 04:00:00",
1262
- "datacellar:value": 0.0
1263
- },
1264
- {
1265
- "@type": "datacellar:DataPoint",
1266
- "datacellar:timeStamp": "2023-06-01 05:00:00",
1267
- "datacellar:value": 0.0
1268
- },
1269
- {
1270
- "@type": "datacellar:DataPoint",
1271
- "datacellar:timeStamp": "2023-06-01 06:00:00",
1272
- "datacellar:value": 0.0
1273
- },
1274
- {
1275
- "@type": "datacellar:DataPoint",
1276
- "datacellar:timeStamp": "2023-06-01 07:00:00",
1277
- "datacellar:value": 0.0
1278
- },
1279
- {
1280
- "@type": "datacellar:DataPoint",
1281
- "datacellar:timeStamp": "2023-06-01 08:00:00",
1282
- "datacellar:value": 0.37
1283
- },
1284
- {
1285
- "@type": "datacellar:DataPoint",
1286
- "datacellar:timeStamp": "2023-06-01 09:00:00",
1287
- "datacellar:value": 1.97
1288
- },
1289
- {
1290
- "@type": "datacellar:DataPoint",
1291
- "datacellar:timeStamp": "2023-06-01 10:00:00",
1292
- "datacellar:value": 3.47
1293
- },
1294
- {
1295
- "@type": "datacellar:DataPoint",
1296
- "datacellar:timeStamp": "2023-06-01 11:00:00",
1297
- "datacellar:value": 6.13
1298
- },
1299
- {
1300
- "@type": "datacellar:DataPoint",
1301
- "datacellar:timeStamp": "2023-06-01 12:00:00",
1302
- "datacellar:value": 11.74
1303
- },
1304
- {
1305
- "@type": "datacellar:DataPoint",
1306
- "datacellar:timeStamp": "2023-06-01 13:00:00",
1307
- "datacellar:value": 14.76
1308
- },
1309
- {
1310
- "@type": "datacellar:DataPoint",
1311
- "datacellar:timeStamp": "2023-06-01 14:00:00",
1312
- "datacellar:value": 17.08
1313
- },
1314
- {
1315
- "@type": "datacellar:DataPoint",
1316
- "datacellar:timeStamp": "2023-06-01 15:00:00",
1317
- "datacellar:value": 18.01
1318
- },
1319
- {
1320
- "@type": "datacellar:DataPoint",
1321
- "datacellar:timeStamp": "2023-06-01 16:00:00",
1322
- "datacellar:value": 17.97
1323
- },
1324
- {
1325
- "@type": "datacellar:DataPoint",
1326
- "datacellar:timeStamp": "2023-06-01 17:00:00",
1327
- "datacellar:value": 17.62
1328
- },
1329
- {
1330
- "@type": "datacellar:DataPoint",
1331
- "datacellar:timeStamp": "2023-06-01 18:00:00",
1332
- "datacellar:value": 15.93
1333
- },
1334
- {
1335
- "@type": "datacellar:DataPoint",
1336
- "datacellar:timeStamp": "2023-06-01 19:00:00",
1337
- "datacellar:value": 13.64
1338
- },
1339
- {
1340
- "@type": "datacellar:DataPoint",
1341
- "datacellar:timeStamp": "2023-06-01 20:00:00",
1342
- "datacellar:value": 8.2
1343
- },
1344
- {
1345
- "@type": "datacellar:DataPoint",
1346
- "datacellar:timeStamp": "2023-06-01 21:00:00",
1347
- "datacellar:value": 3.57
1348
- },
1349
- {
1350
- "@type": "datacellar:DataPoint",
1351
- "datacellar:timeStamp": "2023-06-01 22:00:00",
1352
- "datacellar:value": 0.79
1353
- },
1354
- {
1355
- "@type": "datacellar:DataPoint",
1356
- "datacellar:timeStamp": "2023-06-01 23:00:00",
1357
- "datacellar:value": 0.0
1358
- },
1359
- {
1360
- "@type": "datacellar:DataPoint",
1361
- "datacellar:timeStamp": "2023-06-02 00:00:00",
1362
- "datacellar:value": 0.0
1363
- },
1364
- {
1365
- "@type": "datacellar:DataPoint",
1366
- "datacellar:timeStamp": "2023-06-02 01:00:00",
1367
- "datacellar:value": 0.0
1368
- },
1369
- {
1370
- "@type": "datacellar:DataPoint",
1371
- "datacellar:timeStamp": "2023-06-02 02:00:00",
1372
- "datacellar:value": 0.0
1373
- },
1374
- {
1375
- "@type": "datacellar:DataPoint",
1376
- "datacellar:timeStamp": "2023-06-02 03:00:00",
1377
- "datacellar:value": 0.0
1378
- },
1379
- {
1380
- "@type": "datacellar:DataPoint",
1381
- "datacellar:timeStamp": "2023-06-02 04:00:00",
1382
- "datacellar:value": 0.0
1383
- },
1384
- {
1385
- "@type": "datacellar:DataPoint",
1386
- "datacellar:timeStamp": "2023-06-02 05:00:00",
1387
- "datacellar:value": 0.0
1388
- },
1389
- {
1390
- "@type": "datacellar:DataPoint",
1391
- "datacellar:timeStamp": "2023-06-02 06:00:00",
1392
- "datacellar:value": 0.0
1393
- },
1394
- {
1395
- "@type": "datacellar:DataPoint",
1396
- "datacellar:timeStamp": "2023-06-02 07:00:00",
1397
- "datacellar:value": 0.01
1398
- },
1399
- {
1400
- "@type": "datacellar:DataPoint",
1401
- "datacellar:timeStamp": "2023-06-02 08:00:00",
1402
- "datacellar:value": 0.42
1403
- },
1404
- {
1405
- "@type": "datacellar:DataPoint",
1406
- "datacellar:timeStamp": "2023-06-02 09:00:00",
1407
- "datacellar:value": 0.98
1408
- },
1409
- {
1410
- "@type": "datacellar:DataPoint",
1411
- "datacellar:timeStamp": "2023-06-02 10:00:00",
1412
- "datacellar:value": 2.95
1413
- },
1414
- {
1415
- "@type": "datacellar:DataPoint",
1416
- "datacellar:timeStamp": "2023-06-02 11:00:00",
1417
- "datacellar:value": 7.25
1418
- },
1419
- {
1420
- "@type": "datacellar:DataPoint",
1421
- "datacellar:timeStamp": "2023-06-02 12:00:00",
1422
- "datacellar:value": 11.51
1423
- },
1424
- {
1425
- "@type": "datacellar:DataPoint",
1426
- "datacellar:timeStamp": "2023-06-02 13:00:00",
1427
- "datacellar:value": 14.74
1428
- },
1429
- {
1430
- "@type": "datacellar:DataPoint",
1431
- "datacellar:timeStamp": "2023-06-02 14:00:00",
1432
- "datacellar:value": 15.72
1433
- },
1434
- {
1435
- "@type": "datacellar:DataPoint",
1436
- "datacellar:timeStamp": "2023-06-02 15:00:00",
1437
- "datacellar:value": 19.03
1438
- },
1439
- {
1440
- "@type": "datacellar:DataPoint",
1441
- "datacellar:timeStamp": "2023-06-02 16:00:00",
1442
- "datacellar:value": 17.64
1443
- },
1444
- {
1445
- "@type": "datacellar:DataPoint",
1446
- "datacellar:timeStamp": "2023-06-02 17:00:00",
1447
- "datacellar:value": 3.46
1448
- },
1449
- {
1450
- "@type": "datacellar:DataPoint",
1451
- "datacellar:timeStamp": "2023-06-02 18:00:00",
1452
- "datacellar:value": 0.85
1453
- },
1454
- {
1455
- "@type": "datacellar:DataPoint",
1456
- "datacellar:timeStamp": "2023-06-02 19:00:00",
1457
- "datacellar:value": 3.02
1458
- },
1459
- {
1460
- "@type": "datacellar:DataPoint",
1461
- "datacellar:timeStamp": "2023-06-02 20:00:00",
1462
- "datacellar:value": 1.78
1463
- },
1464
- {
1465
- "@type": "datacellar:DataPoint",
1466
- "datacellar:timeStamp": "2023-06-02 21:00:00",
1467
- "datacellar:value": 1.41
1468
- },
1469
- {
1470
- "@type": "datacellar:DataPoint",
1471
- "datacellar:timeStamp": "2023-06-02 22:00:00",
1472
- "datacellar:value": 0.21
1473
- },
1474
- {
1475
- "@type": "datacellar:DataPoint",
1476
- "datacellar:timeStamp": "2023-06-02 23:00:00",
1477
- "datacellar:value": 0.0
1478
- },
1479
- {
1480
- "@type": "datacellar:DataPoint",
1481
- "datacellar:timeStamp": "2023-06-03 00:00:00",
1482
- "datacellar:value": 0.0
1483
- },
1484
- {
1485
- "@type": "datacellar:DataPoint",
1486
- "datacellar:timeStamp": "2023-06-03 01:00:00",
1487
- "datacellar:value": 0.0
1488
- },
1489
- {
1490
- "@type": "datacellar:DataPoint",
1491
- "datacellar:timeStamp": "2023-06-03 02:00:00",
1492
- "datacellar:value": 0.0
1493
- },
1494
- {
1495
- "@type": "datacellar:DataPoint",
1496
- "datacellar:timeStamp": "2023-06-03 03:00:00",
1497
- "datacellar:value": 0.0
1498
- },
1499
- {
1500
- "@type": "datacellar:DataPoint",
1501
- "datacellar:timeStamp": "2023-06-03 04:00:00",
1502
- "datacellar:value": 0.0
1503
- },
1504
- {
1505
- "@type": "datacellar:DataPoint",
1506
- "datacellar:timeStamp": "2023-06-03 05:00:00",
1507
- "datacellar:value": 0.0
1508
- },
1509
- {
1510
- "@type": "datacellar:DataPoint",
1511
- "datacellar:timeStamp": "2023-06-03 06:00:00",
1512
- "datacellar:value": 0.0
1513
- },
1514
- {
1515
- "@type": "datacellar:DataPoint",
1516
- "datacellar:timeStamp": "2023-06-03 07:00:00",
1517
- "datacellar:value": 0.0
1518
- },
1519
- {
1520
- "@type": "datacellar:DataPoint",
1521
- "datacellar:timeStamp": "2023-06-03 08:00:00",
1522
- "datacellar:value": 0.27
1523
- },
1524
- {
1525
- "@type": "datacellar:DataPoint",
1526
- "datacellar:timeStamp": "2023-06-03 09:00:00",
1527
- "datacellar:value": 1.0
1528
- },
1529
- {
1530
- "@type": "datacellar:DataPoint",
1531
- "datacellar:timeStamp": "2023-06-03 10:00:00",
1532
- "datacellar:value": 3.0
1533
- },
1534
- {
1535
- "@type": "datacellar:DataPoint",
1536
- "datacellar:timeStamp": "2023-06-03 11:00:00",
1537
- "datacellar:value": 7.1
1538
- },
1539
- {
1540
- "@type": "datacellar:DataPoint",
1541
- "datacellar:timeStamp": "2023-06-03 12:00:00",
1542
- "datacellar:value": 11.45
1543
- },
1544
- {
1545
- "@type": "datacellar:DataPoint",
1546
- "datacellar:timeStamp": "2023-06-03 13:00:00",
1547
- "datacellar:value": 14.85
1548
- },
1549
- {
1550
- "@type": "datacellar:DataPoint",
1551
- "datacellar:timeStamp": "2023-06-03 14:00:00",
1552
- "datacellar:value": 16.04
1553
- },
1554
- {
1555
- "@type": "datacellar:DataPoint",
1556
- "datacellar:timeStamp": "2023-06-03 15:00:00",
1557
- "datacellar:value": 4.37
1558
- },
1559
- {
1560
- "@type": "datacellar:DataPoint",
1561
- "datacellar:timeStamp": "2023-06-03 16:00:00",
1562
- "datacellar:value": 1.94
1563
- },
1564
- {
1565
- "@type": "datacellar:DataPoint",
1566
- "datacellar:timeStamp": "2023-06-03 17:00:00",
1567
- "datacellar:value": 2.67
1568
- },
1569
- {
1570
- "@type": "datacellar:DataPoint",
1571
- "datacellar:timeStamp": "2023-06-03 18:00:00",
1572
- "datacellar:value": 2.91
1573
- },
1574
- {
1575
- "@type": "datacellar:DataPoint",
1576
- "datacellar:timeStamp": "2023-06-03 19:00:00",
1577
- "datacellar:value": 3.38
1578
- },
1579
- {
1580
- "@type": "datacellar:DataPoint",
1581
- "datacellar:timeStamp": "2023-06-03 20:00:00",
1582
- "datacellar:value": 2.76
1583
- },
1584
- {
1585
- "@type": "datacellar:DataPoint",
1586
- "datacellar:timeStamp": "2023-06-03 21:00:00",
1587
- "datacellar:value": 1.73
1588
- },
1589
- {
1590
- "@type": "datacellar:DataPoint",
1591
- "datacellar:timeStamp": "2023-06-03 22:00:00",
1592
- "datacellar:value": 0.37
1593
- },
1594
- {
1595
- "@type": "datacellar:DataPoint",
1596
- "datacellar:timeStamp": "2023-06-03 23:00:00",
1597
- "datacellar:value": 0.0
1598
- },
1599
- {
1600
- "@type": "datacellar:DataPoint",
1601
- "datacellar:timeStamp": "2023-06-04 00:00:00",
1602
- "datacellar:value": 0.0
1603
- },
1604
- {
1605
- "@type": "datacellar:DataPoint",
1606
- "datacellar:timeStamp": "2023-06-04 01:00:00",
1607
- "datacellar:value": 0.0
1608
- },
1609
- {
1610
- "@type": "datacellar:DataPoint",
1611
- "datacellar:timeStamp": "2023-06-04 02:00:00",
1612
- "datacellar:value": 0.0
1613
- },
1614
- {
1615
- "@type": "datacellar:DataPoint",
1616
- "datacellar:timeStamp": "2023-06-04 03:00:00",
1617
- "datacellar:value": 0.0
1618
- },
1619
- {
1620
- "@type": "datacellar:DataPoint",
1621
- "datacellar:timeStamp": "2023-06-04 04:00:00",
1622
- "datacellar:value": 0.0
1623
- },
1624
- {
1625
- "@type": "datacellar:DataPoint",
1626
- "datacellar:timeStamp": "2023-06-04 05:00:00",
1627
- "datacellar:value": 0.0
1628
- },
1629
- {
1630
- "@type": "datacellar:DataPoint",
1631
- "datacellar:timeStamp": "2023-06-04 06:00:00",
1632
- "datacellar:value": 0.0
1633
- },
1634
- {
1635
- "@type": "datacellar:DataPoint",
1636
- "datacellar:timeStamp": "2023-06-04 07:00:00",
1637
- "datacellar:value": 0.01
1638
- },
1639
- {
1640
- "@type": "datacellar:DataPoint",
1641
- "datacellar:timeStamp": "2023-06-04 08:00:00",
1642
- "datacellar:value": 0.39
1643
- },
1644
- {
1645
- "@type": "datacellar:DataPoint",
1646
- "datacellar:timeStamp": "2023-06-04 09:00:00",
1647
- "datacellar:value": 1.68
1648
- },
1649
- {
1650
- "@type": "datacellar:DataPoint",
1651
- "datacellar:timeStamp": "2023-06-04 10:00:00",
1652
- "datacellar:value": 2.35
1653
- },
1654
- {
1655
- "@type": "datacellar:DataPoint",
1656
- "datacellar:timeStamp": "2023-06-04 11:00:00",
1657
- "datacellar:value": 4.66
1658
- },
1659
- {
1660
- "@type": "datacellar:DataPoint",
1661
- "datacellar:timeStamp": "2023-06-04 12:00:00",
1662
- "datacellar:value": 8.65
1663
- },
1664
- {
1665
- "@type": "datacellar:DataPoint",
1666
- "datacellar:timeStamp": "2023-06-04 13:00:00",
1667
- "datacellar:value": 15.12
1668
- },
1669
- {
1670
- "@type": "datacellar:DataPoint",
1671
- "datacellar:timeStamp": "2023-06-04 14:00:00",
1672
- "datacellar:value": 14.05
1673
- },
1674
- {
1675
- "@type": "datacellar:DataPoint",
1676
- "datacellar:timeStamp": "2023-06-04 15:00:00",
1677
- "datacellar:value": 4.59
1678
- },
1679
- {
1680
- "@type": "datacellar:DataPoint",
1681
- "datacellar:timeStamp": "2023-06-04 16:00:00",
1682
- "datacellar:value": 4.89
1683
- },
1684
- {
1685
- "@type": "datacellar:DataPoint",
1686
- "datacellar:timeStamp": "2023-06-04 17:00:00",
1687
- "datacellar:value": 4.69
1688
- },
1689
- {
1690
- "@type": "datacellar:DataPoint",
1691
- "datacellar:timeStamp": "2023-06-04 18:00:00",
1692
- "datacellar:value": 1.43
1693
- },
1694
- {
1695
- "@type": "datacellar:DataPoint",
1696
- "datacellar:timeStamp": "2023-06-04 19:00:00",
1697
- "datacellar:value": 3.41
1698
- },
1699
- {
1700
- "@type": "datacellar:DataPoint",
1701
- "datacellar:timeStamp": "2023-06-04 20:00:00",
1702
- "datacellar:value": 1.57
1703
- },
1704
- {
1705
- "@type": "datacellar:DataPoint",
1706
- "datacellar:timeStamp": "2023-06-04 21:00:00",
1707
- "datacellar:value": 0.63
1708
- },
1709
- {
1710
- "@type": "datacellar:DataPoint",
1711
- "datacellar:timeStamp": "2023-06-04 22:00:00",
1712
- "datacellar:value": 0.05
1713
- },
1714
- {
1715
- "@type": "datacellar:DataPoint",
1716
- "datacellar:timeStamp": "2023-06-04 23:00:00",
1717
- "datacellar:value": 0.0
1718
- },
1719
- {
1720
- "@type": "datacellar:DataPoint",
1721
- "datacellar:timeStamp": "2023-06-05 00:00:00",
1722
- "datacellar:value": 0.0
1723
- },
1724
- {
1725
- "@type": "datacellar:DataPoint",
1726
- "datacellar:timeStamp": "2023-06-05 01:00:00",
1727
- "datacellar:value": 0.0
1728
- },
1729
- {
1730
- "@type": "datacellar:DataPoint",
1731
- "datacellar:timeStamp": "2023-06-05 02:00:00",
1732
- "datacellar:value": 0.0
1733
- },
1734
- {
1735
- "@type": "datacellar:DataPoint",
1736
- "datacellar:timeStamp": "2023-06-05 03:00:00",
1737
- "datacellar:value": 0.0
1738
- },
1739
- {
1740
- "@type": "datacellar:DataPoint",
1741
- "datacellar:timeStamp": "2023-06-05 04:00:00",
1742
- "datacellar:value": 0.0
1743
- },
1744
- {
1745
- "@type": "datacellar:DataPoint",
1746
- "datacellar:timeStamp": "2023-06-05 05:00:00",
1747
- "datacellar:value": 0.0
1748
- },
1749
- {
1750
- "@type": "datacellar:DataPoint",
1751
- "datacellar:timeStamp": "2023-06-05 06:00:00",
1752
- "datacellar:value": 0.0
1753
- },
1754
- {
1755
- "@type": "datacellar:DataPoint",
1756
- "datacellar:timeStamp": "2023-06-05 07:00:00",
1757
- "datacellar:value": 0.0
1758
- },
1759
- {
1760
- "@type": "datacellar:DataPoint",
1761
- "datacellar:timeStamp": "2023-06-05 08:00:00",
1762
- "datacellar:value": 0.33
1763
- },
1764
- {
1765
- "@type": "datacellar:DataPoint",
1766
- "datacellar:timeStamp": "2023-06-05 09:00:00",
1767
- "datacellar:value": 1.5
1768
- },
1769
- {
1770
- "@type": "datacellar:DataPoint",
1771
- "datacellar:timeStamp": "2023-06-05 10:00:00",
1772
- "datacellar:value": 4.29
1773
- },
1774
- {
1775
- "@type": "datacellar:DataPoint",
1776
- "datacellar:timeStamp": "2023-06-05 11:00:00",
1777
- "datacellar:value": 4.77
1778
- },
1779
- {
1780
- "@type": "datacellar:DataPoint",
1781
- "datacellar:timeStamp": "2023-06-05 12:00:00",
1782
- "datacellar:value": 8.12
1783
- },
1784
- {
1785
- "@type": "datacellar:DataPoint",
1786
- "datacellar:timeStamp": "2023-06-05 13:00:00",
1787
- "datacellar:value": 13.12
1788
- },
1789
- {
1790
- "@type": "datacellar:DataPoint",
1791
- "datacellar:timeStamp": "2023-06-05 14:00:00",
1792
- "datacellar:value": 14.21
1793
- },
1794
- {
1795
- "@type": "datacellar:DataPoint",
1796
- "datacellar:timeStamp": "2023-06-05 15:00:00",
1797
- "datacellar:value": 18.41
1798
- },
1799
- {
1800
- "@type": "datacellar:DataPoint",
1801
- "datacellar:timeStamp": "2023-06-05 16:00:00",
1802
- "datacellar:value": 18.81
1803
- },
1804
- {
1805
- "@type": "datacellar:DataPoint",
1806
- "datacellar:timeStamp": "2023-06-05 17:00:00",
1807
- "datacellar:value": 8.67
1808
- },
1809
- {
1810
- "@type": "datacellar:DataPoint",
1811
- "datacellar:timeStamp": "2023-06-05 18:00:00",
1812
- "datacellar:value": 1.61
1813
- },
1814
- {
1815
- "@type": "datacellar:DataPoint",
1816
- "datacellar:timeStamp": "2023-06-05 19:00:00",
1817
- "datacellar:value": 3.61
1818
- },
1819
- {
1820
- "@type": "datacellar:DataPoint",
1821
- "datacellar:timeStamp": "2023-06-05 20:00:00",
1822
- "datacellar:value": 5.98
1823
- },
1824
- {
1825
- "@type": "datacellar:DataPoint",
1826
- "datacellar:timeStamp": "2023-06-05 21:00:00",
1827
- "datacellar:value": 1.34
1828
- },
1829
- {
1830
- "@type": "datacellar:DataPoint",
1831
- "datacellar:timeStamp": "2023-06-05 22:00:00",
1832
- "datacellar:value": 0.29
1833
- },
1834
- {
1835
- "@type": "datacellar:DataPoint",
1836
- "datacellar:timeStamp": "2023-06-05 23:00:00",
1837
- "datacellar:value": 0.0
1838
- }
1839
- ],
1840
- "datacellar:timeSeriesMetadata": {
1841
- "@type": "datacellar:Production",
1842
- "datacellar:latitude": 40.7128,
1843
- "datacellar:longitude": -74.006
1844
- }
1845
- }
1846
- ],
1847
- "datacellar:datasetMetadataList": [
1848
- {
1849
- "@type": "datacellar:GeoLocalizedDataset",
1850
- "datacellar:latitude": 40.7128,
1851
- "datacellar:longitude": -74.006,
1852
- "datacellar:postalCode": "10001"
1853
- }
1854
- ]
1855
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
task4.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
utils.py DELETED
@@ -1,274 +0,0 @@
1
- import streamlit as st
2
- import pandas as pd
3
- import plotly.express as px
4
- import plotly.graph_objects as go
5
- import requests
6
- import json
7
- from datetime import datetime
8
-
9
- def get_series_name_and_unit(series, dataset_description):
10
- """
11
- Extract the name and unit from a time series using its dataset description.
12
-
13
- Args:
14
- series: Dictionary containing series data
15
- dataset_description: Dictionary containing dataset field descriptions
16
-
17
- Returns:
18
- tuple: (name, unit) of the series
19
- """
20
- field_id = series['datacellar:datasetFieldID']
21
- field = next((f for f in dataset_description['datacellar:datasetFields']
22
- if f['datacellar:datasetFieldID'] == field_id), None)
23
-
24
- name = field['datacellar:fieldName'] if field else f'Series {field_id}'
25
- unit = field['datacellar:type']['datacellar:unitText'] if field else 'Unknown'
26
-
27
- # Override name if metadata contains loadType
28
- if 'datacellar:timeSeriesMetadata' in series:
29
- metadata = series['datacellar:timeSeriesMetadata']
30
- if 'datacellar:loadType' in metadata:
31
- name = metadata['datacellar:loadType']
32
-
33
- return name, unit
34
-
35
- def process_series(series, dataset_description, is_input=False):
36
- """
37
- Process a single time series into a pandas DataFrame.
38
-
39
- Args:
40
- series: Dictionary containing series data
41
- dataset_description: Dictionary containing dataset field descriptions
42
- is_input: Boolean indicating if this is input data
43
-
44
- Returns:
45
- tuple: (DataFrame, unit, name) of the processed series
46
- """
47
- name, unit = get_series_name_and_unit(series, dataset_description)
48
- df = pd.DataFrame(series['datacellar:dataPoints'])
49
-
50
- # Convert timestamp to datetime and ensure values are numeric
51
- df['datacellar:timeStamp'] = pd.to_datetime(df['datacellar:timeStamp'])
52
- df['datacellar:value'] = pd.to_numeric(df['datacellar:value'], errors='coerce')
53
-
54
- # Add series identifier
55
- df['series_id'] = f'{name} (Input)' if is_input else name
56
-
57
- return df, unit, name
58
-
59
- def load_and_process_data(json_data, input_data=None):
60
- """
61
- Load and process time series from the JSON data, filtering out empty series.
62
- """
63
- series_by_unit = {}
64
- try:
65
- dataset_description = json_data['datacellar:datasetSelfDescription']
66
- except:
67
- dataset_description = {
68
- "@type": "datacellar:DatasetField",
69
- "datacellar:datasetFieldID": 0,
70
- "datacellar:fieldName": "anomaly",
71
- "datacellar:description": "Anomalies",
72
- "datacellar:type": {
73
- "@type": "datacellar:boolean",
74
- "datacellar:unitText": "-"
75
- }
76
- }
77
-
78
- # Process output series
79
- try:
80
- for series in json_data['datacellar:timeSeriesList']:
81
- # Check if series has any data points
82
- if series.get('datacellar:dataPoints'):
83
- df, unit, _ = process_series(series, dataset_description)
84
- # Additional check for non-empty DataFrame
85
- if not df.empty and df['datacellar:value'].notna().any():
86
- if unit not in series_by_unit:
87
- series_by_unit[unit] = []
88
- series_by_unit[unit].append(df)
89
- except Exception as e:
90
- st.error(f"Error processing series: {str(e)}")
91
-
92
- # Process input series if provided
93
- if input_data:
94
- input_description = input_data['datacellar:datasetSelfDescription']
95
- for series in input_data['datacellar:timeSeriesList']:
96
- if series.get('datacellar:dataPoints'):
97
- df, unit, _ = process_series(series, input_description, is_input=True)
98
- if not df.empty and df['datacellar:value'].notna().any():
99
- if unit not in series_by_unit:
100
- series_by_unit[unit] = []
101
- series_by_unit[unit].append(df)
102
-
103
- # Concatenate and filter out units with no valid data
104
- result = {}
105
- for unit, dfs in series_by_unit.items():
106
- if dfs: # Check if there are any DataFrames for this unit
107
- combined_df = pd.concat(dfs)
108
- if not combined_df.empty and combined_df['datacellar:value'].notna().any():
109
- result[unit] = combined_df
110
-
111
- return result
112
-
113
- def create_time_series_plot(df, unit, service_type=None,fig=None):
114
- """
115
- Create visualization for time series data, handling empty series appropriately.
116
- """
117
- if service_type == "Anomaly Detection":
118
-
119
- if not fig:
120
- fig = go.Figure()
121
-
122
- # Filter for non-empty input data
123
- input_data = df[df['series_id'].str.contains('Input')]
124
- input_data = input_data[input_data['datacellar:value'].notna()]
125
-
126
- if not input_data.empty:
127
- fig.add_trace(go.Scatter(
128
- x=input_data['datacellar:timeStamp'],
129
- y=input_data['datacellar:value'],
130
- mode='lines',
131
- name='Energy Consumption',
132
- line=dict(color='blue')
133
- ))
134
-
135
- # Handle anomalies
136
- anomalies = df[(~df['series_id'].str.contains('Output')) &
137
- (df['datacellar:value'] == True) &
138
- (df['datacellar:value'].notna())]
139
- if not anomalies.empty:
140
- anomaly_values = []
141
- for timestamp in anomalies['datacellar:timeStamp']:
142
- value = input_data.loc[input_data['datacellar:timeStamp'] == timestamp, 'datacellar:value']
143
- anomaly_values.append(value.iloc[0] if not value.empty else None)
144
-
145
- # fig.add_trace(go.Scatter(
146
- # x=anomalies['datacellar:timeStamp'],
147
- # y=anomaly_values,
148
- # mode='markers',
149
- # name='Anomalies',
150
- # marker=dict(color='red', size=10)
151
- # ))
152
-
153
- fig.update_layout(
154
- title=f'Time Series Data with Anomalies ({unit})',
155
- xaxis_title="Time",
156
- yaxis_title=f"Value ({unit})",
157
- hovermode='x unified',
158
- legend_title="Series"
159
- )
160
- return fig
161
- else:
162
- # Filter out series with no valid data
163
- valid_series = []
164
- for series_id in df['series_id'].unique():
165
- series_data = df[df['series_id'] == series_id]
166
- if not series_data.empty and series_data['datacellar:value'].notna().any():
167
- valid_series.append(series_id)
168
-
169
- # Create plot only for valid series
170
- if valid_series:
171
- filtered_df = df[df['series_id'].isin(valid_series)]
172
- return px.line(
173
- filtered_df,
174
- x='datacellar:timeStamp',
175
- y='datacellar:value',
176
- color='series_id',
177
- title=f'Time Series Data ({unit})'
178
- ).update_layout(
179
- xaxis_title="Time",
180
- yaxis_title=f"Value ({unit})",
181
- hovermode='x unified',
182
- legend_title="Series"
183
- )
184
- else:
185
- # Return None or an empty figure if no valid series
186
- return None
187
-
188
- def display_statistics(dfs_by_unit):
189
- """
190
- Display statistics only for non-empty series.
191
- """
192
- for unit, df in dfs_by_unit.items():
193
- st.write(f"## Measurements in {unit}")
194
- for series_id in df['series_id'].unique():
195
- series_data = df[df['series_id'] == series_id]
196
- # Check if series has valid data
197
- if not series_data.empty and series_data['datacellar:value'].notna().any():
198
- st.write(f"### {series_id}")
199
-
200
- cols = st.columns(4)
201
- metrics = [
202
- ("Average", series_data['datacellar:value'].mean()),
203
- ("Max", series_data['datacellar:value'].max()),
204
- ("Min", series_data['datacellar:value'].min()),
205
- ("Total", series_data['datacellar:value'].sum() * 6/3600)
206
- ]
207
-
208
- for col, (label, value) in zip(cols, metrics):
209
- with col:
210
- unit_suffix = "h" if label == "Total" else ""
211
- st.metric(label, f"{value:.2f} {unit}{unit_suffix}")
212
-
213
- def call_api(file_content, token, service_endpoint):
214
- """
215
- Call the analysis API with the provided data.
216
-
217
- Args:
218
- file_content: Binary content of the JSON file
219
- token: API authentication token
220
- service_endpoint: String indicating which API endpoint to call
221
-
222
- Returns:
223
- dict: JSON response from the API or None if the call fails
224
- """
225
- try:
226
- url = f'https://loki.linksfoundation.com/datacellar/{service_endpoint}'
227
- response = requests.post(
228
- url,
229
- headers={'Authorization': f'Bearer {token}'},
230
- files={'input_file': ('data.json', file_content, 'application/json')}
231
- )
232
-
233
- if response.status_code == 401:
234
- st.error("Authentication failed. Please check your API token.")
235
- return None
236
-
237
- return response.json()
238
- except Exception as e:
239
- st.error(f"API Error: {str(e)}")
240
- return None
241
-
242
- def get_dataset_type(json_data):
243
- """
244
- Determine the type of dataset from its description.
245
-
246
- Args:
247
- json_data: Dictionary containing the JSON data
248
-
249
- Returns:
250
- str: "production", "consumption", or "other"
251
- """
252
- desc = json_data.get('datacellar:description', '').lower()
253
- if 'production' in desc:
254
- return "production"
255
- elif 'consumption' in desc:
256
- return "consumption"
257
- return "other"
258
-
259
- def get_forecast_horizon(json_data):
260
- """
261
- Determine the forecast horizon from dataset description.
262
-
263
- Args:
264
- json_data: Dictionary containing the JSON data
265
-
266
- Returns:
267
- str: "long", "short", or None
268
- """
269
- desc = json_data.get('datacellar:description', '').lower()
270
- if 'long term' in desc:
271
- return "long"
272
- elif 'short term' in desc:
273
- return "short"
274
- return None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
yolov9c.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:876eb84f515d40c34a3b111f8fc1077d3aee59d3a243afd1cc5b77d520f237c7
3
+ size 51794840