- actualize foreign key for first and last observations in each dataset
This commit is contained in:
parent
86c3c6eb32
commit
794ce84106
|
@ -2,6 +2,7 @@
|
||||||
import csv
|
import csv
|
||||||
# import requests
|
# import requests
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from typing import List
|
||||||
import uuid
|
import uuid
|
||||||
from pyproj import Transformer
|
from pyproj import Transformer
|
||||||
# from insert_sensor.wrapper import (Offering, FoI, Procedure)
|
# from insert_sensor.wrapper import (Offering, FoI, Procedure)
|
||||||
|
@ -101,10 +102,11 @@ def main():
|
||||||
# pg_session.commit()
|
# pg_session.commit()
|
||||||
|
|
||||||
# for loop sensors end
|
# for loop sensors end
|
||||||
|
actualize_first_last_observations()
|
||||||
pg_session.close()
|
pg_session.close()
|
||||||
|
|
||||||
|
|
||||||
def create_observation(location_dataset: Dataset, data: dict[any, any], pg_session: session):
|
def create_observation(location_dataset: Dataset, data, pg_session: session):
|
||||||
''' create observation in db'''
|
''' create observation in db'''
|
||||||
# print("Sesnor key exist in JSON data")
|
# print("Sesnor key exist in JSON data")
|
||||||
transprojr = Transformer.from_crs(31254, 4326, always_xy=True)
|
transprojr = Transformer.from_crs(31254, 4326, always_xy=True)
|
||||||
|
@ -146,6 +148,46 @@ def create_observation(location_dataset: Dataset, data: dict[any, any], pg_sess
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def actualize_first_last_observations():
|
||||||
|
''' iterate throug all datasets of Voregelsberg project area
|
||||||
|
and actualize last and first corresponding observations'''
|
||||||
|
pg_session: session = create_pg_session()
|
||||||
|
platform_sta_identifier = "voegelsberg_tachymeter"
|
||||||
|
# sensor_platform = pg_session.query(Platform.id) \
|
||||||
|
# .filter(Platform.sta_identifier == platform_sta_identifier) \
|
||||||
|
# .first()
|
||||||
|
|
||||||
|
voegelsberg_datasets: List[Dataset] = []
|
||||||
|
voegelsberg_datasets = pg_session.query(Dataset) \
|
||||||
|
.join(Procedure) \
|
||||||
|
.join(Phenomenon) \
|
||||||
|
.join(Platform) \
|
||||||
|
.filter(Platform.sta_identifier == platform_sta_identifier).all()
|
||||||
|
|
||||||
|
for location_dataset in voegelsberg_datasets:
|
||||||
|
''' iterate throug all datasets of Voregelsberg project area
|
||||||
|
and actualize last and first corresponding observations'''
|
||||||
|
last_location_observation = pg_session.query(Observation) \
|
||||||
|
.filter(Observation.fk_dataset_id == location_dataset.id) \
|
||||||
|
.order_by(desc('sampling_time_start')) \
|
||||||
|
.first()
|
||||||
|
if last_location_observation is not None:
|
||||||
|
location_dataset.last_time = last_location_observation.sampling_time_start
|
||||||
|
# location_dataset.last_value = last_location_observation.value_quantity
|
||||||
|
location_dataset.fk_last_observation_id = last_location_observation.id
|
||||||
|
|
||||||
|
first_location_observation = pg_session.query(Observation) \
|
||||||
|
.filter(Observation.fk_dataset_id == location_dataset.id) \
|
||||||
|
.order_by(asc('sampling_time_start')) \
|
||||||
|
.first()
|
||||||
|
if first_location_observation is not None:
|
||||||
|
location_dataset.first_time = first_location_observation.sampling_time_start
|
||||||
|
# roll_dataset.first_value = first_location_observation.value_quantity
|
||||||
|
location_dataset.fk_first_observation_id = first_location_observation.id
|
||||||
|
|
||||||
|
pg_session.commit()
|
||||||
|
|
||||||
|
|
||||||
def get_xml(offering, procedure, foi, result_time, identifier):
|
def get_xml(offering, procedure, foi, result_time, identifier):
|
||||||
''' """
|
''' """
|
||||||
Prepares the body of a InsertSensor request for JSON biding.
|
Prepares the body of a InsertSensor request for JSON biding.
|
||||||
|
@ -178,4 +220,4 @@ def get_xml(offering, procedure, foi, result_time, identifier):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
actualize_first_last_observations()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user