Zum Inhalt springen

TRANSFORMATION

Aus VermCAD Hilfe Wiki
Version vom 18. September 2026, 10:39 Uhr von Claude (Diskussion | Beiträge) (Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Rechenmakro TRANSFORMATION transformiert Punkte aus einem beliebigen (örtlichen) Koordinatensystem über Passpunkte in das System des Auftrags. Der erste Satz enthält die Passpunkte mit ihren örtlichen Koordinaten, die folgenden Sätze die Neupunkte. Eine eingebettete ENTFERNUNGEN-Sektion erlaubt zusätzlich Spannmaße als Beobachtungen.

Syntaxregel

TRANSFORMATION [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <Passpunkt> { , <Passpunkt> }* ;                       (Satz 1: Passpunkte)
  { <Neupunkt> ; }*                                      (je Satz ein Neupunkt)
  [ ENTFERNUNGEN [, M = <w>]
    { <NV> [<A>] <NR>  <NV> [<A>] <NR>  <Maß> [<Gew>] [o] ; }* ]
END[;]

<Passpunkt> ::= <NV> [<A>] <NR>  <W1> <W2>  [<Gew> [<GewX>]]  [o] [v]
<Neupunkt>  ::= <NV> <A> <NR>  <Flags>  <W1> <W2>
Regelelement Bedeutung
<A> Punktart. Beim Neupunkt steht sie in allen Ausgaben (Pflicht; als Platzhalter genügt x). Beim Passpunkt gibt es sie nur in den Ausgaben für Brandenburg und Berlin, dort ist sie optional; siehe Punktidentifikation
<W1> <W2> örtliche Koordinaten Y X (Pflicht); mit Kopf-Parameter POLAR stattdessen Hz HD (polare Quellwerte)
<Gew> [<GewX>] optionales Gewicht des Passpunkts; mit Kopf-Parameter GEWX zusätzlich getrenntes X-Gewicht
o Passpunkt passiv setzen (nimmt nicht an der Ausgleichung teil, wird nur geprüft)
v Flag Veränderung (Punkt wird als koordinatenmäßig verändert geführt; seit 29.05.2020 auch bei Trafo-Festpunkten)
<Flags> Flags des Neupunkts, üblich x (keine); Bedingungsflags b/s sind in Transformationen nicht zulässig (Fehler 66)
ENTFERNUNGEN eingebettete Spannmaß-Sektion (ab Satz 2 möglich): je Satz zwei Punkte mit Pflicht-Maß, optional Gewicht; Flag o = Maß nicht verwenden

Parameter

Allgemeine Kopf-Parameter (NR =, DATUM =, ZEIT =, PNR =, KN = '…', REM = '…', NE, DEA) siehe Blockkopf-Parameter. Makrospezifisch:

Parameter Syntax Pflicht Bedeutung Bundesland
Parameterzahl ,P = 3|4|5|6 nein Transformationstyp: 3 = Kongruenz (Standard), 4 = Helmert/Ähnlichkeit, 5 = 5-Parameter, 6 = Affin. Höhen: ,P| = 1|2 alle
polare Quelle ,POLAR nein Quellwerte sind Hz HD statt Y X alle
Maßstab ,M = w nein Multiplikator für alle örtlichen Werte (auch reziprok M = 1/0.9987); in Folgesätzen für die ENTFERNUNGEN-Sektion erlaubt alle
GK-Reduktion ,GK_RED nein örtliche Werte Gauß-Krüger-reduzieren (auch in Folgesätzen erlaubt) alle
Toleranzen ,ZP = w / ,ZS = w nein zulässige Punkt- bzw. Spannmaßabweichung alle
Restklaffen ,VRK / ,VRK = s|s2|s32 nein nachbarschaftstreue Verteilung der Restklaffen alle
Gewichte ,GEWX / ,GEWM = w nein getrennte X-Gewichte zulassen / Gewichtsmaßstab alle
mittlere Fehler ,MF_S = w / ,MF_YX = w nein a-priori-Fehler der Spannmaße bzw. der Koordinaten alle
gemeinsame VA ,CVA nein Transformation verkettet mit der Streckenausgleichung der ENTFERNUNGEN-Sektion rechnen (statt nacheinander) alle
Sortierung ,SNR_P / ,SX_P / ,SNR_N / ,SX_N nein Passpunkte/Neupunkte nach Nummer bzw. X sortieren alle
Fixierungen ,FIXM / ,FIXN nein Maßstab bzw. Nachbarschaft fixieren alle
Abhängigkeit ,NA nein normale Abhängigkeit (nur mit globaler Option $SP_DEP_TRAFO) alle
BW-Spezifika ,APA / ,AWS = n nein automatische Punktausscheidung / Auswerteschranke nur BW

Datenzeilen

  • Punktangabe siehe Punktidentifikation; Transformationen gehören zu den Makros ohne VMA-Spalte in Neupunkten (NV A NR Flags Werte, die Punktart A ist dort Pflicht).
  • Satz 1 (Passpunkte, kommagetrennt): jeder Passpunkt braucht beide örtlichen Koordinaten (Fehler 77 bei fehlenden Werten).
  • Ab Satz 2 je Satz genau ein Neupunkt mit vollständiger Punktbeschreibung und beiden örtlichen Koordinaten.
  • ENTFERNUNGEN-Sektion: erster Datensatz je Paar enthält beide Punkte und das gemessene Maß (Pflicht), optional ein Gewicht; wie beim Makro ENTFERNUNGEN, aber als Beobachtung der Ausgleichung.

Beispiele

Hinweis: VermCad ergänzt beim Speichern binäre Codierungszeilen; sie sind hier weggelassen.

Beispiel (Baden-Württemberg, echt — Helmert mit VRK)

TRANSFORMATION, NR = 1, P = 4, GK_RED, VRK, GEWM = 50000.0,
  DATUM = 16.09.2020,
  ZEIT = 15:10:34,
  PNR = 1,
  REM = 'Datei ws.txt'

 0455     218/22    50736.59   70881.81,
 0455     218/38    50858.57   70916.22,
 0455      220/0    50677.31   71012.43,
 0456      471/0    50845.70   71067.51;

 0455 2   218/31  x    50778.17   70899.03;
 0455 2   218/29  x    50772.10   70908.53;
 0455 2   218/30  x    50774.33   70909.72;
END

Beispiel (Baden-Württemberg, echt — 5-Parameter, Zahlenriss mit X-Gewichten)

TRANSFORMATION, NR = 2, P = 5, GK_RED, GEWX,
  DATUM = 16.09.2020, ZEIT = 16:01:17, PNR = 1,
  KN = '1854/55 S.15',
  REM = 'Datei linie_4.txt'

 0455       V709        0.00      12.32,
 0455       V710        0.00      14.15,
 0455    218/104        0.00      35.67,
 0455    218/105      -68.36      39.54;

 0455 2  218/131  x        0.00      38.10;
END

Beispiel (polare Quelle, aus der Alt-Dokumentation)

TRANSFORMATION, NR = 8, P = 4, POLAR

  xx       80   114.3402     81.307,
  xx       20    18.4710    101.390,
  xx       30   324.5825     76.239;

  xx  x  4001  x      201.3487     54.230;
  xx  x  4002  x      187.0450     68.540;
END

Verfügbarkeit und Besonderheiten

Siehe auch

Entwicklerhinweise

Diese Angaben richten sich an Entwickler bzw. eine KI mit Zugriff auf den VermCad-Quellcode; für die reine Nutzung der MWT-Syntax sind sie nicht nötig. Unit-Namen und besonders Zeilennummern können sich durch die laufende Weiterentwicklung verschieben - sie dienen als Einstieg, nicht als exakte Fundstelle.

Quellen im Code:

  • VERMCAD\GlobalConsts.pas:1640 — kwTransformation
  • VERMCAD\VCSCHMWT.PAS:2241-2269 — ReadTransParameters: P = 3/4/5/6 (Lage), P| = 1/2 (Höhe)
  • VERMCAD\VCSCHMWT.PAS:5513-5525 — eingebettete ENTFERNUNGEN-Sektion; 6570, 6623 — Maß Pflicht + Gewicht
  • VERMCAD\VCSCHMWT.PAS:6656-6681 — Passpunkt-Koordinaten (Pflicht, Fehler 77), Gewicht/GewX, Flags o/v
  • VERMCAD\VCSCHMWT.PAS:6203-6262 — Neupunkte ab Satz 2 (Koordinaten Pflicht)
  • VERMCAD\VCSCHMWT.PAS:3505-3509 — POLAR; 3522-3528 — M; 3173-3191 — GEWX/GEWM; 3631-3635 — CVA
  • VERMCAD\VCSCHMWT.PAS:6819-6825 — keine Bedingungsflags (b/s) in Trafos (Fehler 66)
  • VERMCAD\VCCALCVT.PAS:1331-1347 — TTransformation_Base.Init: Default tt_3P für ca_Transformation
  • VERMCAD\GlobalTypConsts.pas:373-378 — ca_PunktIdentWithoutVMA (keine VMA-Spalte)
  • VERMCAD\VCSCHMWT.PAS:6228 — Neupunkte über NextPunktIdent → VERMCAD\VcSCheck.pas:1236-1259 NextPunktId: Punktart A wird stets gelesen (alle Ausgaben); VERMCAD\VCSCHMWT.PAS:6396-6465 — Passpunkte in Satz 1: A nur unter {$IFDEF A_NR}, dort optional



[Nach oben]