.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,597 @@
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
+ # Define the class names based on your dataset
17
+ class_names = [
18
+ 'fresh_apple', 'fresh_banana', 'fresh_bitter_gourd', 'fresh_capsicum',
19
+ 'fresh_orange', 'fresh_tomato', 'stale_apple', 'stale_banana',
20
+ 'stale_bitter_gourd', 'stale_capsicum', 'stale_orange', 'stale_tomato'
21
+ ]
22
+
23
+ # Team details
24
+ team_members = [
25
+ {"name": "Aman Deep", "image": "aman.jpg"}, # Replace with actual paths to images
26
+ {"name": "Nandini", "image": "myimage.jpg"},
27
+ {"name": "Abhay Sharma", "image": "gaurav.jpg"},
28
+ {"name": "Ratan Prakash Mishra", "image": "anandimg.jpg"}
29
+ ]
30
+
31
+ # Function to preprocess the images for the model
32
+ from PIL import Image
33
+ import numpy as np
34
+
35
+ def preprocess_image(image):
36
+ """
37
+ Preprocess the input image for model prediction.
38
+
39
+ Args:
40
+ image (PIL.Image): Input image in PIL format.
41
+
42
+ Returns:
43
+ np.ndarray: Preprocessed image array ready for prediction.
44
+ """
45
+ try:
46
+ # Resize image to match model input size
47
+ img = image.resize((128, 128), Image.LANCZOS) # Using LANCZOS filter for high-quality resizing
48
+
49
+ # Convert image to NumPy array
50
+ img_array = np.array(img)
51
+
52
+ # Check if the image is grayscale and convert to RGB if needed
53
+ if img_array.ndim == 2: # Grayscale image
54
+ img_array = np.stack([img_array] * 3, axis=-1) # Convert to 3-channel RGB
55
+ elif img_array.shape[2] == 1: # Single-channel image
56
+ img_array = np.concatenate([img_array, img_array, img_array], axis=-1) # Convert to RGB
57
+
58
+ # Normalize pixel values to [0, 1] range
59
+ img_array = img_array / 255.0
60
+
61
+ # Add batch dimension
62
+ img_array = np.expand_dims(img_array, axis=0) # Shape: (1, 128, 128, 3)
63
+
64
+ return img_array
65
+
66
+ except Exception as e:
67
+ print(f"Error processing image: {e}")
68
+ return None # Return None if there's an error
69
+
70
+
71
+ # Function to create a high-quality circular mask for an image
72
+ def make_image_circular1(img, size=(256, 256)):
73
+ img = img.resize(size, Image.LANCZOS)
74
+ mask = Image.new("L", size, 0)
75
+ draw = ImageDraw.Draw(mask)
76
+ draw.ellipse((0, 0) + size, fill=255)
77
+ output = ImageOps.fit(img, mask.size, centering=(0.5, 0.5))
78
+ output.putalpha(mask) # Apply the mask as transparency
79
+ return output
80
+ # Function to check if a file exists
81
+ def file_exists(file_path):
82
+ return os.path.isfile(file_path)
83
+
84
+ def make_image_circular(image):
85
+ # Create a circular mask
86
+ mask = Image.new("L", image.size, 0)
87
+ draw = ImageDraw.Draw(mask)
88
+ draw.ellipse((0, 0, image.size[0], image.size[1]), fill=255)
89
+
90
+ # Apply the mask to the image
91
+ circular_image = Image.new("RGB", image.size)
92
+ circular_image.paste(image.convert("RGBA"), (0, 0), mask)
93
+
94
+ return circular_image
95
+
96
+ # Function to extract dates from recognized text using regex
97
+ def extract_dates_with_dateparser(texts, result):
98
+ date_texts = []
99
+ date_boxes = []
100
+ date_scores = []
101
+
102
+ def is_potential_date(text):
103
+ valid_date_pattern = r'^(0[1-9]|[12][0-9]|3[01])[-/.]?(0[1-9]|1[0-2])[-/.]?(\d{2}|\d{4})$|' \
104
+ r'^(0[1-9]|[12][0-9]|3[01])[-/.]?[A-Za-z]{3}[-/.]?(\d{2}|\d{4})$|' \
105
+ r'^(0[1-9]|1[0-2])[-/.]?(\d{2}|\d{4})$|' \
106
+ r'^[A-Za-z]{3}[-/.]?(\d{2}|\d{4})$'
107
+ return bool(re.match(valid_date_pattern, text))
108
+
109
+ dates_found = []
110
+ for i, text in enumerate(texts):
111
+ if is_potential_date(text): # Only process texts that are potential dates
112
+ parsed_date = dateparser.parse(text, settings={'DATE_ORDER': 'DMY'})
113
+ if parsed_date:
114
+ dates_found.append(parsed_date.strftime('%Y-%m-%d')) # Store as 'YYYY-MM-DD'
115
+ date_texts.append(text) # Store the original text
116
+ date_boxes.append(result[0][i][0]) # Store the bounding box
117
+ date_scores.append(result[0][i][1][1]) # Store confidence score
118
+ return dates_found, date_texts, date_boxes, date_scores
119
+
120
+ # Function to display circular images in a matrix format
121
+ def display_images_in_grid(images, max_images_per_row=4):
122
+ num_images = len(images)
123
+ num_rows = (num_images + max_images_per_row - 1) // max_images_per_row # Calculate number of rows
124
+
125
+ for i in range(num_rows):
126
+ cols = st.columns(min(max_images_per_row, num_images - i * max_images_per_row))
127
+ for j, img in enumerate(images[i * max_images_per_row:(i + 1) * max_images_per_row]):
128
+ with cols[j]:
129
+ st.image(img, use_column_width=True)
130
+
131
+ # Function to display team members in circular format
132
+ def display_team_members(members, max_members_per_row=4):
133
+ num_members = len(members)
134
+ num_rows = (num_members + max_members_per_row - 1) // max_members_per_row # Calculate number of rows
135
+
136
+ for i in range(num_rows):
137
+ cols = st.columns(min(max_members_per_row, num_members - i * max_members_per_row))
138
+ for j, member in enumerate(members[i * max_members_per_row:(i + 1) * max_members_per_row]):
139
+ with cols[j]:
140
+ img = Image.open(member["image"]) # Load the image
141
+ circular_img = make_image_circular(img) # Convert to circular format
142
+ st.image(circular_img, use_column_width=True) # Display the circular image
143
+ st.write(member["name"]) # Display the name below the image
144
+
145
+ # Title and description
146
+ st.title("Amazon Smbhav")
147
+ # Team Details with links
148
+ st.sidebar.title("Amazon Smbhav")
149
+ st.sidebar.write("DELHI TECHNOLOGICAL UNIVERSITY")
150
+
151
+ # Navbar with task tabs
152
+ st.sidebar.title("Navigation")
153
+ st.sidebar.write("Team Name: sadhya")
154
+ app_mode = st.sidebar.selectbox("Choose the task", ["Welcome","Project Details", "Task 1","Team Details"])
155
+ if app_mode == "Welcome":
156
+ # Navigation Menu
157
+ st.write("# Welcome to Amazon Smbhav! 🎉")
158
+
159
+ # Example for adding a local video
160
+ video_file = open('Finalist.mp4', 'rb') # Replace with the path to your video file
161
+ video_bytes = video_file.read()
162
+ # Embed the video using st.video()
163
+ st.video(video_bytes)
164
+
165
+ # Add a welcome image
166
+ welcome_image = Image.open("grid_banner.jpg") # Replace with the path to your welcome image
167
+ st.image(welcome_image, use_column_width=True) # Display the welcome image
168
 
