MWT Syntax-Makro ENTFERNUNGEN: Unterschied zwischen den Versionen
Erscheinungsbild
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
Claude (Diskussion | Beiträge) MWT-Syntax-Referenz: regelbasierte Seite aus Task MWT_Syntax (Quellen: Compiler-Code + Bestands-MWTs) |
||
| Zeile 12: | Zeile 12: | ||
! Regelelement !! Bedeutung | ! Regelelement !! Bedeutung | ||
|- | |- | ||
| <code><NV> [<A>] <NR></code> || [[MWT Syntax-Punktidentifikation und Flags|Punktidentifikation]] (kurze Form, ohne VMA/Flags) der beiden Punkte je Datensatz. | | <code><NV> [<A>] <NR></code> || [[MWT Syntax-Punktidentifikation und Flags|Punktidentifikation]] (kurze Form, ohne VMA/Flags) der beiden Punkte je Datensatz. In den Editionen mit dem Compiler-Define <code>A_NR</code> ('''Brandenburg, Berlin, Sachsen-Anhalt''') ist die A-Spalte (Punktart) hier '''Pflicht bei jedem der beiden Punkte''' (<code>NV A NR NV A NR …</code>) — anders als bei Einzelpunkt-Makros wird sie in der Zweipunkt-Zeile '''nicht''' automatisch ergänzt: Fehlt sie, liest der Compiler die Punktnummer als Punktart und meldet einen Fehler. Als A genügt der Platzhalter <code>x</code>. In den übrigen Editionen entfällt die A-Spalte. Suffix <code>#</code> = untergegangener Punkt (historischer Wert) ist erlaubt. | ||
|- | |- | ||
| <code><w1></code> (allein) || Sollmaß = gemessene Strecke in Metern; wird mit der aus Koordinaten gerechneten Strecke verglichen. | | <code><w1></code> (allein) || Sollmaß = gemessene Strecke in Metern; wird mit der aus Koordinaten gerechneten Strecke verglichen. | ||
| Zeile 78: | Zeile 78: | ||
</pre> | </pre> | ||
Die binären Codierungszeilen (Änderungsdatum/Nutzer) ergänzt VermCad automatisch; sie sind hier weggelassen. | Die binären Codierungszeilen (Änderungsdatum/Nutzer) ergänzt VermCad automatisch; sie sind hier weggelassen. | ||
=== Beispiel (Brandenburg/Berlin, <code>A_NR</code>-Edition — A-Spalte Pflicht) === | |||
Hier trägt '''jeder''' der beiden Punkte die Punktart-Spalte (hier Platzhalter <code>x</code>); ohne sie schlägt die Übersetzung fehl: | |||
<pre> | |||
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 | |||
</pre> | |||
== Verfügbarkeit und Besonderheiten == | == Verfügbarkeit und Besonderheiten == | ||
| Zeile 91: | Zeile 100: | ||
== Quellen im Code == | == Quellen im Code == | ||
* VERMCAD\VcEditorUtils.pas:2061 — Keyword-Zuordnung <code>ID[kEntfernung] := kwEntfernungen</code> | * VERMCAD\VcEditorUtils.pas:2061 — Keyword-Zuordnung <code>ID[kEntfernung] := kwEntfernungen</code> | ||
* VERMCAD\VCSCHMWT.PAS:6142- | * VERMCAD\VCSCHMWT.PAS:6142-6205 — A-Spalten-Behandlung: In <code>A_NR</code>-Editionen erzwingt die Heuristik <code>NumberNextTerms > 4</code> bei Zweipunkt-Zeilen (ENTFERNUNGEN/KOORDINATENVERGLEICH) die A-Spalte; nur bei sonstigen Formen wird fehlendes A automatisch mit <code>x</code> (<code>MisChar</code>) ergänzt (Zeile 6198). <code>Equal_A</code> (VCPUNKT.PAS) wertet den A-Wert beim Punktvergleich nicht aus | ||
* VERMCAD\VCSCHMWT.PAS:6312-6376 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt), <code>REM</code>-Lesung | * VERMCAD\VCSCHMWT.PAS:6312-6376 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt), <code>REM</code>-Lesung | ||
* VERMCAD\VCSCHMWT.PAS:3281-3306 — <code>,ZS</code> inkl. Berliner Form <code>D1|D2|D3</code>; 3317-3332 veraltete <code>ZS1</code>/<code>ZSS</code> | * VERMCAD\VCSCHMWT.PAS:3281-3306 — <code>,ZS</code> inkl. Berliner Form <code>D1|D2|D3</code>; 3317-3332 veraltete <code>ZS1</code>/<code>ZSS</code> | ||
Version vom 18. Juli 2026, 02:59 Uhr
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, Sachsen-Anhalt) ist die A-Spalte (Punktart) hier Pflicht bei jedem der beiden Punkte (NV A NR NV A NR …) — anders als bei Einzelpunkt-Makros wird sie in der Zweipunkt-Zeile nicht automatisch ergänzt: Fehlt sie, liest der Compiler 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 (Standard: globale Option $WS_D); 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 | Maße für den Vermessungsriss bereitstellen | alle |
| VRDS | , VRDS |
nein | wie VR, zusätzlich mit Ausgabe des Datensatzes | alle |
| 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); ohne sie schlägt die Übersetzung 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 globale Option$WS_Dbzw. der Dialogwert „Zulässige Abweichung für Entfernungskontrollen". - 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.
- Alt-Dokumentation: Das Makro ENTFERNUNGEN.
Quellen im Code
- VERMCAD\VcEditorUtils.pas:2061 — Keyword-Zuordnung
ID[kEntfernung] := kwEntfernungen - VERMCAD\VCSCHMWT.PAS:6142-6205 — A-Spalten-Behandlung: In
A_NR-Editionen erzwingt die HeuristikNumberNextTerms > 4bei Zweipunkt-Zeilen (ENTFERNUNGEN/KOORDINATENVERGLEICH) die A-Spalte; nur bei sonstigen Formen wird fehlendes A automatisch mitx(MisChar) ergänzt (Zeile 6198).Equal_A(VCPUNKT.PAS) wertet den A-Wert beim Punktvergleich nicht aus - VERMCAD\VCSCHMWT.PAS:6312-6376 — Maßlesung (1 Wert = Sollmaß, 2 Werte = Anlege-/Endmaß, Verschieben des Anlegemaßes zum ersten Punkt),
REM-Lesung - VERMCAD\VCSCHMWT.PAS:3281-3306 —
,ZSinkl. Berliner FormD1|D2|D3; 3317-3332 veralteteZS1/ZSS - VERMCAD\VCSCHMWT.PAS:3604-3607 —
,VR/,VRDS; 3506-3512 —,M; 3005-3011 — Anhalt,LS; 3428-3436 — Berlin,TO_PID - VERMCAD\VCSCHMWT.PAS:6631-6644 — Semikolon-Pflicht nach jedem Punktpaar
- VERMCAD\VCDCHMWT.PAS:2617-2633 — Übernahme in
TEntfernungsKontrolle(ZS, LSYXDistances, VR, Berlin-Optionen) - VERMCAD\VCCALC.PAS:108-130, 2554-2602 —
TEntfernungsKontrolle: Streckenberechnung, Anlege-/Endmaß-Prüfung