Skip to content

Conversation

@krebslw
Copy link
Collaborator

@krebslw krebslw commented Dec 19, 2025

Lavet en ny kommando fire infomange punkter til udtræk af koordinater for flere punkter ad gangen. Navnet på kommandoen og kommando-gruppe er tentative.

Koordinaterne kan transformeres via PROJ til arbitrære target koordinatsystemer. Historiske koordinater kan tilvælges med -H/--historik.

Resultater vises i udgangspunktet som en tabel i terminalen, med mulighed for at skrive til excel-fil med -f/--fil . Er historik tilvalgt, kan man derudover få vist de resulterende "tidsserier" i et plot med -P/--plot.

For fuld beskrivelse af mulighederne, se docstring i koden.

Eksempler:

Den primære use-case der har været for øje er udtræk af gældende DVR90-koter:

(fire-dev) C:\FIRE-DEV> fire infomange punkter --db prod ALBN BFYR CHAK
Søg i databasen efter punkter til hver ident

  Navn   Srid    t                     decimalår   Kote [m]   sz [mm]
 ─────────────────────────────────────────────────────────────────────
  ALBN   DVR90   2024-03-06 11:53:00   2024.1789   1.5061     1.4160
  BFYR   DVR90   2022-03-16 08:14:00   2022.2037   41.3601    2.8006
  CHAK   DVR90   2002-01-17 09:44:00   2002.0449   12.3910    0.0000

Historiske koter med plot og excel-fil

(fire-dev) C:\FIRE-DEV>fire infomange punkter --db prod ALBN BFYR CHAK -H -P -f "ABC.xlsx"
Søg i databasen efter punkter til hver ident

  Navn   Srid    t                     decimalår   Kote [m]   sz [mm]
 ─────────────────────────────────────────────────────────────────────
  ALBN   DVR90   2007-05-15 13:42:00   2007.3687   1.5160     1.0000
  ALBN   DVR90   2024-03-06 11:53:00   2024.1789   1.5061     1.4160
  BFYR   DVR90   2010-01-11 14:16:00   2010.0290   41.3690    1.0000
  BFYR   DVR90   2013-07-31 14:17:00   2013.5797   41.3638    1.0000
  BFYR   DVR90   2015-12-11 11:05:00   2015.9437   41.3604    1.0000
  BFYR   DVR90   2022-03-16 08:14:00   2022.2037   41.3601    2.8006
  CHAK   DVR90   2001-08-01 08:12:00   2001.5818   12.3910    0.0000
  CHAK   DVR90   2002-01-17 09:44:00   2002.0449   12.3910    0.0000
temp1 temp2 temp3

ABC.xlsx

Vis historiske ETRS89-koordinater for ALBN, BFYR og CHAK

(fire-dev) C:\FIRE-DEV>fire infomange punkter --db prod ALBN BFYR CHAK -H -s EPSG:4937 
Søg i databasen efter punkter til hver ident
Springer BFYR over. Fandt ingen koordinater.

  Navn   Srid        t                     decimalår   Længdegrad [decimalgrader]   Breddegrad [decimalgrader]   Ellipsoidehøjde [m]   sx [mm]   sy [mm]   sz [mm]
 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ALBN   EPSG:4937   2005-01-12 12:25:00   2005.0316   10.4233                      57.6054                      39.3200               5.0000    5.0000    15.0000
  ALBN   EPSG:4937   2005-01-12 12:25:00   2005.0316   10.4233                      57.6054                      39.3200               4.0000    4.0000    12.0000
  ALBN   EPSG:4937   2011-12-21 10:01:00   2011.9710   10.4233                      57.6054                      39.3000               3.0000    3.0000    9.0000
  CHAK   EPSG:4937   2003-06-16 10:30:00   2003.4560   8.8043                       54.9445                      52.7110               4.0000    4.0000    12.0000
  CHAK   EPSG:4937   2005-01-12 12:25:00   2005.0316   8.8043                       54.9445                      52.7110               3.0000    3.0000    9.0000
  CHAK   EPSG:4937   2011-12-21 10:01:00   2011.9710   8.8043                       54.9445                      52.7160               4.0000    4.0000    12.0000

Udtræk gældende ETRS89 koordinater for alle GPSNET punkterne og vis dem i UTM32N + DVR90(2023)

