Zum Inhalt springen

MWT Syntax-Makro KOORDINATENVERGLEICH: Unterschied zwischen den Versionen

Aus VermCAD Hilfe Wiki
MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs)
Entwicklerhinweise: Dateiname vor Zeilenangaben ergänzt, die hinter einer anderen Unit standen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:Makro KOORDINATENVERGLEICH}}
{{DISPLAYTITLE:KOORDINATENVERGLEICH}}
Das Rechenmakro KOORDINATENVERGLEICH berechnet die Koordinaten- und Lagedifferenz je zweier Punkte und prüft sie bei Bedarf gegen eine zulässige Lageabweichung. Mit der Kopf-Option <code>Z</code> werden zusätzlich die Höhen verglichen.
Das Rechenmakro KOORDINATENVERGLEICH berechnet die Koordinaten- und Lagedifferenz je zweier Punkte und prüft sie bei Bedarf gegen eine zulässige Lageabweichung. Mit der Kopf-Option <code>Z</code> werden zusätzlich die Höhen verglichen.


Zeile 12: Zeile 12:
! Regelelement !! Bedeutung
! Regelelement !! Bedeutung
|-
|-
| <code>&lt;NV&gt; [&lt;A&gt;] &lt;NR&gt;</code> || [[MWT Syntax-Punktidentifikation und Flags|Punktidentifikation]] (kurze Form, ohne VMA/Flags) der beiden zu vergleichenden Punkte. Wie bei [[MWT Syntax-Makro ENTFERNUNGEN|ENTFERNUNGEN]] ist in den Editionen mit dem Compiler-Define <code>A_NR</code> ('''Brandenburg, Berlin, Sachsen-Anhalt''') die A-Spalte (Punktart) hier '''Pflicht bei jedem der beiden Punkte''' und wird in der Zweipunkt-Zeile nicht automatisch ergänzt (fehlt sie, meldet der Compiler einen Fehler); Platzhalter <code>x</code> genügt. In den übrigen Editionen entfällt die A-Spalte. Suffix <code>#</code> = untergegangener Punkt/historischer Zweitwert — typischer Anwendungsfall: Vergleich Punkt gegen seinen Zwilling.
| <code>&lt;NV&gt; [&lt;A&gt;] &lt;NR&gt;</code> || [[MWT Syntax-Punktidentifikation und Flags|Punktidentifikation]] (kurze Form, ohne VMA/Flags) der beiden zu vergleichenden Punkte. Wie bei [[MWT Syntax-Makro ENTFERNUNGEN|ENTFERNUNGEN]] gehört in den Editionen mit dem Compiler-Define <code>A_NR</code> ('''Brandenburg, Berlin''') die A-Spalte (Punktart) hier zu '''jedem der beiden Punkte'''. Fehlt sie bei beiden, fügt der Compiler beim Übersetzen den Platzhalter <code>x</code> selbst in den Text ein (ein Satz hat hier höchstens einen Wert, die Regel steht bei ENTFERNUNGEN); Platzhalter <code>x</code> genügt. In den übrigen Editionen entfällt die A-Spalte. Suffix <code>#</code> = untergegangener Punkt/historischer Zweitwert — typischer Anwendungsfall: Vergleich Punkt gegen seinen Zwilling.
|-
|-
| <code>&lt;zul&gt;</code> || zulässige Lageabweichung in Metern; nur wenn geprüft (nicht nur berechnet) werden soll. <code>x</code> oder weglassen = nur Berechnung der Differenz.
| <code>&lt;zul&gt;</code> || zulässige Lageabweichung in Metern; nur wenn geprüft (nicht nur berechnet) werden soll. <code>x</code> oder weglassen = nur Berechnung der Differenz.
Zeile 27: Zeile 27:
| Z || <code>, Z</code> || nein || zusätzlich Höhen vergleichen || alle
| Z || <code>, Z</code> || nein || zusätzlich Höhen vergleichen || alle
|-
|-
| ZP || <code>, ZP = &lt;w&gt;</code> || nein || zulässige Punktabweichung (Blockvorgabe) || alle
| ZP || <code>, ZP = &lt;w&gt;</code> || nein || wird im Makrokopf zwar angenommen, aber nicht ausgewertet; die zulässige Lageabweichung steht je Datensatz als <code>&lt;zul&gt;</code> || alle
|}
|}


