MWT Syntax-Block SOLLWERTE
Erscheinungsbild
Der Block SOLLWERTE entspricht syntaktisch vollständig dem Block VORGABEN. Zusätzlich setzt der Compiler in jedem Punkt automatisch die Soll-Kennung (interne Flags ifDesiredYX/ifDesiredZ, entspricht Flag S) — der Block enthält also ausschließlich vorgegebene Sollkoordinaten.
Syntaxregel
SOLLWERTE [<Systemangabe>] [, <HeaderInfo>]*
{<Datenzeile> ;}*
END[;]
<Systemangabe> ::= LS <n> [HS <n>] | HS <n> [LS <n>] | KOORDINATENSYSTEM <n> | lokal | lokal_DE
<Datenzeile> ::= <PunktIdent> { <Bezeichner> = <Wert> }*
Systemangabe, Header-Infos und Datenzeilen sind identisch zu VORGABEN (dort dokumentiert).
Parameter
| Parameter | Syntax | Pflicht | Bedeutung | Bundesland |
|---|---|---|---|---|
| alle VORGABEN-Header | siehe VORGABEN bzw. Blockkopf-Parameter | nein | Shift-Koordinaten (y,x[,z]), A=, AT, M=, ZP=, VRK, NE, REM=, DATUM=/ZEIT=/DEV=/PNR= … |
alle |
Datenzeilen
Wie bei VORGABEN:
<PunktIdent> Y = <w> X = <w> [Z = <w>] [SYM = <code>] [REM = '…'] ;
- Das Flag
Smuss nicht angegeben werden — es gilt implizit für jeden Punkt des Blocks (Lage und Höhe). - Weitere Flags (insbesondere
Afür Anschlusspunkte) sind zusätzlich möglich: ein Sollwert ohne FlagAist keine Anschlusskoordinate.
Unterschied VORGABEN ↔ SOLLWERTE
| VORGABEN | SOLLWERTE | |
|---|---|---|
| Soll-Kennung (Flag S) | nur wenn je Punkt explizit gesetzt | automatisch für alle Punkte (ifDesiredYX/ifDesiredZ) |
| zulässige Punktarten | gemischte Vorgaben: Sollwerte (S), Bedingungskoordinaten (B), „vorgegebene Messwerte" (ohne Flag) | nur Sollkoordinaten |
| Veränderbarkeit der Punkte | Punkte ohne S/B können durch Messung/Berechnung neu bestimmt werden | Koordinaten werden angehalten; Änderung nur über # hinter der Punktnummer bzw. Flag B*
|
Alles Übrige (Systemangaben, Transformationslogik, Header) ist identisch.
Beispiele
Beispiel (Thüringen)
SOLLWERTE LS 489 40 2 20025 010 S Y =32694311.438 X =5590447.132 SYM = 101; END
Beispiel (Verschiebung, konstruiert nach Regel)
SOLLWERTE, (3000, 1000, 100) xx x 70 x A Y = 0.000 X = 316.576; xx x 10 x A Y = 0.000 X = 0.000; END
(VermCad ergänzt beim Speichern binäre Codierungszeilen; sie sind hier weggelassen.)
Verfügbarkeit und Besonderheiten
- Technisch in allen Bundesland-Versionen verfügbar; in der Praxis vor allem in Thüringen und Sachsen verbreitet (Kontroll-Sollwerte).
- ALKIS-Hinweis: Punkte ohne endgültige ALKIS-ID sollten nicht als gegebene Sollpunkte geführt werden (Widersprüche in ALKIS-Projekten).
lokal_DE-Variante nur Sachsen-Anhalt (wie VORGABEN).
Quellen im Code
- VCSCHMWT.PAS:4396-4607 — gemeinsamer CASE-Zweig kSollwerte/kVorgaben (Systemangabe, Header)
- VCSCHMWT.PAS:4709-4710 —
IF BlockKind = kSollwerte THEN DataPunkt.SetFlags([ifDesiredYX, ifDesiredZ], TRUE) - VCSCHMWT.PAS:2418-2845 — ReadBlockHeaderInfos
- GlobalTypes.pas:1516 ff. — TBlockKind (kSollwerte)