(fire-dev) C:\FIRE-DEV>fire infomange punkter --db prod -N NET:GPSNET -s EPSG:4937 -t EPSG:25832+EPSG:10485 
Klargjorte transformation fra EPSG:4937 til EPSG:25832+EPSG:10485.
Springer ALST over. Fandt ingen koordinater.
Springer BALL over. Fandt ingen koordinater.
Springer BRLV over. Fandt ingen koordinater.
Springer BRUM over. Fandt ingen koordinater.
Springer EGTD over. Fandt ingen koordinater.
Springer EJHO over. Fandt ingen koordinater.
Springer FLSO over. Fandt ingen koordinater.
Springer FRSU over. Fandt ingen koordinater.
Springer GILL over. Fandt ingen koordinater.
Springer GLBJ over. Fandt ingen koordinater.
Springer HCAA over. Fandt ingen koordinater.
Springer HDSU over. Fandt ingen koordinater.
Springer HLRO over. Fandt ingen koordinater.
Springer KARU over. Fandt ingen koordinater.
Springer LELL over. Fandt ingen koordinater.
Springer LND1 over. Fandt ingen koordinater.
Springer MIFT over. Fandt ingen koordinater.
Springer MORK over. Fandt ingen koordinater.
Springer MRKV over. Fandt ingen koordinater.
Springer NYMO over. Fandt ingen koordinater.
Springer ODN3 over. Fandt ingen koordinater.
Springer OLG2 over. Fandt ingen koordinater.
Springer REJS over. Fandt ingen koordinater.
Springer RNGS over. Fandt ingen koordinater.
Springer ROBY over. Fandt ingen koordinater.
Springer RSKL over. Fandt ingen koordinater.
Springer SKI1 over. Fandt ingen koordinater.
Springer SKJR over. Fandt ingen koordinater.
Springer SKOB over. Fandt ingen koordinater.
Springer SPJE over. Fandt ingen koordinater.
Springer STRP over. Fandt ingen koordinater.
Springer TEBS over. Fandt ingen koordinater.
Springer THRS over. Fandt ingen koordinater.
Springer VMLV over. Fandt ingen koordinater.
Springer VOBO over. Fandt ingen koordinater.
Springer VOJS over. Fandt ingen koordinater.

  Navn   Srid                    t                            decimalår   Easting       Northing       Gravity-related height   sx [mm]   sy [mm]   sz [mm]
 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ALBG   EPSG:25832+EPSG:10485   2018-10-03 00:00:00          2018.7534   557587.6802   6323264.3331   11.3214                  8.0000    8.0000    24.0000
  ARDN   EPSG:25832+EPSG:10485   2018-10-03 00:00:00          2018.7534   552028.6968   6292322.0505   89.9171                  8.0000    8.0000    24.0000
  ARHU   EPSG:25832+EPSG:10485   2018-10-03 00:00:00          2018.7534   573896.8230   6225992.9068   74.0344                  8.0000    8.0000    24.0000
  BUDP   EPSG:25832+EPSG:10485   2025-07-07 12:00:43.199999   2025.5137   719707.2859   6182582.5003   57.8993                  5.0000    5.0000    15.0000
  EJSN   EPSG:25832+EPSG:10485   2018-10-03 00:00:00          2018.7534   486541.2125   6264279.6385   15.0204                  8.0000    8.0000    24.0000
  ESB2   EPSG:25832+EPSG:10485   2018-10-03 00:00:00          2018.7534   462774.8905   6149452.0601   20.9652                  8.0000    8.0000    24.0000
  ESBC   EPSG:25832+EPSG:10485   2015-10-30 00:00:00          2015.8274   465681.6648   6149850.8845   18.6977                  5.0000    5.0000    15.0000
...

Transformer fra IGS20 til GR96(2021) (virker ikke)

Nedenstående virker ikke, da GR96(2021) i FIRE er gemt som "GL:GR96(2021)", som PROJ ikke kan genkende.

(fire-dev) C:\FIRE-DEV>fire infomange punkter --db prod -N NET:GNET -s IGS20 -t GR96(2021)
Fejl: Kan ikke transformere fra EPSG:10176 til GL:GR96(2021). Mulig årsag:
Invalid projection: GL:GR96(2021): (Internal Proj Error: proj_create: crs not found: GL:GR96(2021))

Transformer fra IGS20 til GR96(2021) (virker)