Zeile 65: Zeile 65:
* Der Vergleich verändert keine Koordinaten (reine Kontrollberechnung ohne Koordinatenproduktion).
* Der Vergleich verändert keine Koordinaten (reine Kontrollberechnung ohne Koordinatenproduktion).
* Für den Vergleich einer Strecke gegen ein gemessenes Maß stattdessen [[MWT Syntax-Makro ENTFERNUNGEN|ENTFERNUNGEN]] verwenden; für den Soll-Ist-Nachweis ganzer Risse [[MWT Syntax-Makro PUNKTIDENTITAET|PUNKTIDENTITAET]].
* Für den Vergleich einer Strecke gegen ein gemessenes Maß stattdessen [[MWT Syntax-Makro ENTFERNUNGEN|ENTFERNUNGEN]] verwenden; für den Soll-Ist-Nachweis ganzer Risse [[MWT Syntax-Makro PUNKTIDENTITAET|PUNKTIDENTITAET]].
* Alt-Dokumentation: [[MWT-Blöcke mit Anweisungen (Makros)-Das Makro KOORDINATENVERGLEICH|Das Makro KOORDINATENVERGLEICH]].
 
== Siehe auch ==
* [[Rechnen Menü-Das Dialogfenster Koordinaten - Vergleich|Das Dialogfenster Koordinaten - Vergleich]]


== Entwicklerhinweise ==
== Entwicklerhinweise ==
Zeile 71: Zeile 73:


'''Quellen im Code:'''
'''Quellen im Code:'''
* VERMCAD\VcEditorUtils.pas:2062 — Keyword-Zuordnung <code>ID[kKoordinatenVergleich] := kwKoordinatenVergleich</code>
* VERMCAD\VcEditorUtils.pas:2065 — Keyword-Zuordnung <code>ID[kKoordinatenVergleich] := kwKoordinatenVergleich</code>
* VERMCAD\VCSCHMWT.PAS:3334-3338 — Kopf-Option <code>,Z</code> (WithZ; erlaubt in KOORDINATENVERGLEICH, KLEINPUNKTE, MESSLINIE)
* VERMCAD\VCSCHMWT.PAS:3350-3354 — Kopf-Option <code>,Z</code> (WithZ; erlaubt in KOORDINATENVERGLEICH, KLEINPUNKTE, MESSLINIE)
* VERMCAD\VCSCHMWT.PAS:6142-6205 — A-Spalten-Behandlung: In <code>A_NR</code>-Editionen erzwingt die Heuristik <code>NumberNextTerms > 4</code> bei den Zweipunkt-Zeilen die Punktart-Spalte (kein automatisches Ergänzen wie bei Einzelpunkt-Makros)
* VERMCAD\VCSCHMWT.PAS:6397-6461 — A-Spalten-Behandlung (nur <code>A_NR</code>, include\OurIncludes.inc:5-6: Berlin, BRB): A-Spalte gilt als vorhanden bei mehr als vier Angaben nach der ersten NV (<code>NumberNextTerms(0) > 4</code>); sonst fügt der Compiler <code>x</code> in den Quelltext ein (<code>InsertNewText</code>, VCSCHMWT.PAS:6448-6461)
* VERMCAD\VCSCHMWT.PAS:6342-6348 — genau ein Wert je Satz (kein zweites Maß bei KOORDINATENVERGLEICH)
* VERMCAD\VCSCHMWT.PAS:6602-6608 — genau ein Wert je Satz (kein zweites Maß bei KOORDINATENVERGLEICH)
* VERMCAD\VCSCHMWT.PAS:6631-6644 — Semikolon-Pflicht nach jedem Punktpaar
* VERMCAD\VCSCHMWT.PAS:6908-6921 — Semikolon-Pflicht nach jedem Punktpaar
* VERMCAD\VCDCHMWT.PAS:2635-2640 — Übernahme in <code>TKoordinatenVergleich</code> (WithZ, Punktpaare)
* VERMCAD\VCDCHMWT.PAS:2637-2642 — Übernahme in <code>TKoordinatenVergleich</code> (WithZ, Punktpaare; ein <code>ZP</code> aus dem Makrokopf wird nicht übernommen, geprüft wird je Paar gegen <code>&lt;zul&gt;</code>, VCCALC.PAS:3127-3174)
* VERMCAD\VCCALC.PAS:137-145, 3081 ff. — <code>TKoordinatenVergleich.CalculateItem</code>
* VERMCAD\VCCALC.PAS:138-146, 3127 ff. — <code>TKoordinatenVergleich.CalculateItem</code>


{{Hilfe:NachOben}}
{{Hilfe:NachOben}}
[[Kategorie:MWT Syntax|Makro KOORDINATENVERGLEICH]]
[[Kategorie:Blöcke mit Anweisungen (Makros)|KOORDINATENVERGLEICH]]

Aktuelle Version vom 21. September 2026, 09:21 Uhr

Das Rechenmakro KOORDINATENVERGLEICH berechnet die Koordinaten- und Lagedifferenz je zweier Punkte und prüft sie bei Bedarf gegen eine zulässige Lageabweichung. Mit der Kopf-Option Z werden zusätzlich die Höhen verglichen.

