Zum Inhalt springen

MASCHENTRANSFORMATION und KSMASCHENTRANSFORMATION

Aus VermCAD Hilfe Wiki
Version vom 20. Juli 2026, 14:00 Uhr von Claude (Diskussion | Beiträge) (MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs))

Die Rechenmakros MASCHENTRANSFORMATION und KSMASCHENTRANSFORMATION (neu seit 12/2024) führen eine maschenweise Transformation durch: Das Passpunktfeld wird in Dreiecksmaschen zerlegt und jeder Neupunkt wird mit den Parametern „seiner" Masche transformiert (nachbarschaftstreue, lokal affine Anpassung). MASCHENTRANSFORMATION arbeitet wie TRANSFORMATION mit örtlichen Koordinaten in den Datensätzen, KSMASCHENTRANSFORMATION wie KSTRANSFORMATION mit einem VermCad-Quell-Koordinatensystem. Die Maschen werden im Untersektions-Schlüsselwort MASCHEN explizit definiert oder mit dem Kopf-Parameter AUTO_MASCHEN automatisch erzeugt.

Syntaxregel

MASCHENTRANSFORMATION [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
  <Passpunkt> { , <Passpunkt> }* ;              (Satz 1: Passpunkte mit Y X)
  { <Neupunkt> ; }*                             (je Satz ein Neupunkt mit Y X)
  [ MASCHEN
    { <P1> , <P2> , <P3> ; }* ]                 (je Satz ein Dreieck)
END[;]

KSMASCHENTRANSFORMATION [, <Kopf-Parameter>]*
  KS <QuellKsNr> | LS <Lagestatus> ;            (Satz 1: Quellsystem)
  <Passpunktpaar> { , <Passpunktpaar> }* ;      (Satz 2: Passpunkte)
  { <Neupunktpaar> ; }*
  [ MASCHEN
    { <P1> , <P2> , <P3> ; }* ]
END[;]

<Passpunkt>     ::= <NV> <NR>  <Y> <X>  [o] [v]                     (wie TRANSFORMATION)
<Neupunkt>      ::= <NV> [<A>] <NR>  <Flags>  <Y> <X>
<Passpunktpaar> ::= <QuellPunkt> [<ZielPunkt>] [o] [v]              (wie KSTRANSFORMATION)
<P1>, <P2>, <P3> ::= <NV> [<A>] <NR>                                (Eckpunkte der Masche)
Regelelement Bedeutung
MASCHEN leitet die Maschendefinitionen ein (eigener Satzbeginn, kein eigenes END); bei MASCHENTRANSFORMATION ab Satz 2, bei KSMASCHENTRANSFORMATION ab Satz 3 zulässig (Fehler 800, wenn das Schlüsselwort erwartet, aber nicht gefunden wird)
Dreieckssatz genau drei Passpunkte, durch Kommas getrennt, Abschluss mit Semikolon; die Punkte referenzieren bei der KS-Variante die Punktnummern im Quellsystem
xx xxxxx Platzhalter-Zielpunkt in Punktpaaren der KS-Variante: der Punkt behält seine Nummer

Parameter

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

Parameter Syntax Pflicht Bedeutung Bundesland
Auto-Maschen ,AUTO_MASCHEN (abschaltbar ,AUTO_MASCHEN-) nein Dreiecksmaschen automatisch aus dem Passpunktfeld erzeugen (Delaunay); dann entfällt die MASCHEN-Sektion alle
GK-Reduktion ,GK_RED nein Quellwerte Gauß-Krüger-reduzieren alle
KS-Reduzierer ,KS_RED nein nur KSMASCHENTRANSFORMATION: KS-Trafo-Reduzierer verwenden alle
Maßstab ,M = w nein nur MASCHENTRANSFORMATION: Multiplikator für die örtlichen Werte alle
mittlerer Fehler ,MF_YX = w nein a-priori-Fehler der Koordinaten alle
Gewichtsmaßstab ,GEWM = w nein Gewichtsmaßstab alle
Sortierung ,SNR_P / ,SX_P / ,SNR_N / ,SX_N nein Pass-/Neupunkte nach Nummer bzw. X sortieren alle
Fixierungen ,FIXM / ,FIXN nein Maßstab bzw. Nachbarschaft fixieren alle
Toleranzen ,ZP = w nein zulässige Punktabweichung alle

Nicht zulässig sind u. a. GEWX (nur TRANSFORMATION/KSTRANSFORMATION/GRENZPRUEFUNG) und CVA; auch das Flag v wird bei Maschentransformationen nicht in Flags übernommen (Fehler 66 wie bei Bedingungsflags).

Datenzeilen

Beispiele

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

Beispiel (Baden-Württemberg, echt — KSMASCHENTRANSFORMATION mit expliziten MASCHEN)

KSMASCHENTRANSFORMATION, NR = 7, GK_RED,
  DATUM = 19.06.2026, ZEIT = 10:55:47

  LS  895;

 0390    804/157      0390      xxxxx ,
 0390      309/6      0390      xxxxx ,
 0390      309/7      0390      xxxxx ,
 0390      777/2      0390      xxxxx ;

MASCHEN
 0390      309/7 , 0390      777/2 , 0390      309/6 ;
END

Beispiel (Testprojekt, echt — automatische Maschen)

KSMASCHENTRANSFORMATION, NR = 4, GK_RED, AUTO_MASCHEN,
  DATUM = 13.01.2025, ZEIT = 17:41:45

  KS 1;

  xx          10       xx       xxxxx ,
  xx          11       xx       xxxxx ,
  xx          12       xx       xxxxx ;

  xx          97       xx       xxxxx,
  xx          99       xx       xxxxx;
END

Die Punkte 10-12 sind Passpunkte (im Auftrag koordiniert), 97 und 99 werden maschenweise transformiert und behalten ihre Nummern.

Verfügbarkeit und Besonderheiten

  • Verfügbar in allen Bundesland-Versionen (Compiler); in echten Projekten bisher nur in Baden-Württemberg und Testdaten beobachtet (Makrofamilie ist neu, 12/2024).
  • Die MASCHEN-Sektion und der Parameter AUTO_MASCHEN existieren nur in diesen beiden Makros.
  • MASCHENTRANSFORMATION entspricht in Datensatzform und Header weitgehend TRANSFORMATION, KSMASCHENTRANSFORMATION entspricht KSTRANSFORMATION — dokumentierte Abweichungen: keine P =-Angabe (je Masche wird eine eigene lokale Transformation gerechnet, intern Standardtyp tt_4P), keine ENTFERNUNGEN-Sektion, keine punktweisen Gewichte, kein GEWX/CVA.
  • Verwandte nachbarschaftstreue Alternative ohne Maschen: ,VRK bei TRANSFORMATION/KSTRANSFORMATION.

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:1564-1565, 1586, 1672 — kwMaschenweiseTransformation, kwMaschenweiseKSTransformation, kwMaschenDefinitionen = 'MASCHEN', kwAutoGenerateMaschen = 'AUTO_MASCHEN'
  • VERMCAD\VCSCHMWT.PAS:5448-5457 — Erkennung der MASCHEN-Sektion (Fehler 800), Satzgrenzen (MASCHENTRAFO > 1, KS-Variante > 2)
  • VERMCAD\VCSCHMWT.PAS:3744-3752 — Kopf-Parameter AUTO_MASCHEN (nur Maschen-Makros)
  • VERMCAD\VCSCHMWT.PAS:5139-5143, 3777-3793 — KS/LS-Satz der KS-Variante (ReadSourceKsNr)
  • VERMCAD\VCSCHMWT.PAS:6396-6400 — Koordinaten-/Paarlesen inkl. Maschen-Ausnahme (FMaschenDefinitionen)
  • VERMCAD\VCSCHMWT.PAS:6234-6291 — Punktpaare der KS-Variante, virtuelle Zielpunkte
  • VERMCAD\VCSCHMWT.PAS:3162, 3201-3222, 3508, 3560-3563, 3720-3732 — zugelassene Kopf-Parameter (GEWM, Sortierungen, M, MF_YX, FIXM/FIXN)
  • VERMCAD\VCCALCVT.PAS:4918 — Schreiben der MASCHEN-Sektion



[Nach oben]