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 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
REMje 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 Compilerxin 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; einZPaus 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