Skip to content
Snippets Groups Projects
Commit f05f8ce3 authored by Sara Savanovic Djordjevic's avatar Sara Savanovic Djordjevic
Browse files

fix: duplicate Data and Corner in Measurement

parent bf0beb15
No related branches found
No related tags found
No related merge requests found
No preview for this file type
No preview for this file type
......@@ -6,7 +6,7 @@ import json
def get_all_markers(self, cursor, valid: bool):
try:
# NB: interval temporarily hard coded to 5 days
if valid: # Fetch only valid markers (taken within last 5 days)
if valid:
cursor.execute('''
SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, d.Latitude, d.Longitude,
d.IceTop, d.IceBottom, d.CalculatedThickness, d.Accuracy, s.SensorType, s.Active,
......@@ -14,21 +14,21 @@ def get_all_markers(self, cursor, valid: bool):
FROM Measurement m
INNER JOIN Sensor s ON m.SensorID = s.SensorID
INNER JOIN Data d ON m.MeasurementID = d.MeasurementID
INNER JOIN Corner c ON m.MeasurementID = c.MeasurementID
LEFT JOIN Corner c ON m.MeasurementID = c.MeasurementID
INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name
WHERE m.TimeMeasured > DATE_SUB(NOW(), INTERVAL 5 DAY);
''')
else: # Fetch all markers
else:
cursor.execute('''
SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, d.Latitude, d.Longitude,
d.IceTop, d.IceBottom, d.CalculatedThickness, d.Accuracy, s.SensorType, s.Active,
c.CornerID, c.CornerLatitude, c.CornerLongitude, b.Name
FROM Measurement m
INNER JOIN Sensor s ON m.SensorID = s.SensorID
INNER JOIN Data d ON m.MeasurementID = d.MeasurementID
INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name
INNER JOIN Corner c ON m.MeasurementID = c.MeasurementID
''')
SELECT m.MeasurementID, m.SensorID, m.TimeMeasured, d.Latitude, d.Longitude,
d.IceTop, d.IceBottom, d.CalculatedThickness, d.Accuracy, s.SensorType, s.Active,
c.CornerID, c.CornerLatitude, c.CornerLongitude, b.Name
FROM Measurement m
INNER JOIN Sensor s ON m.SensorID = s.SensorID
INNER JOIN Data d ON m.MeasurementID = d.MeasurementID
LEFT JOIN Corner c ON m.MeasurementID = c.MeasurementID
INNER JOIN BodyOfWater b ON m.WaterBodyName = b.Name
''')
rows = cursor.fetchall()
......@@ -54,10 +54,15 @@ def get_all_markers(self, cursor, valid: bool):
'Longitude': row[13]
}
# If measurement ID already exists in measurement_data, append data and corner
# Check if measurement ID already exists in measurement_data
if measurement_id in measurement_data:
measurement_data[measurement_id]['Data'].append(data_object)
measurement_data[measurement_id]['Corners'].append(corner_object)
# Check if the data object already exists in the list
if data_object not in measurement_data[measurement_id]['Data']:
measurement_data[measurement_id]['Data'].append(data_object)
# Check if the corner object already exists in the list
if corner_object not in measurement_data[measurement_id]['Corners']:
measurement_data[measurement_id]['Corners'].append(corner_object)
else:
# Create a new entry for measurement_id if it does not already exist in the list
measurement_data[measurement_id] = {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment