SDFIdk / FIRE

🔥 FIRE - FIkspunktREgister
https://sdfidk.github.io/FIRE/
MIT License
4 stars 8 forks source link

Koordinater delvist deaktiverede #675

Open kbevers opened 1 year ago

kbevers commented 1 year ago

Et simpelt udtræk illustrerer problemet:

SELECT count(*)
FROM KOORDINAT k 
WHERE 
  k.REGISTRERINGTIL IS NOT NULL 
AND 
  k.SAGSEVENTTILID IS NULL;

Der er i ~600.000 koordinater (ud af ~2 mio) der dette problem. Det er tydeligvis en fejl. Et eksempel fra test-databasen kan ses her:

SELECT * 
FROM KOORDINAT k
JOIN SRIDTYPE s ON s.SRIDID = k.SRIDID 
WHERE
    s.SRID='EPSG:4909'
AND
    k.PUNKTID = '009cd223-61cd-4068-b3bb-7e2de43a7204';
OBJEKTID REGISTRERINGFRA REGISTRERINGTIL SAGSEVENTFRAID SAGSEVENTTILID SRIDID SX SY SZ T FEJLMELDT TRANSFORMERET ARTSKODE X Y Z PUNKTID
2039305 2000-11-23 08:44:02.000 +0100 2001-06-21 10:55:03.000 +0100 3860680f-f890-4069-aad3-10f7473e90a6 27 999 999 2997 1998-05-24 12:08:00.000 +0100 false false 7 -68.8687701916666857219039566712 76.5606621777778060759317618108 236.39559 009cd223-61cd-4068-b3bb-7e2de43a7204
2039309 2006-09-20 09:49:06.000 +0100 2007-05-02 07:35:07.000 +0100 8d02a94b-96b2-4771-83bf-0f9da6f5be34 27 10 10 30 2006-01-01 12:00:00.000 +0100 false false 7 -68.8687701900492258662496427776 76.5606621795256138299783379824 236.396 009cd223-61cd-4068-b3bb-7e2de43a7204
2039311 2007-05-02 12:15:01.000 +0100 502faf19-4cf0-4527-8b59-079b7e0b0193 27 10 10 30 1996-01-01 12:00:00.000 +0100 false false 1 -68.868770089777028055994536192 76.560662192547798597711687672 236.428 009cd223-61cd-4068-b3bb-7e2de43a7204

Hvor de to øverste altså burde have sagseventtilid sat.

I andre tilfælde har alle koordinaterne til punkt et punkt fået registreringtil sat på trods af at den seneste ikke burde være afregistreret. Eksempelvis for punktet 8b7762ff-3ce2-48e7-bbbf-df5538513f51 (brug samme SQL som ovenfor):

OBJEKTID REGISTRERINGFRA REGISTRERINGTIL SAGSEVENTFRAID SAGSEVENTTILID SRIDID SX SY SZ T FEJLMELDT TRANSFORMERET ARTSKODE X Y Z PUNKTID
2070848 2000-11-23 08:44:01.000 +0100 2001-04-25 10:56:02.000 +0100 3860680f-f890-4069-aad3-10f7473e90a6 27 999 999 2997 1998-05-24 12:08:00.000 +0100 false false 2 -53.6952316666666658530256951548704 66.938807794444425877624076273448 62.014110000000002 8b7762ff-3ce2-48e7-bbbf-df5538513f51
2070849 2001-04-25 10:56:02.000 +0100 2006-11-21 16:23:03.000 +0100 edde67b1-9f74-4b74-b42b-7c625d58c29d 27 10 10 30 2001-04-25 11:00:00.000 +0100 false false 1 -53.6952316591254881726766113898288 66.938807796062401395294007907928 62.014747718349099 8b7762ff-3ce2-48e7-bbbf-df5538513f51

Årsagen hertil skal findes i en ændring i REFGEO hvor 3D-koordinater gik fra at være samlet i en tabel til at være fordelt på to (plan og højde). Da man har opdateret højde og plane koordinater asynkront, har det ved migration fra REFGEO til FIRE ikke været muligt at samle igen på en sikker måde.

Det kan fx se i udskriften herunder, hvor der er registret GR96-koordinater i 1998, 2001 og 2006. De første to koordinater er fuldt 3-dimensionelle og den sidste fra 2006 er kun 2-dimensionel. Så vidt jeg husker var et af problemerne forskellige i beregningstidspunker som ellers var eneste sikre nøgle at binde de to tabeller sammen med.

fire info punkt "GL  61498" -H -D -Kalle

--------------------------------------------------------------------------------
 PUNKT GL  JHS2
--------------------------------------------------------------------------------
  Lokation                    POINT (-53.6952316592647 66.9388077962218)
  Oprettelsesdato             1999-12-03 09:29:00
  AFM:1958                    Centreringsbolt i klippe.
  AFM:horisontal
  ATTR:gnss_egnet
 -ATTR:beskrivelse            Sisimiut.
                              GPS navn JHS2.
                              Messingbolt med gevind for direkte
                              montering af antenne.
                              På plateau ved tankanlæg på Teleøen,
                              umiddelbart ved siden af GTO punkt 50563.
  ATTR:beskrivelse            Sisimiut.
                              GPS navn JHS2.
                              Messingbolt med gevind for direkte
                              montering af antenne.
                              På plateau ved tankanlæg på Teleøen,
                              umiddelbart ved siden af GTO st. 50563.
  ATTR:højdefikspunkt
 -ATTR:bemærkning             Besøgt af HO 1998.
  ATTR:bemærkning             Besøgt af HO 1998.
  NET:REFGR
  REGION:GL
  IDENT:refgeo_id             787023
  IDENT:station               GL  61498
  IDENT:GNSS                  GL  JHS2
  uuid                        8b7762ff-3ce2-48e7-bbbf-df5538513f51
  objekt-id                   750910
  sagsid                      4f8f29c8-c38f-4c69-ae28-c7737178de1f
  sagsevent-fra               e964cca6-7b16-414a-9538-8639eacaac3d

--- KOORDINATER ---
. 2001-04-25 11:00  EPSG:4909       n -53.6952316591, 66.9388077961, 62.01475  (10, 10, 30)      
. 1998-05-24 12:08  EPSG:4909       n -53.6952316667, 66.9388077944, 62.01411  (999, 999, 2997)  
* 2006-01-01 12:00  EPSG:4747       n -53.6952316593, 66.9388077962 (10, 10)
* 2006-01-01 12:00  EPSG:3184       t -137443.0684, 7500314.4096 (10, 10)
kbevers commented 1 year ago

Se også https://github.com/SDFIdk/Fikspunkt/issues/39