(fire-dev) C:\FIRE-DEV>fire infomange punkter --db prod -N NET:GNET -s IGS20 -t EPSG:10958 
Klargjorte transformation fra EPSG:10176 til EPSG:10958.
Springer AAS200GRL over. Fandt ingen koordinater.
Springer AVAN00GRL over. Fandt ingen koordinater.
Springer EQNU00GRL over. Fandt ingen koordinater.
Springer KLQ300GRL over. Fandt ingen koordinater.
Springer KSUT00GRL over. Fandt ingen koordinater.
Springer NGFJ00GRL over. Fandt ingen koordinater.
Springer NUNA00GRL over. Fandt ingen koordinater.
Springer QENU00GRL over. Fandt ingen koordinater.
Springer SCO400GRL over. Fandt ingen koordinater.
Springer UPAK00GRL over. Fandt ingen koordinater.

  Navn        Srid         t                     decimalår   Geodetic longitude   Geodetic latitude   Ellipsoidal height   sx [mm]   sy [mm]   sz [mm]
 ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ASKY00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -58.2574             75.7261             687.5075             2.3900    4.7800    5.1600
  BLAS00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -22.9747             79.5386             484.1135             3.2000    1.7300    3.8700
  DANE00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -20.1998             74.3119             177.1202             2.7800    1.3900    4.1200
  DGJG00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -29.8502             71.7865             1494.1834            3.2100    2.3600    3.3400
  DKSG00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -61.6777             76.3516             609.8153             3.0100    4.3100    6.1400
  DMHN00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -18.6557             76.7711             55.2083              2.7400    1.4100    4.9000
  GMMA00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -19.6521             77.8094             521.8643             3.0100    1.4500    3.6500
  GROK00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -22.9038             78.4427             1045.9681            2.8400    1.5400    3.8900
  HEL200GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -38.2157             66.4012             424.9986             2.6500    4.4100    3.4000
  HJOR00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -41.1479             63.4182             762.7156             2.3400    5.7700    3.2700
  HMBG00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -28.1291             73.6760             1322.9286            2.7100    1.9800    3.4500
  HRDG00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -44.5174             81.8798             718.4455             3.7800    2.5200    4.5300
  ILUL00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -51.0608             69.2404             55.5475              2.6500    4.4300    6.8800
  ISOR00GRL   EPSG:10958   2021-08-14 00:00:00   2021.6164   -38.9749             65.5467             83.5404              1.4300    4.8800    3.5000
...

Copy link
Collaborator

@kbevers kbevers left a comment

Choose a reason for hiding this comment

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

Første halvdel af mit review. Resten kommer senere på dagen :)

@krebslw
Copy link
Collaborator Author

krebslw commented Jan 8, 2026

Rettelser baseret på ovenstående kommentarer og egne forbedringer er nu indarbejdet. Se opdateret beskrivelse af dette PR for eksempler på anvendelser af den nye kommando.

@krebslw krebslw force-pushed the infomange branch 2 times, most recently from 6576a4f to 5f429ff Compare January 8, 2026 16:24
@krebslw
Copy link
Collaborator Author

krebslw commented Jan 9, 2026

Oversætter PROJ aksenavne og enheder sådan her:

danske_akser ={
    "Easting": "Easting",
    "Northing": "Northing",
    "Westing": "Westing",
    "Southing": "Southing",
    "Geodetic latitude": "Breddegrad",
    "Geodetic longitude": "Længdegrad",
    "Geocentric X": "X",
    "Geocentric Y": "Y",
    "Geocentric Z": "Z",
    "Ellipsoidal height": "Ellipsoidehøjde",
    "Gravity-related height": "Kote",
    "Depth": "Dybde",
}
danske_enheder ={
    "metre": "[m]",
    "degree": "[decimalgrader]",
    "degree minute second hemisphere": "[°]",
}

Dette er lavet ud fra en inspicering af de forskellige typer af akser i PROJ/EPSG ved at optælle EPSG koderne fra 1000-10000 med:

from collections import defaultdict as dd
axis_names_cnt = dd(int)
unit_cnt = dd(int)
for nr in range(1000,10000):
    try:
        crs = CRS(f"EPSG:{nr}")
    except CRSError:
        continue
    
    for axis in crs.axis_info:
        axis_names_cnt[axis.name]+=1
        unit_cnt[axis.unit_name]+=1

print(axis_names_cnt)
print(unit_cnt)

hvilket giver flg. optælling:

defaultdict(<class 'int'>, {'Easting': 3981, 'Northing': 4000, 'Westing': 38, 'Southing': 19, 'Geodetic latitude': 956, 'Geodetic longitude': 956, 'Geocentric X': 234, 'Geocentric Y': 234, 'Geocentric Z': 234, 'Ellipsoidal height': 237, 'Gravity-related height': 607, 'Depth': 30, 'First local axis': 1, 'Second local axis': 1, 'Plant East': 1, 'Plant North': 1, 'Local depth': 2})

defaultdict(<class 'int'>, {'metre': 7741, "Clarke's link": 2, 'Gold Coast foot': 6, 'US survey foot': 1523, 'foot': 333, "Clarke's foot": 6, 'link': 4, 'British chain (Sears 1922 truncated)': 2, 'degree': 1810, 'degree minute second hemisphere': 84, 'grad': 18, "Clarke's yard": 2, 'British foot (1936)': 1})  

Der mangler kun at blive fundet på et passende navn til kommandoen.
@krebslw krebslw marked this pull request as ready for review January 19, 2026 08:55
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.

2 participants