VKTRANSFORMATION
Das Rechenmakro VKTRANSFORMATION (verkettete Transformationen, „VA") gleicht beliebig viele örtliche Systeme (Riss-Koordinaten, Digitalisierungen, Spannmaße, Richtungen, Polaraufnahmen, Parallelitätsbedingungen) gemeinsam in das Auftragssystem aus. Der Block besteht aus einem Kopf, der Festpunktliste (Punkte der VA) und beliebig vielen Beobachtungslisten-Abschnitten. Die Punkte erhalten die ausgeglichenen Koordinaten der Gesamtausgleichung.
Syntaxregel
VKTRANSFORMATION [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
<Festpunkt> { , <Festpunkt> }* ; (Satz 1: Punkte der VA)
{ <Beobachtungsabschnitt> }*
END[;]
<Festpunkt> ::= <NV> [<A>] <NR> [<mf> [<mf0>]] [o] [v]
<Beobachtungsabschnitt> ::=
KOORDINATEN | KSKOORDINATEN | DIG_KOORDINATEN | KSDIG_KOORDINATEN (örtliche/digitalisierte Koordinaten)
| ENTFERNUNGEN (Spannmaße aus Rissen)
| POLARELEMENTE (polare Rissaufnahmen)
| RICHTUNGEN | PARALLELEN (Richtungen, Parallelitätsbedingungen)
jeweils: <KEYWORD> [, <AbschnittInfo>]* <Datensätze…>
| Regelelement | Bedeutung |
|---|---|
<Festpunkt> |
Punkt, der an der VA teilnimmt (im Auftrag koordiniert oder durch die VA zu bestimmen). <mf> = Standardabweichung des Punktes in der endgültigen Ausgleichung (fehlend/x = fest), <mf0> = Standardabweichung in der vorläufigen Ausgleichung (VA0). Flags: o = kein Passpunkt (nur prüfen), v = Veränderung.
|
| Abschnittsbeginn | Datensatz, dessen erstes Wort eines der Beobachtungslisten-Schlüsselwörter ist; ab dem 2. Datensatz zulässig, ungültige Schlüsselwörter melden Fehler 76. Ein Block darf beliebig viele Abschnitte (auch mehrere derselben Art) enthalten; erst END beendet den gesamten Block.
|
Die Syntax der Beobachtungslisten ist auf eigenen Seiten dokumentiert — dort auch die AbschnittInfos (SYSID, TITEL, P, POLAR, M, MF_*, VRK, GK_RED, ZP, DEA, DEA_CAD, REM):
- KOORDINATEN, KSKOORDINATEN, DIG_KOORDINATEN, KSDIG_KOORDINATEN — örtliche und digitalisierte Koordinaten (mit
KS <n>;-Satz bei den KS-Formen) - RICHTUNGEN und PARALLELEN — Richtungssätze und Parallelitätsbedingungen (inkl.
PARABST,MF_Hz,MF_S,MF_PAR) - ENTFERNUNGEN (Abschnitt „Verwechslungsgefahr") — Spannmaß-Belegform: Von-Punkt-Satz ohne Wert, Ziel-Sätze mit Maß und optionaler Standardabweichung (
MF_S,DFHD) - POLARELEMENTE (Abschnitt „Zweite Verwendung") — polare Belegform: Standpunkt-Satz, Zielsätze mit
Hz HD(MF_Hz,MF_HD,MF_ZU,MF_HDr)
Parameter (Blockkopf)
Allgemeine Kopf-Parameter (NR =, DATUM =, ZEIT =, PNR =, KN =, REM =, NE) siehe Blockkopf-Parameter. Makrospezifisch:
| Parameter | Syntax | Pflicht | Bedeutung | Bundesland |
|---|---|---|---|---|
| Koordinatensystem | , KOORDINATENSYSTEM <n> / , LS <n> |
nein | VA in einem anderen Koordinatensystem/Lagestatus rechnen (direkt nach dem Schlüsselwort) | alle |
| gültige Iterationen | ,GI = n |
nein | Anzahl gültiger Iterationen (typisch GI = 3) |
alle |
| Näherungen | ,NAE = n |
nein | Anzahl der Näherungsiterationen | alle |
| Abbruchschranke | ,ABS = w |
nein | Abbruchschranke der Iteration | alle |
| Verbesserungsfaktor | ,FVB = w |
nein | Faktor für die Verbesserungen | alle |
| normale NV | ,NNV |
nein | Nummerierungsverbund-Behandlung wie in normalen Berechnungen | alle |
| normale Abhängigkeit | ,NA |
nein | normale Abhängigkeitsbehandlung | alle |
| niedrige Präzision | ,LP |
nein | LowPrecision-Modus | alle |
| Sortierung | ,SNR |
nein | Ausgabe nach Punktnummern sortieren | alle |
| deaktiviert | ,DEA / ,DEA_V |
nein | gesamtes Makro deaktivieren / nur die vorläufige Ausgleichung VA0 deaktivieren | alle |
| Toleranz | ,ZP = w |
nein | zulässige Punktabweichung | alle |
| KS-Reduzierer | ,KS_RED |
nein | KS-Trafo-Reduzierer verwenden | alle |
| Statistik | ,DEA_EKP |
nein | EKP-Zusatzstatistik deaktivieren (neu 05.10.2025) | nur Berlin |
Hinweis: DFHD (fixe Horizontalstrecken deaktivieren) ist eine AbschnittInfo der ENTFERNUNGEN-Beobachtungsliste, DEA_CAD eine AbschnittInfo der Systeme — beide gehören nicht in den Blockkopf.
Datenzeilen (Festpunktliste)
- Punktangabe in der Makro-Kurzform ohne VMA, siehe Punktidentifikation.
- Die Festpunktliste ist genau ein Datensatz (Punkte durch Kommas getrennt, Abschluss mit Semikolon). Ein deaktiviertes Makro (
,DEA) darf eine leere Festpunktliste haben. - Je Punkt optional zwei Werte: Standardabweichung endgültige Ausgleichung und Standardabweichung vorläufige Ausgleichung (Platzhalter
xfür einen ausgelassenen ersten Wert). - Intern heißt die Festpunktliste
FESTPUNKTE; im MWT-Text erscheint kein eigenes Schlüsselwort.
Ablauf
- Vorläufige Ausgleichung (VA0): Prüft die Beobachtungen mit den vorläufigen Standardabweichungen (
<mf0>); mit,DEA_Vabschaltbar. - Endgültige Ausgleichung: gemeinsame Ausgleichung aller Systeme/Beobachtungen; je System wird eine Transformation (Parameterzahl
Pje Abschnitt) mitgeschätzt. - Punkte mit Flag
Bin den Koordinaten-Abschnitten erhalten die ausgeglichenen Koordinaten; Festpunkte mit Flagowerden nur geprüft.
Lösbarkeit / Näherungskoordinaten (häufige Fehlerquellen)
Die Ausgleichung linearisiert iterativ und braucht daher für jeden teilnehmenden Punkt Näherungskoordinaten im Auftragssystem. Regeln zur Vermeidung der typischen Fehler „Transformationsparameter für dieses System nicht berechenbar" bzw. „keine Koordinaten für Punkt … gefunden":
- Jeder Punkt bekommt seine Näherung aus einem koordinatenliefernden System (KOORDINATEN, DIG_KOORDINATEN, KSKOORDINATEN, KSDIG_KOORDINATEN), das durch mindestens zwei Punkte mit bekannten Zielkoordinaten (Festpunkte) verankert ist. Punkte, die nur in POLARELEMENTE, ENTFERNUNGEN (Spannmaße), RICHTUNGEN oder PARALLELEN stehen, erhalten dort keine Position und müssen zusätzlich in einem Koordinaten-System (oder als Festpunkt) auftauchen.
- POLARELEMENTE als System benötigt Standpunkt + mindestens zwei Zielpunkte mit bekannter Näherung, sonst sind die Transformationsparameter unterbestimmt.
- Echte Neupunkte (Punktnummern, die im Auftrag noch nicht koordiniert sind) dürfen nicht in der Festpunktliste als „zu bestimmen" und nicht in einer KS-Form stehen — dort wird eine vorhandene Näherung erwartet. Ein echter Neupunkt wird über ein direktes Koordinaten-System (
KOORDINATEN/DIG_KOORDINATEN) mit FlagBerzeugt. - Flags in den Beobachtungslisten: KOORDINATEN/DIG_KOORDINATEN verwenden für zu berechnende Punkte
B; die KS-Formen (KSKOORDINATEN/KSDIG_KOORDINATEN) verwendenx(bzw.O/W/Q), nichtB.
Beispiele
Hinweis: VermCad ergänzt beim Speichern binäre Codierungszeilen; sie sind hier weggelassen.
Beispiel (Sachsen, echt — Kopf und Festpunktliste, gekürzt)
VKTRANSFORMATION, NR = 1, NNV, GI = 3, NE, DATUM = 27.04.2026, ZEIT = 08:14:01, PNR = 10 54 104 x 0.0200 o, 54 107 x 0.0200, 54 108 x 0.0200, 54 109 x 0.0200 o v, 54 112 x 0.0200;
Alle Festpunkte sind in der endgültigen Ausgleichung fest (x), in der vorläufigen mit 0.02 m Standardabweichung angesetzt; 104 und 109 sind keine Passpunkte (o), 109 zusätzlich als verändert markiert (v).
Beispiel (Sachsen-Anhalt, echt — vollständiger Block mit zwei Systemen)
VKTRANSFORMATION KOORDINATENSYSTEM 1, NR = 1, GI = 3, DATUM = 25.08.2019, ZEIT = 20:14:13, PNR = 71 xx 5000 , xx 5001 ; KOORDINATEN, SYSID = '1', TITEL = 'S 1', MF_Y = 0.03, MF_X = 0.03, MF_M = 0.15, REM = '1919-1923' xx 1 5000 B 0.000 0.000; xx 1 5011 B 0.000 11.540; xx 1 5001 B 0.000 289.720; KOORDINATEN, SYSID = '3', TITEL = 'S 2', MF_Y = 0.03, MF_X = 0.03, MF_M = 0.15 xx 1 5001 B 0.000 0.000; xx 2 25013 B -0.250 12.480; xx 1 5016 B 0.000 112.900; END
Beispiel (Struktur mit gemischten Abschnitten, aus der Alt-Dokumentation, gekürzt)
VKTRANSFORMATION, NR = 4, DATUM = 31.07.2006, ZEIT = 13:57:54 60 20001 , 60 20002 o, xx 20103 ; KOORDINATEN, MF_Y = 0.05, MF_X = 0.03 60 x 20010 B 0.000 0.000; 60 x 20003 B 0.000 20.000; KSDIG_KOORDINATEN, P = 5, MF_Y = 1.2, MF_X = 1.2 KS 1; xx 1 60 20101 x ; ENTFERNUNGEN, MF_S = 0.05 60 x 20003 x ; xx x 20004 x 5.000; END
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; Schwerpunkt Sachsen (>1900 Blöcke in den ausgewerteten MWTs), daneben Anhalt, Thüringen, MV, BRB, Berlin, BW.
- Zugehörige globale Optionen:
$ELL(Fehlerellipsen auch bei unkontrollierten Beobachtungen),$OldVRK(Festpunktauswahl der Restklaffenverteilung wie vor Version 4.4),$SP_DEP_TRAFO(Abhängigkeitsausnahme),$PCT_Ausgl(Parallelrechnung),$OptimizeWeights(Gewichte skalieren). - Doppelte
SYSIDim selben Makro ist ein Fehler; Abschnitte ohne SYSID gelten als Altbestand. - In Sachsen erhalten Punkte aus DIG-Abschnitten automatisch LGA = 4 (ab 1.1.2006).
- Fehlerquellen: unbekanntes Abschnitts-Schlüsselwort (Fehler 76), Beobachtungssatz ohne Werte (Fehler 77), SYSID/TITEL zu lang (Fehler 81/78).
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:1650, 1655-1663 —
kwVkTransformation,kwFestpunkte, Abschnitts-Schlüsselwörter - VERMCAD\VCSCHMWT.PAS:5647-5706 — Erkennung neuer Beobachtungsabschnitte, KS-Satz, deaktivierte leere Systeme, Fehler 76
- VERMCAD\VCSCHMWT.PAS:6701-6738 — Festpunkt-Werte
dk_MFa/dk_MFa0; GlobalTypConsts.pas:1084 —dk_MFa0= vorläufige Ausgleichung - VERMCAD\VCSCHMWT.PAS:6791-6830 — Flags
o/vin der Festpunktliste - VERMCAD\VCSCHMWT.PAS:6383-6391 — leere Festpunktliste bei deaktiviertem Makro
- VERMCAD\VCSCHMWT.PAS:3157-3169 (GI), 3662-3677 (ABS, FVB), 2994-3006 (NAE), 3053-3054 (LP), 3210-3212 (SNR), 3247-3249 (DEA_V), 2977-2982 (NNV), 2970-2973 (NA)
- VERMCAD\GlobalRecords.pas:1880-1925 — Zuordnung Schlüsselwort →
TVAObservationKind - VERMCAD\VCCALCVT.PAS:6004-6072, 6834-6839, 7481 — Verwendung von dk_MFa/dk_MFa0, Schreiben der Festpunkte
- VERMCAD\VcAusgl.pas:2402-2452 — Validierung der Beobachtungslisten