Regel 4.14.3.3 "Geometrie-Restriktion für Abstandsmaß" prüft zu eng

XPLAN-499
  • 6.1
offen
  • Konformitätsbedingung

Die Bedingung sollte nicht nur auf "LineString" prüfen, sondern auch "Curve" mit genau einem "LineStringSegment" mit genau 2 Punkten zulassen. Auch im zweiten Fall wäre die Geometrie-Bedingung für das Abstandsmaß erfüllt.

Die Regel lässt nur genau eine XML-Geometrie-Art zu. An keiner anderen Stelle wird die Geometrie so strikt vorgeschrieben.
Laut Schema ist das Attribut "position" für BP_AbstandsMass ab Version 6.0 vom Datentyp XP_Liniengeometrie. Und ebenfalls laut Schema ist die Geometrie für eine Linie immer vom Datentyp GM_Curve.
Programmseitig ist es für uns aufwändig, für nur ein einzelnes linienförmiges BPlan-Objekt bei der Geometrie-Ausgabe (position) nicht mehr über Curve zu gehen, sondern über LineString. Aus XML-Sicht ist die Ausgabe über Curve weiterhin Schema-konform.
Die Geometrie-Modellierung bliebe allgemein, die Geometrie-Bedingung kann trotzdem gezielt geprüft werden: Die Bedingung ist erfüllt, wenn a) LineString verwendet wird oder b) eine Curve mit genau einem LineStringSegment, das genau 2 Punkte enthält, verwendet wird.
Hier ein Beispiel zur Veranschaulichung:

Die beiden folgenden Geometrie-Angaben sind aus XML-Sicht geometrisch identisch:
================
<xplan:position>
    <gml:Curve srsName="EPSG:25832" srsDimension="2" gml:id="IDb.0">
        <gml:segments>
            <gml:LineStringSegment>
                <gml:posList>531325.5330 5794743.6400 531328.5706 5794753.6911</gml:posList>
            </gml:LineStringSegment>
        </gml:segments>
    </gml:Curve>
</xplan:position>
================

================
<xplan:position>
    <gml:LineString srsName="EPSG:25832" srsDimension="2" gml:id="IDb.0">
        <gml:posList>531325.5330 5794743.6400 531328.5706 5794753.6911</gml:posList>
    </gml:LineString>
</xplan:position>
================

Kommentare