MWT Syntax-Makro AUSGLEICHGERADEN: Unterschied zwischen den Versionen
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
||
| Zeile 111: | Zeile 111: | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie: | [[Kategorie:Blöcke mit Anweisungen (Makros)|AUSGLEICHGERADEN]] | ||
Version vom 20. Juli 2026, 14:54 Uhr
Das Rechenmakro AUSGLEICHGERADEN berechnet eine oder mehrere ausgleichende Geraden über beliebig viele Punkte (gewichtete Ausgleichung). Punkte mit Bedingung b werden auf die ausgeglichene Gerade gelotet; steht ein Punkt mit b in zwei Geraden, erhält er den Schnittpunkt beider ausgeglichener Geraden als Bedingungskoordinate.
Syntaxregel
AUSGLEICHGERADEN [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
{ (je ausgleichender Geraden:)
<NV> [<A>] <NR> [<mf>] ['b'|'s'|'o'] {, <NV> [<A>] <NR> [<mf>] ['b'|'s'|'o']}+ ; (Punkte der Geraden)
[ ZP = <w> ; ] (wahlweise: Punkttoleranz dieser Geraden)
[ <PBS-Startpunkt> ; ] (wahlweise: Neupunkt am Geradenanfang)
[ <PBS-Endpunkt> ; ] (wahlweise: Neupunkt am Geradenende)
}+
END
| Regelelement | Bedeutung |
|---|---|
| Punkte der Geraden | kurze Punktidentifikation, kommagetrennt, Abschluss ;. Ein Satz mit Komma gilt stets als neue Geradendefinition — dadurch dürfen ZP-, Start- und Endpunktsatz einfach entfallen.
|
<mf> |
wahlweiser Zahlenwert je Punkt = mittlerer Fehler a priori; der Punkt geht mit Gewicht 1/mf² in die Ausgleichung ein. |
b |
Punkt wird auf die ausgeglichene Gerade gelotet (Bedingungskoordinate). Steht derselbe Punkt mit b in genau zwei Geraden des Makros, erhält er den Schnittpunkt beider Geraden. Mehr als zwei b-Bedingungen je Punkt sind ein Fehler.
|
s |
wie b, zusätzlich Kennzeichnung als Sollwert.
|
o |
Punkt nimmt nicht an der Ausgleichung teil (passiv); er wird nur protokolliert. |
| Start-/Endpunkt | je ein einzelner Punkt (vollständige Punktbeschreibung, ohne Komma im Satz); erhält als Bedingungskoordinate den Anfangs- bzw. Endpunkt der ausgeglichenen Geraden (Lotfußpunkte des ersten/letzten aktiven Punktes). |
Parameter
Allgemeine Kopf-Parameter (NR =, DATUM =, ZEIT =, PNR =, KN = '…', REM = '…', NE, DEA) siehe Blockkopf-Parameter. Makrospezifisch:
| Parameter | Syntax | Pflicht | Bedeutung | Bundesland |
|---|---|---|---|---|
| KOORDINATENSYSTEM / LS | , KOORDINATENSYSTEM <n> bzw. , LS <n> |
nein | Berechnung in anderem Koordinatensystem bzw. Lagestatus | alle |
| NA | , NA |
nein | normale Abhängigkeitsbehandlung des Makros (keine Ausnahmeregel für Durchfluchtung) | alle |
| ZP | , ZP = <w> |
nein | zulässige Punktabweichung (Blockvorgabe; je Gerade über den ZP-Satz überschreibbar) | alle |
| NETZ | , NETZ |
nein | berechnete Punkte dem Netz bereitstellen | alle |
Datenzeilen
- Die Sätze werden intern in Dreiergruppen je Gerade gezählt: Geradendefinition — Startpunkt — Endpunkt. Der Satz
ZP = w;unmittelbar nach einer Geradendefinition zählt nicht mit (reiner Zusatz). - Leere Sätze (nur
;) rücken den Satzzähler weiter und können Start-/Endpunkt-Plätze überspringen; einfacher ist es, direkt die nächste Geradendefinition (Satz mit Komma) folgen zu lassen. - Ein Punkt mit
bmuss in der Geradendefinition selbst stehen; die gerückte Koordinate ersetzt seine bisherige nur nach den üblichen Bedingungsregeln (Flag B).
Beispiele
Beispiel (allgemein, aus der Alt-Dokumentation — Punkt 5 im Schnitt zweier Geraden)
AUSGLEICHGERADEN, NR = 1,
xx 4 ,
xx 5 b,
xx 3 ; { Definition erste Gerade }
xx 1 ,
xx 5 b,
xx 2 ; { Definition zweite Gerade }
END
Beispiel (Thüringen, echt — mit Gewichtsspalte und Start-/Endpunkt)
AUSGLEICHGERADEN, NR = 168,
DATUM = 15.09.2015,
ZEIT = 15:12:07,
PNR = 3,
KN = 'Birkenhügel-Lerchenhügel Feldriß 15 vom 11.06.1921',
REM = 'Flst 125/96-119/96'
49 20740 0.0000,
49 10203 22.5500,
49 10202 28.6000,
49 10258 53.3000,
49 10257 77.7500,
49 10256 102.3000,
49 10255 126.2500,
49 10254 150.4500,
49 10250 167.5500;
xx 1 49-20740 000 x ; { Startpunkt der ausgeglichenen Geraden }
xx 1 49-10250 000 x ; { Endpunkt der ausgeglichenen Geraden }
END
Die binären Codierungszeilen ergänzt VermCad automatisch; sie sind hier weggelassen.
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; in echten Projekten v. a. Sachsen und Thüringen, daneben Anhalt, BW, BRB, Berlin.
- Sind zwei Geraden vorhanden und ein Punkt nur in einer davon mit
bgerückt, gibt VermCad einen Hinweis (wahrscheinlich vergessene zweite Bedingung). - Für Lotfußpunkte als eigene Neupunkte (statt Rücken des Originalpunkts) siehe LOTFUSSPUNKTE.
- Alt-Dokumentation: Das Makro AUSGLEICHGERADEN.
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\VcEditorUtils.pas:2072 — Keyword-Zuordnung
ID[kAusgleichGeraden] := kwAusgleichGeraden - VERMCAD\VCSCHMWT.PAS:5531-5544 — Dreiergruppen-Zählung, Komma = neue Gerade,
ZP = w;-Zusatzsatz; 3952-3958 — leere Sätze erhöhen den Satzzähler - VERMCAD\VCSCHMWT.PAS:6437-6440 — wahlweiser Wert
<mf>je Geradenpunkt (dk_MFa) - VERMCAD\VCSCHMWT.PAS:6499-6553 — Flags
b/s/oin der Geradendefinition - VERMCAD\VCDCHMWT.PAS:2701-2715 — Zuordnung: mod 3 = 0 Gerade (+ZP), 1 Startpunkt, 2 Endpunkt
- VERMCAD\VCCALCVT.PAS:51-97, 836-1027 —
TAusgleichGeradenItem: Lotfußpunkt bei einer, Geradenschnitt bei zweib-Bedingungen, Start-/Endpunkt-Koordinaten - VERMCAD\VCPUNKT.PAS:29790 ff. —
TDataPunkte.AusgleichGerade: Gewichtung 1/mf², Ausschluss passiver Punkte (o)