Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDL: Tidsserier og punktsamlinger #551

Merged
merged 1 commit into from
Jan 21, 2022

Conversation

kbevers
Copy link
Collaborator

@kbevers kbevers commented Jan 19, 2022

Afstikker fra #546, kun med fokus med det essentielle i datamodeludvidelsen. Der bør tilføjes et par yderligere API-funktioner og et afsnit til docs/datamodel.rst men ellers er dette PR så godt som køreklart.

@kbevers
Copy link
Collaborator Author

kbevers commented Jan 20, 2022

@xidus jeg har så vidt jeg kan se taget hånd om forslag du kom med i #546. Jeg mener dette PR er klar til merge men du må hellere lige tjekke efter en sidste gang om der skulle være overset. Jeg medgiver at teksten i docs/datamodel.rst er lidt kortfattet og delvist indforstået. Det kan godt forbedres på et senere tidspunkt, for nu vægter jeg højere at få merged koden så vi kan komme videre med tidsserierne.

sql/ddl.sql Outdated Show resolved Hide resolved
sql/ddl.sql Show resolved Hide resolved
COMMENT ON COLUMN punktsamling.jessenpunktid IS 'Punktsamlingens Jessenpunkt';
COMMENT ON COLUMN punktsamling.jessenkoordinatid IS 'Den fastholdte koordinat for Jessenpunktet';
COMMENT ON COLUMN punktsamling.navn IS 'Punktsamlingens navn';
COMMENT ON COLUMN punktsamling.formaal IS 'Formålet med punktsamlingen, eksempelvis til registrering af hensigt om opmålingsfrekvens etc.';
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

jeg skal måske have lidt hjælpt til at forstå eksemplet i denne beskrivelse: Siger det, at punktsamlingen er oprettet for at registrere opmålinger, så man kan holde øje med frekvensen af disse?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nej, pointen var at du her fx kan skrive "Til overvågning af stabiliteten af K-01-2345, genopmåles med geometrisk nivellement hvert tredje år" eller noget i den stil. Jeg tror de konkrete eksempler må vi vende tilbage til, her arbejder jeg ud fra en vag beskrivelse af et behov Aslak har bemærket. Præcis hvordan det i praksis skal bruges er jeg ikke helt sikkert på, men det håber jeg bliver mere klart for os som tiden går.

Copy link
Collaborator

@xidus xidus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser fint ud. Havde kun mindre kommentarer og forståelsessprøgsmål.

To primære tabeller tilføjes: PunktSamling og Tidsserie. Herudover
tilføjes krydstabeller for at kunne knytte punktsamlinger og tidsserier
til eksisterende tabeller såsom punkt og koordinat.

Testdata tilføjet for at understøtte test-suiten. Både nivellementstidsserier
i en punktsamling og GNSS-tidsserie emuleres.

Herunder et par eksempler på udtræk fra testdatasættet. Udtræk af en
enkelt tidsserie (inkl. offset fra koten i jessenpunktet):

    SELECT k.t, k.z
           (SELECT k2.z+k.z
            FROM koordinat k2
            WHERE k2.objektid=ts.jessenkoordinatid) offset_z
    FROM tidsserie ts
    JOIN tidsserie_koordinat tk ON ts.objektid=tk.tidsserieobjektid
    JOIN koordinat k ON k.objektid = tk.koordinatobjektid
    WHERE ts.punktid='bfe1d698-09fb-450a-81e7-4e2832b6bea7';

    -----------------------------   ------     ---------
    2017-03-17 16:13:00.000 +0100   0.00342    14.13452
    2018-04-07 12:23:00.000 +0100   0.0041     14.1352
    2019-03-02 11:42:00.000 +0100   0.00352    14.13462
    2020-02-12 09:32:00.000 +0100   0.0039     14.135

Udtræk af samtlige tidsserier tilhørende en punktgruppe:

    SELECT psp.punktid, k.t, k.z, k.sz
    FROM punktsamling ps
    JOIN punktsamling_punkt psp ON ps.objektid=psp.punktgruppeid
    JOIN tidsserie ts ON psp.punktid=ts.PUNKTID
    JOIN tidsserie_koordinat tk ON ts.objektid=tk.tidsserieobjektid
    JOIN koordinat k ON k.objektid = tk.koordinatobjektid
    WHERE pg.jessenpunktid = '301b8578-8cc8-48a8-8446-541f31482f86'
    ORDER BY psp.punktid;

------------------------------------    -----------------------------   -------
b54a5515-d050-4049-bcb8-93a5e1039cc3    2020-02-12 09:32:00.000 +0100   0.02042
b54a5515-d050-4049-bcb8-93a5e1039cc3    2019-03-02 11:42:00.000 +0100   0.02377
b54a5515-d050-4049-bcb8-93a5e1039cc3    2017-03-17 16:13:00.000 +0100   0.0225
b54a5515-d050-4049-bcb8-93a5e1039cc3    2018-04-07 12:23:00.000 +0100   0.02433
bfe1d698-09fb-450a-81e7-4e2832b6bea7    2019-03-02 11:42:00.000 +0100   0.00352
bfe1d698-09fb-450a-81e7-4e2832b6bea7    2020-02-12 09:32:00.000 +0100   0.0039
bfe1d698-09fb-450a-81e7-4e2832b6bea7    2017-03-17 16:13:00.000 +0100   0.00342
bfe1d698-09fb-450a-81e7-4e2832b6bea7    2018-04-07 12:23:00.000 +0100   0.0041
c3d38a21-329e-474a-a4d1-068e8219b622    2019-03-02 11:42:00.000 +0100   0.02377
c3d38a21-329e-474a-a4d1-068e8219b622    2018-04-07 12:23:00.000 +0100   0.02433
c3d38a21-329e-474a-a4d1-068e8219b622    2020-02-12 09:32:00.000 +0100   0.02042
c3d38a21-329e-474a-a4d1-068e8219b622    2017-03-17 16:13:00.000 +0100   0.0225

De nye tabeller er mappet til SQLAlchemy objekter, Tidsserie og
PunktSamling. Disse testes i test-suiten.
@kbevers kbevers merged commit 02d643d into SDFIdk:master Jan 21, 2022
@kbevers kbevers deleted the tidsserie_punktsamling branch January 21, 2022 16:06
@kbevers kbevers mentioned this pull request Nov 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Resterende arbejde på prototype til at oprette tidsserieskridt til nivellementtidsserie
2 participants