169
+ elif app_mode=="Project Details":
170
  st.markdown("""
171
+ ## Navigation
172
+ - [Project Overview](#project-overview)
173
+ - [Proposal Round](#proposal-round)
174
+ - [Problem Statement](#problem-statement)
175
+ - [Proposed Solution](#proposed-solution)
176
+ """)
177
+ # Project Overview
178
+ st.write("## Project Overview:")
179
+ st.write("""
180
+ 1. **OCR to Extract Details** (20%):
181
+ - Use OCR to read brand details, pack size, brand name, etc.
182
+ - Train the model to read details from various products, including FMCG, OTC items, health supplements, personal care, and household items.
183
+
184
+ 2. **Using OCR for Expiry Date Details** (10%):
185
+ - Validate expiry dates using OCR to read expiry and MRP details printed on items.
186
+
187
+ 3. **Image Recognition for Brand Recognition and Counting** (30%):
188
+ - Use machine learning to recognize brands and count product quantities from images.
189
+
190
+ 4. **Detecting Freshness of Fresh Produce** (40%):
191
+ - Assess the freshness of fruits and vegetables by analyzing various visual cues and patterns.
192
+ """)
193
+
194
+ st.write("""
195
+ Our project aims to leverage OCR and image recognition to enhance product packaging analysis and freshness detection.
196
  """)
