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.
|
| 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:

Distanz eines Punktes zur Regressionsebene:

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 |