Zum Inhalt springen

MWT Syntax-Makro TRANSFORMATION: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
 
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:MWT Syntax-Makro TRANSFORMATION}}
{{DISPLAYTITLE:Makro TRANSFORMATION}}
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.
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.


Zeile 128: Zeile 128:
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro TRANSFORMATION|Das Makro TRANSFORMATION]].
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro TRANSFORMATION|Das Makro TRANSFORMATION]].


== Quellen im Code ==
== 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:1562 — <code>kwTransformation</code>
* VERMCAD\GlobalConsts.pas:1562 — <code>kwTransformation</code>
* VERMCAD\VCSCHMWT.PAS:2238-2266 — <code>ReadTransParameters</code>: P = 3/4/5/6 (Lage), P| = 1/2 (Höhe)
* VERMCAD\VCSCHMWT.PAS:2238-2266 — <code>ReadTransParameters</code>: P = 3/4/5/6 (Lage), P| = 1/2 (Höhe)
Zeile 140: Zeile 143:


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:MWT Syntax]]
[[Kategorie:MWT Syntax|Makro TRANSFORMATION]]

Version vom 20. Juli 2026, 12:33 Uhr

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> <NR>  <W1> <W2>  [<Gew> [<GewX>]]  [o] [v]
<Neupunkt>  ::= <NV> [<A>] <NR>  <Flags>  <W1> <W2>
Regelelement Bedeutung
<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).
  • 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

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:1562 — kwTransformation
  • VERMCAD\VCSCHMWT.PAS:2238-2266 — ReadTransParameters: P = 3/4/5/6 (Lage), P| = 1/2 (Höhe)
  • VERMCAD\VCSCHMWT.PAS:5253-5265 — eingebettete ENTFERNUNGEN-Sektion; 6310, 6363 — Maß Pflicht + Gewicht
  • VERMCAD\VCSCHMWT.PAS:6396-6421 — Passpunkt-Koordinaten (Pflicht, Fehler 77), Gewicht/GewX, Flags o/v
  • VERMCAD\VCSCHMWT.PAS:5943-6002 — Neupunkte ab Satz 2 (Koordinaten Pflicht)
  • VERMCAD\VCSCHMWT.PAS:3489-3493 — POLAR; 3506-3512 — M; 3157-3175 — GEWX/GEWM; 3615-3619 — CVA
  • VERMCAD\VCSCHMWT.PAS:6542-6548 — keine Bedingungsflags (b/s) in Trafos (Fehler 66)
  • VERMCAD\VCCALCVT.PAS:1303-1319 — TTransformation_Base.Init: Default tt_3P für ca_Transformation
  • VERMCAD\GlobalTypConsts.pas:346-351 — ca_PunktIdentWithoutVMA (keine VMA-Spalte)



[Nach oben]