197
 
198
+ # Proposal Round
199
+ st.write("## Proposal Round:")
200
+ st.write("""
201
+ **Format:** Use Case Submission & Code Review
202
+ - Selected teams will submit detailed use case scenarios they plan to solve.
203
+ - The submission should include a proposal outlining their approach and the code developed so far.
204
+ - The GRID team will provide a set of images for testing the model.
205
+ - 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.
206
+ - 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.
207
+ - The video will help demonstrate the effectiveness of their approach and provide a visual representation of their solution.
208
+
209
+ Teams with the most comprehensive and innovative proposals will proceed to the final stage.
210
+ """)
211
 
212
+ # Problem Statement
213
+ st.write("## Problem Statement:")
214
+ st.write("""
215
+ 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.
216
 
217
+ 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.
218
 
219
+ 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.
220
+ """)
221
 
222
+ # Proposed Solution
223
+ st.write("## Proposed Solution:")
224
+ st.write("""
225
+ Our solution is designed to tackle the problem by implementing the following key components:
226
 
227
+ ### 1. OCR for Product Detail Extraction
228
+ We will use OCR technology to accurately extract critical information from product packaging, including:
229
+ - Brand name
230
+ - Pack size
231
+ - Expiry date
232
+ - MRP details
233
 
234
+ This will allow for real-time analysis of product information, ensuring that customers receive accurate data about their purchases.
 
235
 
236
+ ### 2. Freshness Detection using Image Recognition
237
+ 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.
238
 
239
+ ### 3. Data Validation and Reporting
240
+ 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.
 
 
241
 
242
+ ### 4. Video Simulation
243
+ 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.
244
 
245
+ ### 5. Proposal Submission
246
+ 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.
247
+
248
+ Our team is committed to delivering a robust solution that not only meets but exceeds the expectations of the Amazon Sambhav Challenge.
 
 
 
 
 
 
 
249
  """)
250
 
