|
|
|
# GE-gml:PO_0002
|
|
|
|
|
|
|
|
## Anforderung
|
|
|
|
|
|
|
|
| ID | GE-gml:PO_0002 |
|
|
|
|
|---- | ---- |
|
|
|
|
| Beschreibung | Jedes Polygon muss Planar sein. Planrität ist erreicht wenn kein Punkt weiter als *distanceTolerance* von der Regressionsebene aller Punkte ist, sowie die Normalen jedes Dreicks des tessilierten Polygons keine größere Winkelabweichung als *angleTolerance* haben. |
|
|
|
|
| Parameter 1: type | Der Typ der Panaritätsprüfung kann ausgewählt werden. Muss eins von *distance*, *angle*, *both* sein.<ul><li>Wenn der Parameter *distance* ist: Nur die Distanzprüfung wird ausgeführt.</li><li> Wenn der Parameter *angle* ist: Nur die Normalenabweichungsprüfung wird ausgeführt.</li><li>Wenn der Parameter *both* ist: Beide Prüfungen werden ausgeführt.</li></ul> |
|
|
|
|
| Parameter 2: distanceTolerance | Toleranz der Distanz eines Punktens 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](https://gitlab.com/volkercoors/CiD4Sim/raw/master/SimpleSolid_SrefBS/figures/normalDeviation.png?inline=false)
|
|
|
|
|
|
|
|
|
|
|
|
## Prüfung
|
|
|
|
|
|
|
|
| ID | C_GE_P_NON_PLANAR |
|
|
|
|
|---- | ---- |
|
|
|
|
| Anfoderungs ID | GE-gml:PO-0002 |
|
|
|
|
| Vorbedingungen | SC-all-0001, GE-gml:LR-all |
|
|
|
|
| Beschreibung | Tesseliert um die Dreiecksnormalen zu berechnen. Erstellt eine Regressionsebene aus allen Polygonpunkten um den Abstand der Punkte zur Ebene zu berechnen |
|
|
|
|
| Fehlercode | GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE, GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Testfälle
|
|
|
|
|
|
|
|
| Testfall ID | CityGML Modell | Erwartetes Ergebnis |
|
|
|
|
|----|---------------|-----------------|
|
|
|
|
| GE-gml:PO-0002-T0001 | SimpleSolid_SrefBS-GE-gml-PO-0001-T0002.gml | OK |
|
|
|
|
| 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 mit *distanceTolerance* = 0.5 |
|
|
|
|
| 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 | |