ENTFERNUNGEN
Das Rechenmakro ENTFERNUNGEN (Entfernungskontrollen, Spannmaße) berechnet die Entfernung zwischen je zwei Punkten aus deren Koordinaten und vergleicht sie bei Bedarf mit einer gemessenen Strecke (Sollmaß bzw. Anlege- und Endmaß).
Syntaxregel
ENTFERNUNGEN [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
{ <NV> [<A>] <NR>['#'] <NV> [<A>] <NR>['#'] [<w1> [<w2>] | x] [REM = '<text>'] ; }*
END
| Regelelement | Bedeutung |
|---|---|
<NV> [<A>] <NR> |
Punktidentifikation (kurze Form, ohne VMA/Flags) der beiden Punkte je Datensatz. In den Editionen mit dem Compiler-Define A_NR (Brandenburg, Berlin) gehört die A-Spalte (Punktart) hier zu jedem der beiden Punkte (NV A NR NV A NR …). Ob sie dasteht, erkennt der Compiler an der Zahl der Angaben im Satz: Folgen auf die erste NV höchstens vier Angaben (die beiden Punkte ohne A und höchstens ein Maß oder x), fügt er beim Übersetzen den Platzhalter x selbst in den Text ein. Bei mehr Angaben — etwa Anlege- und Endmaß — nimmt er die A-Spalte als vorhanden an; fehlt sie dann, liest er die Punktnummer als Punktart und meldet einen Fehler. Als A genügt der Platzhalter x. In den übrigen Editionen entfällt die A-Spalte. Suffix # = untergegangener Punkt (historischer Wert) ist erlaubt.
|
<w1> (allein) |
Sollmaß = gemessene Strecke in Metern; wird mit der aus Koordinaten gerechneten Strecke verglichen. |
<w1> <w2> |
Anlegemaß und Endmaß; gemessene Strecke = w2 − w1. Das Anlegemaß wird intern dem ersten Punkt zugeordnet.
|
x |
Platzhalter „kein Maß": nur Berechnung der Strecke, kein Vergleich. |
REM = '…' |
freier Text je Datensatz (i. a. die Rissnummer als Quellenangabe). |
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 (direkt nach dem Schlüsselwort) | alle |
| ZS | , ZS = <w> |
nein | zulässige Spannmaßabweichung für diesen Block; ohne Angabe gilt die zulässige Streckenabweichung des Projekts, ein negativer Wert erzwingt die Formel für nicht einwandfreie Vermessungen. Ist die globale Option $WS_D gesetzt, prüft VermCad beim Rechnen gegen diesen Wert statt gegen ZS; die Kennzeichen der Ergebnisliste richten sich weiter nach ZS. Veraltete Formen ZS1, ZSS werden automatisch ersetzt |
alle |
| ZS (Berlin) | , ZS = D1|D2|D3 |
nein | zulässige Abweichung als Berliner Toleranzklasse statt Zahlenwert | nur Berlin |
| M | , M = <w> |
nein | Multiplikationsfaktor, mit dem alle Maße des Blocks multipliziert werden (auch reziprok M = 1/0.9987) |
alle |
| VR | , VR |
nein | Strecken in die Liste zum Vermessungsriss übernehmen: in Brandenburg als Örtliche Grenzlängen, in Nordrhein-Westfalen als Spannmaßkontrollen der VP-Liste (Dialogschalter hinzuf.) | wirksam in Brandenburg und Nordrhein-Westfalen |
| VRDS | , VRDS |
nein | Hat ein Punkt keine andere Kontrolle, gilt in der Liste zum Vermessungsriss die größte Abweichung aus diesen Entfernungskontrollen als sein ds; die Bildschirmliste vermerkt ds nur aus Entf.-Kontrollen (Dialogschalter als ds) | Brandenburg |
| LS | , LS (ohne Zahl) |
nein | Strecken zusätzlich aus den LS-Koordinaten (Landessystem) rechnen und die Differenz dS ausweisen | nur Sachsen-Anhalt |
| TO_PID | , TO_PID |
nein | Entfernungen zusätzlich in den PID-Nachweis übernehmen | nur Berlin |
Datenzeilen
- Jeder Datensatz enthält genau zwei Punktidentifikationen und endet mit
;(Pflicht). - Nach dem zweiten Punkt folgt wahlweise das Maß: ein Wert = Sollmaß, zwei Werte = Anlegemaß und Endmaß,
xoder nichts = nur Berechnung. REM = '…'darf nur nach dem Maß (bzw. nach den Punkten) am Satzende stehen.- Es sind beliebig viele Datensätze je Block zulässig.
Beispiele
Beispiel (allgemein, aus der Alt-Dokumentation)
ENTFERNUNGEN, NR = 1
xx 1537 xx 1539 10.450; { Berechnung und Vergleich }
xx 1535 xx 1536 2.15 61.200; { Anlege- u. Endmaß }
xx 1518 xx 1678 17.350 REM = 'FR 14'; { Bemerkung }
xx 1454 xx 1540; { nur Berechnung }
END
Beispiel (Baden-Württemberg, echt)
BW verwendet die Gemarkungsnummer als NV und Punktnummern der Form NR/Unternummer; x steht für „kein Maß":
ENTFERNUNGEN, NR = 1, DATUM = 25.03.2026, ZEIT = 13:31:37, PNR = 2, KN = 'VP' 0390 70/0 0390 70/4 x ; 0390 70/4 0390 70/3 x ; END
Die binären Codierungszeilen (Änderungsdatum/Nutzer) ergänzt VermCad automatisch; sie sind hier weggelassen.
Beispiel (Brandenburg/Berlin, A_NR-Edition — A-Spalte Pflicht)
Hier trägt jeder der beiden Punkte die Punktart-Spalte (hier Platzhalter x). Fehlt sie, ergänzt der Compiler das x in der ersten Zeile selbst; die zweite Zeile (Anlege- und Endmaß) schlägt fehl:
ENTFERNUNGEN, NR = 1, ZS = 0.15, VR 64 x 101 64 x 102 100.000; 64 x 111 64 x 112 0.000 200.000; END
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; eines der häufigsten Rechenmakros (in echten Projekten fast aller Länder, besonders Sachsen, BW, Anhalt).
- Toleranzvorgabe: ohne
,ZSgilt die zulässige Streckenabweichung des Projekts. Die globale Option$WS_D(unter Zulässige Abweichungen die Zul. Differenz der Entfernungskontrolle, voreingestellt nicht gesetzt) ersetzt, wenn sie gesetzt ist, bei der Prüfung jeden BlockwertZS. - Brandenburg: mit der globalen Option
$MESS_PIDwerden für Entfernungskontrollen Messwerte den Soll-Vorgaben vorgezogen. - Verwechslungsgefahr: Das Schlüsselwort
ENTFERNUNGENkommt auch als Untersektion in anderen Makros vor und hat dort eine andere Syntax:- in NETZAUSGLEICH als Beobachtungsliste individueller Streckengenauigkeiten,
- in TRANSFORMATION als eingebettete Streckenpaar-Sektion,
- in VKTRANSFORMATION als Beobachtungsliste (Spannmaße aus Rissen, Kopf mit
SYSID =,TITEL =,MF_S =,DFHD) — diese „Belegform" ist kein eigenständiger ENTFERNUNGEN-Block. Ein Abschnitt darf mehrere Von-Punkte enthalten: jeder Satz ohne Wert setzt einen neuen Von-Punkt, alle folgenden Sätze mit Wert sind Spannmaße von diesem Punkt aus (analog zu den Standpunkten bei RICHTUNGEN;VCCALCVT.PAS, ZweigvaS/vaHz).
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:2064 — Keyword-Zuordnung
ID[kEntfernung] := kwEntfernungen - VERMCAD\VCSCHMWT.PAS:6397-6461 — A-Spalten-Behandlung (nur
A_NR, include\OurIncludes.inc:5-6: Berlin, BRB): Beim ersten Punkt einer Zweipunkt-Zeile (ENTFERNUNGEN/KOORDINATENVERGLEICH) gilt die A-Spalte als vorhanden, wenn nach der NV mehr als vier Angaben folgen (NumberNextTerms(0) > 4), beim zweiten Punkt entscheidet die Wortfolge. Wird keine A-Spalte erkannt, fügt der Compiler bei diesen beiden Makrosx(MisChar) in den Quelltext ein (InsertNewText, VCSCHMWT.PAS:6448-6461).Equal_A(VCPUNKT.PAS) wertet den A-Wert beim Punktvergleich nicht aus - VERMCAD\VCSCHMWT.PAS:6572-6636 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt),
REM-Lesung - VERMCAD\VCSCHMWT.PAS:3297-3322 —
,ZSinkl. Berliner FormD1|D2|D3; 3333-3348 veralteteZS1/ZSS - VERMCAD\VCSCHMWT.PAS:3620-3623 —
,VR/,VRDS(Wirkung VR: VCLIST_BRB.PAS:954-956, VcList_NRW.pas:994; VRDS: VCPUNKT.PAS:26314-26364, VCLIST_BRB.PAS:417); VCSCHMWT.PAS:3522-3528 —,M; VCSCHMWT.PAS:3021-3027 — Anhalt,LS; VCSCHMWT.PAS:3444-3452 — Berlin,TO_PID - VERMCAD\VCSCHMWT.PAS:6908-6921 — Semikolon-Pflicht nach jedem Punktpaar
- VERMCAD\VCDCHMWT.PAS:2619-2635 — Übernahme in
TEntfernungsKontrolle(ZS, LSYXDistances, VR, Berlin-Optionen) - VERMCAD\VCCALC.PAS:108-130, 2548-2622 —
TEntfernungsKontrolle: Streckenberechnung, Anlege-/Endmaß-Prüfung (CheckAnlegeEndMass); 1983-2031ActZS(Blockwert bzw. Formel, auch für die Listen-Kennzeichen), 2341-2345WS_D_Toleranz($WS_DüberschreibtZSbei der Prüfung)