Zum Inhalt

R_GE_P_NON_PLANAR#

Anforderung#

ID R_GE_P_NON_PLANAR
Beschreibung Jedes Polygon muss planar sein. Planarität ist erreicht, wenn kein Punkt weiter als distanceTolerance von der Regressionsebene aller Punkte entfernt ist, sowie die Normalen jedes Dreiecks des tessellierten Polygons keine größere Winkelabweichung als angleTolerance haben.
Parameter 1: type Der Typ der Planaritätsprüfung kann ausgewählt werden. Muss eins von distance, angle, both sein.
  • Wenn der Parameter distance ist: Nur die Distanzprüfung wird ausgeführt.
  • Wenn der Parameter angle ist: Nur die Normalenabweichungsprüfung wird ausgeführt.
  • Wenn der Parameter both ist: Beide Prüfungen werden ausgeführt.
Parameter 2: distanceTolerance Toleranz der Distanz eines Punktes von der Regressionsebene
Parameter 3: angleTolerance Toleranz des Winkels der Dreiecksnormalen
Fehlercodes GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE, GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION

Normalen Abweichung:
normalDeviation

Distanz eines Punktes zur Regressionsebene:
nonPlanarDistance

Prüfung#

ID C_GE_P_NON_PLANAR
Anforderungs ID R_GE_P_NON_PLANAR
Vorbedingungen R_SC_SCHEMA_VALIDATION, R_GE_R_ALL
Beschreibung Um die Normalenabweichung zu bestimmen, werden alle Polygone tesselliert, um die Dreiecksnormalen zu berechnen, deren Winkel für den Vergleich verwendet werden. Die Tessellierung der Polygone ist nicht eindeutig und damit ist das Ergebnis der Prüfung der Normalenabweichung nicht eindeutig.
Für die Distanzprüfung wird eine Regressionsebene aus allen Polygonpunkten erstellt, um den Abstand der Punkte zu dieser Ebene zu berechnen.
Fehlercode GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE, GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION

Implementierung#

In CityDoctor2 ist nur die Abstandsprüfung standardmäßig aktiv, da die Normalenprüfung keine deterministischen Ergebnisse liefert.

Testfälle#

Testfall ID CityGML Modell Erwartetes Ergebnis
GE-gml:PO-0002-T0001 SimpleSolid_SrefBS-GE-gml-PO-0001-T0002.gml OK für diese Anforderung, GE_S_NOT_CLOSED Fehler in späteren Prüfungen
GE-gml:PO-0002-T0002 SimpleSolid_SrefBS-GE-gml-PO-0002-T0001.gml GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE in _Simple_BD.1_PG.2 mit distanceTolerance = 0.01
GE-gml:PO-0002-T0003 SimpleSolid_SrefBS-GE-gml-PO-0002-T0001.gml OK für diese Anforderung mit distanceTolerance = 0.5, GE_P_ORIENTATION_RINGS_SAME in späteren Prüfungen
GE-gml:PO-0002-T0004 SimpleSolid_SrefBS-GE-gml-PO-0002-T0002.gml GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION in _Simple_BD.1_PG.1 mit Parameter type = angle