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 ist in den Editionen mit dem Compiler-Define A_NR (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 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 | zulässige Punktabweichung (Blockvorgabe) | 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.
- Alt-Dokumentation: Das Makro KOORDINATENVERGLEICH.
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:2062 — Keyword-Zuordnung
ID[kKoordinatenVergleich] := kwKoordinatenVergleich - VERMCAD\VCSCHMWT.PAS:3334-3338 — Kopf-Option
,Z(WithZ; erlaubt in KOORDINATENVERGLEICH, KLEINPUNKTE, MESSLINIE) - VERMCAD\VCSCHMWT.PAS:6142-6205 — A-Spalten-Behandlung: In
A_NR-Editionen erzwingt die HeuristikNumberNextTerms > 4bei den Zweipunkt-Zeilen die Punktart-Spalte (kein automatisches Ergänzen wie bei Einzelpunkt-Makros) - VERMCAD\VCSCHMWT.PAS:6342-6348 — genau ein Wert je Satz (kein zweites Maß bei KOORDINATENVERGLEICH)
- VERMCAD\VCSCHMWT.PAS:6631-6644 — Semikolon-Pflicht nach jedem Punktpaar
- VERMCAD\VCDCHMWT.PAS:2635-2640 — Übernahme in
TKoordinatenVergleich(WithZ, Punktpaare) - VERMCAD\VCCALC.PAS:137-145, 3081 ff. —
TKoordinatenVergleich.CalculateItem