Syntaxregel

KOORDINATENVERGLEICH [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]* [, Z]
  { <NV> [<A>] <NR>['#']   <NV> [<A>] <NR>['#']   [<zul> | x] ; }*
END
Regelelement Bedeutung
<NV> [<A>] <NR> Punktidentifikation (kurze Form, ohne VMA/Flags) der beiden zu vergleichenden Punkte. Wie bei ENTFERNUNGEN gehört in den Editionen mit dem Compiler-Define A_NR (Brandenburg, Berlin) die A-Spalte (Punktart) hier zu jedem der beiden Punkte. Fehlt sie bei beiden, fügt der Compiler beim Übersetzen den Platzhalter x selbst in den Text ein (ein Satz hat hier höchstens einen Wert, die Regel steht bei ENTFERNUNGEN); Platzhalter x genügt. In den übrigen Editionen entfällt die A-Spalte. Suffix # = untergegangener Punkt/historischer Zweitwert — typischer Anwendungsfall: Vergleich Punkt gegen seinen Zwilling.
<zul> zulässige Lageabweichung in Metern; nur wenn geprüft (nicht nur berechnet) werden soll. x oder weglassen = nur Berechnung der Differenz.

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 Vergleich in anderem Koordinatensystem bzw. Lagestatus alle
Z , Z nein zusätzlich Höhen vergleichen alle
ZP , ZP = <w> nein wird im Makrokopf zwar angenommen, aber nicht ausgewertet; die zulässige Lageabweichung steht je Datensatz als <zul> alle

Datenzeilen

  • Jeder Datensatz enthält genau zwei Punktidentifikationen und endet mit ; (Pflicht).
  • Nach dem zweiten Punkt darf genau ein Wert stehen (zulässige Lageabweichung) — anders als bei ENTFERNUNGEN gibt es kein zweites Maß und kein REM je Datensatz.

Beispiele

Beispiel (allgemein, aus der Alt-Dokumentation)

KOORDINATENVERGLEICH, NR = 1, Z     { zusätzlich Höhen vergleichen }
  xx  1537       xx  1538    0.750;       { Berechnung und Prüfung }
  xx  1535       xx  1536;
  xx  1518       xx  1678;
  xx  1454       xx  1540;                        { nur Berechnung }

END

Beispiel (Sachsen, echt)

Vergleich aktueller Punkte gegen ihre historischen Zweitwerte (Suffix #), ohne Toleranzprüfung (x):

KOORDINATENVERGLEICH, NR = 14,
  DATUM = 11.06.2010,
  ZEIT = 11:10:14,
  PNR = 223

   5     63        5     63#        x   ;
   5     62        5     62#        x   ;
   5     60        5     60#        x   ;
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 aber selten (fast nur Sachsen).
  • Der Vergleich verändert keine Koordinaten (reine Kontrollberechnung ohne Koordinatenproduktion).
  • Für den Vergleich einer Strecke gegen ein gemessenes Maß stattdessen ENTFERNUNGEN verwenden; für den Soll-Ist-Nachweis ganzer Risse PUNKTIDENTITAET.

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\VcEditorUtils.pas:2065 — Keyword-Zuordnung ID[kKoordinatenVergleich] := kwKoordinatenVergleich
  • VERMCAD\VCSCHMWT.PAS:3350-3354 — Kopf-Option ,Z (WithZ; erlaubt in KOORDINATENVERGLEICH, KLEINPUNKTE, MESSLINIE)
  • VERMCAD\VCSCHMWT.PAS:6397-6461 — A-Spalten-Behandlung (nur A_NR, include\OurIncludes.inc:5-6: Berlin, BRB): A-Spalte gilt als vorhanden bei mehr als vier Angaben nach der ersten NV (NumberNextTerms(0) > 4); sonst fügt der Compiler x in den Quelltext ein (InsertNewText, VCSCHMWT.PAS:6448-6461)
  • VERMCAD\VCSCHMWT.PAS:6602-6608 — genau ein Wert je Satz (kein zweites Maß bei KOORDINATENVERGLEICH)
  • VERMCAD\VCSCHMWT.PAS:6908-6921 — Semikolon-Pflicht nach jedem Punktpaar
  • VERMCAD\VCDCHMWT.PAS:2637-2642 — Übernahme in TKoordinatenVergleich (WithZ, Punktpaare; ein ZP aus dem Makrokopf wird nicht übernommen, geprüft wird je Paar gegen <zul>, VCCALC.PAS:3127-3174)
  • VERMCAD\VCCALC.PAS:138-146, 3127 ff. — TKoordinatenVergleich.CalculateItem



[Nach oben]