251
+ elif app_mode == "Team Details":
252
+ st.write("## Meet Our Team:")
253
+ display_team_members(team_members)
254
+ st.write("Delhi Technological University")
255
+
256
+ elif app_mode == "Task 1":
257
+ st.write("## Task 1: 🖼️ OCR to Extract Details 📄")
258
+ st.write("Using OCR to extract details from product packaging material, including brand name and pack size.")
259
+
260
+ # File uploader for images (supports multiple files)
261
+ uploaded_files = st.file_uploader("Upload images of products", type=["jpeg", "png", "jpg"], accept_multiple_files=True)
262
+
263
+ if uploaded_files:
264
+ st.write("### Uploaded Images in Circular Format:")
265
+ circular_images = []
266
+
267
+ for uploaded_file in uploaded_files:
268
+ img = Image.open(uploaded_file)
269
+ circular_img = make_image_circular(img) # Create circular images
270
+ circular_images.append(circular_img)
271
+
272
+ # Display the circular images in a matrix/grid format
273
+ display_images_in_grid(circular_images, max_images_per_row=4)
274
+
275
+ # Function to simulate loading process with a progress bar
276
+ def simulate_progress():
277
+ progress_bar = st.progress(0)
278
+ for percent_complete in range(100):
279
+ time.sleep(0.02)
280
+ progress_bar.progress(percent_complete + 1)
281
+ # Function to remove gibberish using regex (removes non-alphanumeric chars, filters out very short text)
282
+ def clean_text(text):
283
+ # Keep text with letters, digits, and spaces, and remove short/irrelevant text
284
+ return re.sub(r'[^a-zA-Z0-9\s]', '', text).strip()
285
+
286
+ # Function to extract the most prominent text (product name) and other details
287
+ def extract_product_info(results):
288
+ product_name = ""
289
+ product_details = ""
290
+ largest_text_size = 0
291
+
292
+ for line in results:
293
+ for box in line:
294
+ text, confidence = box[1][0], box[1][1]
295
+ text_size = box[0][2][1] - box[0][0][1] # Calculate height of the text box
296
+
297
+ # Clean the text to avoid gibberish
298
+ clean_text_line = clean_text(text)
299
+
300
+ if confidence > 0.7 and len(clean_text_line) > 2: # Only consider confident, meaningful text
301
+ if text_size > largest_text_size: # Assume the largest text is the product name
302
+ largest_text_size = text_size
303
+ product_name = clean_text_line
304
+ else:
305
+ product_details += clean_text_line + " "
306
+
307
+ return product_name, product_details.strip()
308
+ if st.button("Start Analysis"):
309
+ simulate_progress()
310
+ # Loop through each uploaded image and process them
311
+ for uploaded_image in uploaded_files:
312
+ # Load the uploaded image
313
+ image = Image.open(uploaded_image)
314
+ # st.image(image, caption=f'Uploaded Image: {uploaded_image.name}', use_column_width=True)
315
+
316
+ # Convert image to numpy array for OCR processing
317
+ img_array = np.array(image)
318
+
319
+ # Perform OCR on the image
320
+ st.write(f"Extracting details from {uploaded_image.name}...")
321
+ result = ocr.ocr(img_array, cls=True)
322
+
323
+ # Process the OCR result to extract product name and properties
324
+ product_name, product_details = extract_product_info(result)
325
+
326
+ # UI display for single image product details
327
+ st.markdown("---")
328
+ st.markdown(f"### **Product Name:** `{product_name}`")
329
+ st.write(f"**Product Properties:** {product_details}")
330
+ st.markdown("---")
331
+
332
+ else:
333
+ st.write("Please upload images to extract product details.")
334
+
335
+ elif app_mode == "Task 2":
336
+ st.write("## Task 2:📅 Expiry Date Validation ✅")
337
+ st.write("Use OCR to get expiry and MRP details printed on items.")
338
+ # File uploader for images (supports multiple files)
339
+ uploaded_files = st.file_uploader("Upload images of products containing expiry date", type=["jpeg", "png", "jpg"], accept_multiple_files=True)
340
+
341
+ if uploaded_files:
342
+ st.write("### Uploaded Images in Circular Format:")
343
+ circular_images = []
344
+
345
+ for uploaded_file in uploaded_files:
346
+ img = Image.open(uploaded_file)
347
+ circular_img = make_image_circular(img) # Create circular images
348
+ circular_images.append(circular_img)
349
+
350
+ # Display the circular images in a matrix/grid format
351
+ display_images_in_grid(circular_images, max_images_per_row=4)
352
+
353
+ # Function to simulate loading process with a progress bar
354
+ def simulate_progress():
355
+ progress_bar = st.progress(0)
356
+ for percent_complete in range(100):
357
+ time.sleep(0.02)
358
+ progress_bar.progress(percent_complete + 1)
359
+
360
+ for idx, uploaded_file in enumerate(uploaded_files):
361
+ image = Image.open(uploaded_file)
362
+ img_array = np.array(image)
363
+ result = ocr.ocr(img_array, cls=True)
364
+
365
+ if result and result[0]:
366
+ # Extract recognized texts
367
+ recognized_texts = [line[1][0] for line in result[0]]
368
+
369
+ # Clean up recognized texts by removing extra spaces and standardizing formats
370
+ cleaned_texts = []
371
+ for text in recognized_texts:
372
+ cleaned_text = re.sub(r'\s+', ' ', text.strip()) # Replace multiple spaces with a single space
373
+ cleaned_text = cleaned_text.replace('.', '').replace(',', '') # Remove dots and commas for date detection
374
+ cleaned_texts.append(cleaned_text)
375
+
376
+ # Extract dates from recognized texts
377
+ extracted_dates, date_texts, date_boxes, date_scores = extract_dates_with_dateparser(cleaned_texts, result)
378
+
379
+ if extracted_dates:
380
+ # Display extracted dates
381
+ st.write("**Extracted Dates**:")
382
+ for date, text in zip(extracted_dates, date_texts):
383
+ st.write(f"Detected Date: **{date}**, Original Text: *{text}*")
384
+ else:
385
+ st.write("No valid dates found in the image.")
386
+
387
+ # Option to visualize the bounding boxes on the image
388
+ if st.checkbox(f"Show image with highlighted dates for {uploaded_file.name}", key=f"highlight_{idx}"):
389
+ # Draw the OCR results on the image
390
+ image_with_boxes = draw_ocr(image, date_boxes, date_texts, date_scores,font_path='CedarvilleCursive-Regular.ttf') # Removed font path
391
+
392
+ # Display the image with highlighted boxes
393
+ plt.figure(figsize=(10, 10))
394
+ plt.imshow(image_with_boxes)
395
+ plt.axis('off') # Hide axes
396
+ st.pyplot(plt)
397
+ else:
398
+ st.write("No text detected in the image.")
399
+
400
+
401
+ def make_image_circular1(image):
402
+ # Create a circular mask
403
+ mask = Image.new("L", image.size, 0)
404
+ draw = ImageDraw.Draw(mask)
405
+ draw.ellipse((0, 0, image.size[0], image.size[1]), fill=255)
406
+
407
+ # Apply the mask to the image
408
+ circular_image = Image.new("RGB", image.size)
409
+ circular_image.paste(image.convert("RGBA"), (0, 0), mask)
410
+
411
+ return circular_image
412
+
413
+ def display_images_in_grid1(images, max_images_per_row=4):
414
+ rows = (len(images) + max_images_per_row - 1) // max_images_per_row # Calculate number of rows needed
415
+
416
+ for i in range(0, len(images), max_images_per_row):
417
+ cols_to_show = images[i:i + max_images_per_row]
418
+
419
+ # Prepare to display in a grid format
420
+ cols = st.columns(max_images_per_row) # Create columns dynamically
421
+
422
+ for idx, img in enumerate(cols_to_show):
423
+ img = img.convert("RGB") # Ensure the image is in RGB mode
424
+
425
+ if idx < len(cols):
426
+ cols[idx].image(img, use_column_width=True)
427
+
428
+ # Initialize your Streamlit app
429
+ if app_mode == "Task 3":
430
+ st.write("## Task 3: Image Recognition 📸 and IR-Based Counting 📊")
431
+
432
+ # File uploader for images (supports multiple files)
433
+ uploaded_files = st.file_uploader("Upload images of fruits, vegetables, or products for brand recognition and freshness detection",
434
+ type=["jpeg", "png", "jpg"], accept_multiple_files=True)
435
+ if uploaded_files:
436
+ st.write("### Uploaded Images:")
437
+ # Load the pre-trained YOLOv8 model
438
+ model = YOLO('yolov9c.pt') # Adjust path to your YOLO model if needed
439
+
440
+ # Initialize a dictionary to store counts of detected products
441
+ product_count_dict = {}
442
+ circular_images = []
443
+ images=[]
444
+
445
+ for uploaded_file in uploaded_files:
446
+ img = Image.open(uploaded_file)
447
+ circular_img = make_image_circular(img) # Create circular images
448
+ circular_images.append(circular_img)
449
+ images.append(img)
450
+
451
+ # Display the circular images in a matrix/grid format
452
+ display_images_in_grid(circular_images, max_images_per_row=4)
453
+
454
+ detected_images = []
455
+
456
+ for idx, image in enumerate(images):
457
+ # Run object detection
458
+ results = model(image)
459
+
460
+ # Initialize counts for this image
461
+ image_counts = {}
462
+
463
+ # Display results with bounding boxes
464
+ for result in results:
465
+ img_with_boxes = result.plot() # Get image with bounding boxes
466
+ detected_images.append(make_image_circular(image.resize((150, 150)))) # Resize and make circular
467
+
468
+ # Display detected object counts per class
469
+ counts = result.boxes.cls.tolist() # Extract class IDs
470
+ class_counts = {int(cls): counts.count(cls) for cls in set(counts)}
471
+
472
+ # Update the image counts for this image
473
+ for cls_id, count in class_counts.items():
474
+ product_name = result.names[cls_id] # Get the product name from class ID
475
+ image_counts[product_name] = count
476
+
477
+ # Aggregate counts into the main product count dictionary
478
+ for product, count in image_counts.items():
479
+ if product in product_count_dict:
480
+ product_count_dict[product] += count
481
+ else:
482
+ product_count_dict[product] = count
483
+
484
+ # Option to visualize the bounding boxes on the image
485
+ if st.checkbox(f"Show image with highlighted boxes for image {idx + 1}", key=f"checkbox_{idx}"):
486
+ st.image(img_with_boxes, caption="Image with Highlighted Boxes", use_column_width=True)
487
+
488
+ # Display the total counts as a bar chart
489
+ st.write("### Total Product Counts Across All Images:")
490
+ if product_count_dict:
491
+ product_count_df = pd.DataFrame(product_count_dict.items(), columns=["Product", "Count"])
492
+ st.bar_chart(product_count_df.set_index("Product"))
493
+ else:
494
+ st.write("No products detected.")
495
+
496
+ elif app_mode == "Task 4":
497
+ st.write("## Task 4: 🍏 Fruit and Vegetable Freshness Detector 🍅")
498
+ # Load the trained model
499
+ try:
500
+ model = tf.keras.models.load_model('fruit_freshness_model.h5') # Using TensorFlow to load the model
501
+ st.success("Model loaded successfully!")
502
+ except Exception as e:
503
+ st.error(f"Error loading model: {e}")
504
+
505
+ # File uploader for images (supports multiple files)
506
+ uploaded_files = st.file_uploader("Upload images of fruits/vegetables", type=["jpeg", "png", "jpg"], accept_multiple_files=True)
507
+
508
+ if uploaded_files:
509
+ st.write("### Uploaded Images in Circular Format:")
510
+ circular_images = []
511
+ images=[]
512
+
513
+ for uploaded_file in uploaded_files:
514
+ img = Image.open(uploaded_file)
515
+ circular_img = make_image_circular(img) # Create circular images
516
+ circular_images.append(circular_img)
517
+ images.append(img)
518
+
519
+ # Display the circular images in a matrix/grid format
520
+ display_images_in_grid(circular_images, max_images_per_row=4)
521
+
522
+ # Function to simulate loading process with a progress bar
523
+ def simulate_progress():
524
+ progress_bar = st.progress(0)
525
+ for percent_complete in range(100):
526
+ time.sleep(0.02)
527
+ progress_bar.progress(percent_complete + 1)
528
+
529
+ # Create an empty DataFrame to hold the image name and prediction results
530
+ results_df = pd.DataFrame(columns=["Image", "Prediction"])
531
+
532
+ # Create a dictionary to count the occurrences of each class
533
+ class_counts = {class_name: 0 for class_name in class_names}
534
+
535
+ # Button to initiate predictions
536
+ if st.button("Run Prediction"):
537
+ # Display progress bar
538
+ simulate_progress()
539
+
540
+ for idx, img in enumerate(images): # Use circular images for predictions
541
+ img_array = preprocess_image(img.convert('RGB')) # Convert to RGB
542
+
543
+ try:
544
+ # Perform the prediction
545
+ prediction = model.predict(img_array)
546
+
547
+ # Get the class with the highest probability
548
+ result = class_names[np.argmax(prediction)]
549
+ st.success(f'Prediction for Image {idx + 1}: **{result}**')
550
+
551
+ # Increment the class count
552
+ class_counts[result] += 1
553
+
554
+ # Add the result to the DataFrame
555
+ result_data = pd.DataFrame({"Image": [uploaded_files[idx].name], "Prediction": [result]})
556
+ results_df = pd.concat([results_df, result_data], ignore_index=True)
557
+
558
+ except Exception as e:
559
+ st.error(f"Error occurred during prediction: {e}")
560
+
561
+ # Display class distribution as a bar chart
562
+ st.write("### Class Distribution:")
563
+ class_counts_df = pd.DataFrame(list(class_counts.items()), columns=['Class', 'Count'])
564
+ st.bar_chart(class_counts_df.set_index('Class'))
565
+
566
+ # Option to download the prediction results as a CSV file
567
+ st.write("### Download Results:")
568
+ csv = results_df.to_csv(index=False).encode('utf-8')
569
+ st.download_button(
570
+ label="Download prediction results as CSV",
571
+ data=csv,
572
+ file_name='prediction_results.csv',
573
+ mime='text/csv',
574
+ )
575
+
576
+ # Display the dataframe after the graph
577
+ st.write("### Prediction Data:")
578
+ st.dataframe(results_df)
579
 
580
+ # Footer with animation
581
+ st.markdown("""
582
+ <style>
583
+ @keyframes fade-in {
584
+ from { opacity: 0; }
585
+ to { opacity: 1;}
586
+ }
587
+ .footer {
588
+ text-align: center;
589
+ font-size: 1.1em;
590
+ animation: fade-in 2s;
591
+ padding-top: 2rem;
592
+ }
593
+ </style>
594
+ <div class="footer">
595
+ <p>© 2024 Amazon Smbhav Challenge. All rights reserved.</p>
596
+ </div>
597
+ """, 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
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