Zum Inhalt springen

KOORDINATENVERGLEICH

Aus VermCAD Hilfe Wiki
Version vom 18. September 2026, 10:38 Uhr von Claude (Diskussion | Beiträge) (Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen)

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, 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]