R_GE_P_INTERSECTING_RINGS#
Requirement#
| ID | R_GE_P_INTERSECTING_RINGS |
|---|---|
| Description | The exterior and interior rings must not intersect |
| Parameter minVertexDistance | Two rings do not intersect if only a single point of one ring touches the other. A point touches an edge only if the distance is less than minVertexDistance. Points can be considered the same despite (small) distances, see Vertex Requirement |
| Error code | GE_P_INTERSECTING_RINGS |
Examples:
Exterior ring intersects interior ring:

Two interior rings intersect:

Check#
| ID | C_GE_P_INTERSECTING_RINGS |
|---|---|
| Requirement ID | R_GE_P_INTERSECTING_RINGS |
| Preconditions | R_SC_SCHEMA_VALIDATION, R_GE_R_ALL, R_GE_P_NON_PLANAR, R_GE_P_HOLE_OUTSIDE, R_GE_P_INNER_RINGS_NESTED, R_GE_P_ORIENTATION_RINGS_SAME |
| Description | If a point of an interior ring is outside the exterior ring or inside another interior ring, this is an intersection. |
| Error code | GE_P_INTERSECTING_RINGS |
Test cases#
| Test case ID | CityGML model | Expected result |
|---|---|---|
| GE-gml:PO-0001-T0001 | SimpleSolid_SrefBS-GE-gml-PO-0001-T0001.gml | GE_P_INTERSECTING_RINGS in Polygon _Simple_BD.1_PG.2 |
| GE-gml:PO-0001-T0002 | SimpleSolid_SrefBS-GE-gml-PO-0001-T0002.gml | OK for this requirement, GE_S_NOT_CLOSED error in later checks |
| GE-gml:PO-0001-T0003 | SimpleSolid_SrefBS-GE-gml-PO-0001-T0003.gml | GE_P_INTERSECTING_RINGS in Polygon _Simple_BD.1_PG.2 |