MWT Syntax-Makro GRENZPRUEFUNG: Unterschied zwischen den Versionen
Claude (Diskussion | Beiträge) Sachkorrektur nach dem Code: Überschreitung hält die Berechnung an (außer NE/$NE); Richtung außerhalb und in Baden-Württemberg; Toleranz ohne ZP ist $WS_D bzw. die Streckenabweichung, nicht $OP_SI; Passpunkt braucht mindestens einen örtlichen Wert; Prüfpunkte haben Abweichungen statt Restklaffen |
Claude (Diskussion | Beiträge) Entwicklerhinweise: Zeilennummern an den Code vom 18.09.2026 angeglichen |
||
| Zeile 112: | Zeile 112: | ||
'''Quellen im Code:''' | '''Quellen im Code:''' | ||
* VERMCAD\GlobalConsts.pas: | * VERMCAD\GlobalConsts.pas:1644-1645 — <code>kwGrenzpruefung</code>, <code>kwGrenzpruefungOld = 'GRENZERMITTLUNG'</code> | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:4033 — Ersetzung der Alt-Schreibweise (<code>ReplaceOldKeyWord</code>) | ||
* VERMCAD\VCSCHMWT.PAS:6656-6681 — Koordinaten (MissA = TRUE, EofA = TRUE), Fehler 77 im Passpunkt-Satz (mindestens ein Wert, Text VcSCheck.pas:3192-3193), Gewicht/GewX, kein Flag <code>v</code>; VCANS.PAS:1195-1205 <code>IsValidPass</code> (außerhalb BW genügt ein Wert) | * VERMCAD\VCSCHMWT.PAS:6656-6681 — Koordinaten (MissA = TRUE, EofA = TRUE), Fehler 77 im Passpunkt-Satz (mindestens ein Wert, Text VcSCheck.pas:3192-3193), Gewicht/GewX, kein Flag <code>v</code>; VCANS.PAS:1195-1205 <code>IsValidPass</code> (außerhalb BW genügt ein Wert) | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:5513-5525 — eingebettete ENTFERNUNGEN-Sektion (TransDistancePairs); 6570 Maß Pflicht; 6623 Gewicht | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:2912-2913 — Kopf-Infos <code>M</code>/<code>GK_RED</code> auch in Folgesätzen | ||
* VERMCAD\VCSCHMWT.PAS: | * VERMCAD\VCSCHMWT.PAS:3173-3238, 3705-3748 — <code>GEWX</code>, <code>GEWM</code>, Sortierungen, <code>FIXM</code>/<code>FIXN</code>, BW <code>APA</code>/<code>AWS</code> | ||
* VERMCAD\VCCALCVT.PAS:1343-1346 — Default-Transformationstyp (Grenzprüfung: tt_4P); 1434-1442 <code>SwapGrenzpruefungSourceDest</code> (Richtung außerhalb BW umgekehrt) | * VERMCAD\VCCALCVT.PAS:1343-1346 — Default-Transformationstyp (Grenzprüfung: tt_4P); 1434-1442 <code>SwapGrenzpruefungSourceDest</code> (Richtung außerhalb BW umgekehrt) | ||
* VERMCAD\VCANS.PAS:5490-5522 — Toleranz ohne <code>ZP</code>: <code>ActErrorToleranz</code> (Prüfung: <code>PassLengthErrorExt</code> = <code>$WS_D</code>, sonst <code>PassLengthError</code>, 5088-5112) und <code>ActZP</code> (Kennzeichen <code>***</code> im Koordinatenvergleich: <code>PassLengthError</code>, über <code>AttentionStrDist</code> 3205-3217, Aufruf 9350/9498); <code>$OP_SI</code> nur in der BW-Katasterliste (<code>TTransformPunkte_BW.ResultList2</code>, 12891) | * VERMCAD\VCANS.PAS:5490-5522 — Toleranz ohne <code>ZP</code>: <code>ActErrorToleranz</code> (Prüfung: <code>PassLengthErrorExt</code> = <code>$WS_D</code>, sonst <code>PassLengthError</code>, 5088-5112) und <code>ActZP</code> (Kennzeichen <code>***</code> im Koordinatenvergleich: <code>PassLengthError</code>, über <code>AttentionStrDist</code> 3205-3217, Aufruf 9350/9498); <code>$OP_SI</code> nur in der BW-Katasterliste (<code>TTransformPunkte_BW.ResultList2</code>, 12891) | ||
* VERMCAD\VCANS.PAS:5255-5294, 6646-6676 — <code>CheckMaxError</code>/<code>CheckKontrollError</code>: Überschreitung ist ein nicht fataler Fehler (GlobalTypes.pas:1088/1121), mit <code>NE</code>/<code>$NE</code> nur Hinweis (<code>ShowedErrorRemark</code>, 2099-2150); VCCALCVT.PAS:2305 reicht <code>NE</code> an die Transformation weiter | * VERMCAD\VCANS.PAS:5255-5294, 6646-6676 — <code>CheckMaxError</code>/<code>CheckKontrollError</code>: Überschreitung ist ein nicht fataler Fehler (GlobalTypes.pas:1088/1121), mit <code>NE</code>/<code>$NE</code> nur Hinweis (<code>ShowedErrorRemark</code>, 2099-2150); VCCALCVT.PAS:2305 reicht <code>NE</code> an die Transformation weiter | ||
* VERMCAD\VCCALCVT.PAS: | * VERMCAD\VCCALCVT.PAS:2723-2727 — Wirkung von <code>CVA</code> („verkettet mit Streckenausgleichung") | ||
{{Hilfe:NachOben}} | {{Hilfe:NachOben}} | ||
[[Kategorie:Blöcke mit Anweisungen (Makros)|GRENZPRUEFUNG]] | [[Kategorie:Blöcke mit Anweisungen (Makros)|GRENZPRUEFUNG]] | ||
Version vom 18. September 2026, 10:38 Uhr
Das Rechenmakro GRENZPRUEFUNG (Alias, veraltet: GRENZERMITTLUNG) prüft die Lage örtlich aufgemessener Grenzpunkte gegen den Katasternachweis. Aus den Passpunkten wird eine Transformation bestimmt; für die Prüfpunkte wird nur die Abweichung zwischen gegebener und berechneter Lage ermittelt und dokumentiert — es werden keine Koordinaten produziert. Außerhalb Baden-Württembergs ist das technisch eine „umgekehrte Transformation ohne Neupunkte": Transformiert wird ins örtliche System. In Baden-Württemberg transformiert VermCad in der gewohnten Richtung vom örtlichen System in das System des Projekts; die Abweichungen der Prüfpunkte bildet es über die Rücktransformation weiterhin im örtlichen System. Überschreiten Restklaffen oder Abweichungen den zulässigen Wert, hält die Berechnung mit einer Fehlermeldung an (siehe Verfügbarkeit und Besonderheiten).
Syntaxregel
GRENZPRUEFUNG [, KOORDINATENSYSTEM <n> | , LS <n>] [, <Kopf-Parameter>]*
<Passpunkt> { , <Passpunkt> }* ; (Satz 1: Passpunkte)
{ <Pruefpunkt> { , <Pruefpunkt> }* ; }* (weitere Sätze: Prüfpunkte)
[ ENTFERNUNGEN [, M = <w>]
{ <NV> [<A>] <NR> <NV> [<A>] <NR> <Maß> [<Gew>] [o] ; }* ]
END[;]
<Passpunkt> ::= <NV> <NR> <Y> <X> [<Gew> [<GewX>]] [o]
<Pruefpunkt> ::= <NV> <NR> [<Y> [<X>]] [<Gew> [<GewX>]]
| Regelelement | Bedeutung |
|---|---|
<Passpunkt> |
Punkt mit örtlichen Koordinaten Y X (im Passpunkt-Satz muss mindestens einer der beiden Werte stehen, sonst Fehler 77 „Keine Daten (Abszisse, Ordinate, Richtung, ...) gegeben"; außerhalb Baden-Württembergs rechnet VermCad auch mit einem Passpunkt, der nur einen Wert hat, in Baden-Württemberg zählt ein Passpunkt nur mit beiden Werten); danach optional ein Gewicht (bei Kopf-Parameter GEWX zusätzlich ein eigenes X-Gewicht); Flag o = Punkt nicht als Passpunkt verwenden (passiv).
|
<Pruefpunkt> |
weitere Punkte (im Dialogfenster Kontrollpunkte), deren Abweichung zwischen gegebener und berechneter Lage im örtlichen System geprüft wird; örtliche Koordinaten dürfen unvollständig sein (nur Y oder Platzhalter x).
|
ENTFERNUNGEN |
eingebettete Spannmaß-Sektion (ab Satz 2 möglich): je Satz zwei Punkte mit Pflicht-Maß und optionalem Gewicht; o = Maß nicht verwenden. Optional eigener Maßstab M = w für die Sektion.
|
Das Flag v (Veränderung) ist in der Grenzprüfung — anders als in TRANSFORMATION — nicht zulässig.
Parameter
Allgemeine Kopf-Parameter (NR =, DATUM =, ZEIT =, PNR =, KN = '…', REM = '…', NE, DEA) siehe Blockkopf-Parameter. Makrospezifisch:
| Parameter | Syntax | Pflicht | Bedeutung | Bundesland |
|---|---|---|---|---|
| Parameterzahl | ,P = 3|4|5|6 |
nein | Transformationstyp (3 = Kongruenz, 4 = Helmert, 5/6 = Affin); Standard bei GRENZPRUEFUNG: P = 4 (bei TRANSFORMATION: P = 3) | alle |
| polare Quelle | ,POLAR |
nein | örtliche Werte sind Hz HD statt Y X |
alle |
| Toleranzen | ,ZP = w / ,ZS = w |
nein | zulässige Punktabweichung bzw. Spannmaßabweichung (ENTFERNUNGEN-Sektion) | alle |
| Restklaffen | ,VRK / ,VRK = s|s2|s32 |
nein | nachbarschaftstreue Verteilung der Restklaffen | alle |
| Maßstab | ,M = w |
nein | Multiplikator für die örtlichen Werte (auch reziprok M = 1/0.9987); in Folgesätzen für die ENTFERNUNGEN-Sektion erlaubt |
alle |
| Gewichte | ,GEWX / ,GEWM = w |
nein | getrennte Gewichte für X je Punkt zulassen / Gewichtsmaßstab | alle |
| GK-Reduktion | ,GK_RED |
nein | Y/X-Werte Gauß-Krüger-reduzieren (auch in Folgesätzen erlaubt) | alle |
| mittlerer Fehler | ,MF_S = w / ,MF_YX = w |
nein | a-priori-Fehler der Spannmaße bzw. der Koordinaten | alle |
| Sortierung | ,SNR_P / ,SX_P / ,SNR_N / ,SX_N |
nein | Pass-/Neupunkte nach Nummer bzw. X sortieren | alle |
| Fixierungen | ,FIXM / ,FIXN |
nein | Maßstab bzw. Nachbarschaft fixieren | alle |
| gemeinsame VA | ,CVA |
nein | Transformation und Streckenausgleichung (ENTFERNUNGEN-Sektion) verkettet statt nacheinander ausgleichen | alle |
| BW-Spezifika | ,APA / ,AWS = n |
nein | automatische Punktausscheidung / Auswerteschranke | nur BW |
Datenzeilen
- Punktangabe in der Makro-Kurzform
NV [A] NR(ohne VMA), siehe Punktidentifikation. - Satz 1 enthält die kommagetrennten Passpunkte mit örtlichen Koordinaten; er bestimmt die Transformation.
- Weitere Sätze enthalten die Prüfpunkte (ebenfalls kommagetrennt möglich); für sie wird nur die Abweichung zwischen gegebener und berechneter Lage ausgewiesen (Ergebnisliste, Abschnitt Koordinatenvergleich).
- Anders als beim Subsektions-Gebrauch in PUNKTIDENTITAET gibt es im eigenständigen Makro keinen
RJ =-Satz und keine punktweisenREM-Angaben; die Quellenangabe gehört inKN = '…'/REM = '…'im Kopf.
Beispiele
Hinweis: VermCad ergänzt beim Speichern binäre Codierungszeilen (Nutzer/Änderungsdatum); diese sind in den Beispielen weggelassen.
Beispiel (Sachsen-Anhalt, echt)
GRENZPRUEFUNG, NR = 1, P = 3, DATUM = 22.02.2006, ZEIT = 13:23:48, PNR = 22, KN = '15' 10 78366 -4.300 0.000, 19 76415 0.000 275.000; 19 76408 2.800 218.620, 19 76414 5.200 256.300, 10 78361 10.900 140.000; END
Beispiel (Sachsen-Anhalt, mit Gewichten und unvollständigem Prüfpunkt)
GRENZPRUEFUNG, NR = 2, P = 3, DATUM = 22.02.2006, ZEIT = 13:30:02, PNR = 22, KN = '19' 19 76408 0.000 0.000 100.0, 19 76414 0.000 38.100 1.0; 19 76409 0.000; END
Der Prüfpunkt 76409 liegt auf der Geraden (nur die Ordinate 0.000 ist als örtlicher Wert gegeben).
Verfügbarkeit und Besonderheiten
- Verfügbar in allen Bundesland-Versionen; beobachtet v. a. in Sachsen, BW, Brandenburg, Thüringen, Sachsen-Anhalt.
- Alias: Das veraltete Schlüsselwort
GRENZERMITTLUNGwird beim Übersetzen automatisch im Quelltext durchGRENZPRUEFUNGersetzt. - Doppelrolle des Schlüsselworts:
GRENZPRUEFUNGleitet innerhalb des Makros PUNKTIDENTITAET eine Untersektion mit abweichender Syntax ein (dort mitRJ =-Satz und punktweisenRJ/REM-Angaben) — diese Form ist auf der PUNKTIDENTITAET-Seite dokumentiert. - Standard-Parameterzahl ist P = 4 (Helmert). Ohne Angabe von
ZPprüft VermCad Restklaffen und Abweichungen gegen die globale Option$WS_D(zulässige Differenz der Entfernungskontrolle), falls sie gesetzt ist, sonst gegen die zulässige Streckenabweichung für eine Strecke von der Länge des Radius des Passpunktfeldes. Das Kennzeichen***der Prüfpunkte im Abschnitt Koordinatenvergleich der Ergebnisliste richtet sich ohneZPstets nach dieser Streckenabweichung.$OP_SI(zulässige Soll-Ist-Abweichung) verwendet nur die Darstellung Kataster in Baden-Württemberg. - Überschreitung: Ist die größte Restklaffe eines Passpunktes bzw. die größte Abweichung eines Prüfpunktes größer als zulässig, hält die Berechnung mit Restklaffung = … bzw. Abweichung Soll-Ist = … an. Mit
NEim Makrokopf (im Dialogfenster Fehler aus) oder der globalen Option$NEerscheint die Meldung nur als Hinweis; VermCad rechnet weiter und kennzeichnet die Überschreitung in der Ergebnisliste. - Brandenburg: mit
$MESS_PIDwerden Messwerte den Soll-Vorgaben vorgezogen.
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\GlobalConsts.pas:1644-1645 —
kwGrenzpruefung,kwGrenzpruefungOld = 'GRENZERMITTLUNG' - VERMCAD\VCSCHMWT.PAS:4033 — Ersetzung der Alt-Schreibweise (
ReplaceOldKeyWord) - VERMCAD\VCSCHMWT.PAS:6656-6681 — Koordinaten (MissA = TRUE, EofA = TRUE), Fehler 77 im Passpunkt-Satz (mindestens ein Wert, Text VcSCheck.pas:3192-3193), Gewicht/GewX, kein Flag
v; VCANS.PAS:1195-1205IsValidPass(außerhalb BW genügt ein Wert) - VERMCAD\VCSCHMWT.PAS:5513-5525 — eingebettete ENTFERNUNGEN-Sektion (TransDistancePairs); 6570 Maß Pflicht; 6623 Gewicht
- VERMCAD\VCSCHMWT.PAS:2912-2913 — Kopf-Infos
M/GK_REDauch in Folgesätzen - VERMCAD\VCSCHMWT.PAS:3173-3238, 3705-3748 —
GEWX,GEWM, Sortierungen,FIXM/FIXN, BWAPA/AWS - VERMCAD\VCCALCVT.PAS:1343-1346 — Default-Transformationstyp (Grenzprüfung: tt_4P); 1434-1442
SwapGrenzpruefungSourceDest(Richtung außerhalb BW umgekehrt) - VERMCAD\VCANS.PAS:5490-5522 — Toleranz ohne
ZP:ActErrorToleranz(Prüfung:PassLengthErrorExt=$WS_D, sonstPassLengthError, 5088-5112) undActZP(Kennzeichen***im Koordinatenvergleich:PassLengthError, überAttentionStrDist3205-3217, Aufruf 9350/9498);$OP_SInur in der BW-Katasterliste (TTransformPunkte_BW.ResultList2, 12891) - VERMCAD\VCANS.PAS:5255-5294, 6646-6676 —
CheckMaxError/CheckKontrollError: Überschreitung ist ein nicht fataler Fehler (GlobalTypes.pas:1088/1121), mitNE/$NEnur Hinweis (ShowedErrorRemark, 2099-2150); VCCALCVT.PAS:2305 reichtNEan die Transformation weiter - VERMCAD\VCCALCVT.PAS:2723-2727 — Wirkung von
CVA(„verkettet mit Streckenausgleichung")