R_GE_R_SELF_INTERSECTION#
Anforderung#
| ID | R_GE_R_SELF_INTERSECTION |
|---|---|
| Beschreibung | Ein Ring soll einfach sein, also sich nicht selbstverschneiden. Die Selbstverschneidung kann an einem konkreten Punkt sein, oder auch nicht. |
| Parameter minVertexDistance | Punkte können als gleich angesehen werden, trotz (kleiner) Abstände, siehe Vertex Anforderungen. Dieser Parameter wird auch dazu verwendet um zu bestimmen wann ein Punkt eine Kante berührt. |
| Fehlercode | GE_R_SELF_INTERSECTION |
Beispiele für Selbstverschneidungen:
Schleife:

Punkt berührt Kante mit Parameter minVertexDistance:

Doppelte Punkte:

Doppelte Kante (Gleich wie doppelte Punkte):

Prüfung#
| ID | C_GE_R_SELF_INTERSECTION |
|---|---|
| Anforderungs ID | R_GE_R_SELF_INTERSECTION |
| Vorbedingungen | R_SC_SCHEMA_VALIDATION, R_GE_R_TOO_FEW_POINTS, R_GE_R_CONSECUTIVE_POINTS_SAME, R_GE_R_NOT_CLOSED |
| Beschreibung | Erkennt doppelte Punkte und Selbstverschneidende Kanten. |
| Fehlercodes | GE_R_SELF_INTERSECTION |
| ID | C_GE_R_DUPLICATE_POINT |
|---|---|
| Anforderungs ID | R_GE_R_CONSECUTIVE_POINTS_SAME, R_GE_R_SELF_INTERSECTION (teilweise) |
| Vorbedingungen | R_SC_SCHEMA_VALIDATION, R_GE_R_TOO_FEW_POINTS, R_GE_R_NOT_CLOSED |
| Beschreibung | Erkennt wiederholende und nicht wiederholende doppelte Punkte. Letzteres ist eine Selbstverschneidung. |
| Fehlercodes | GE_R_CONSECUTIVE_POINTS_SAME, GE_R_SELF_INTERSECTION |
Testfälle#
| Testfall ID | CityGML Modell | Erwartetes Ergebnis |
|---|---|---|
| GE-gml:LR-0004-T0001 | SimpleSolid_SrefBS.gml | OK |
| GE-gml:LR-0004-T0002 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0002.gml | Doppelte Punkte (Beispiel, nicht representativ für Fehler in Modell):![]() GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.6_LR.1 |
| GE-gml:LR-0004-T0003 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0003.gml | Doppelte Punkte (resultiert in einer doppelten Kante) GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.6_LR.1 |
| GE-gml:LR-0004-T0004 | SimpleSolid_SrefBS-GE-gml-LR-0004-T0004.gml | Schleife (Beispiel, nicht representativ für Fehler in Modell):![]() GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.6_LR.1 |
| GE-gml:LR-0004-T0005 | SimpleSolid_SrefBS-GE-gml-LR-0004-T0005.gml | Berührender Punkt mit Parameter minVertexDistance = 0.1:![]() GE_R_SELF_INTERSECTION in Ring: _Simple_BD.1_PG.2_LR.1 |
| GE-gml:LR-0004-T0006 | SimpleSolid_SrefBS-GE-gml-LR-0004-T0005.gml | OK für diese Anforderung mit Parameter minVertexDistance = 0.01, GE_S_NOT_CLOSED in späteren Prüfungen |