R_GE_R_CONSECUTIVE_POINTS_SAME#
Anforderung#
| ID | R_GE_R_CONSECUTIVE_POINTS_SAME |
|---|---|
| Beschreibung | Punkte innerhalb eines Rings sollen sich nicht wiederholen (ausgenommen der erste und der letzte im Fall von GML, siehe R_GE_R_NOT_CLOSED). Dieser Fehler tritt oft auf, wenn zwei Punkte an derselben Stelle sind. |
| Parameter minVertexDistance | Punkte können als gleich angesehen werden, trotz (kleiner) Abstände, siehe Vertex Anforderungen |
| Fehlercode | GE_R_CONSECUTIVE_POINTS_SAME |
Zum Beispiel dieser Ring ist fehlerhaft:
<gml:LinearRing>
<gml:pos>0.0 0.0 0.0</gml:pos>
<gml:pos>1.0 0.0 0.0</gml:pos>
<gml:pos>1.0 0.0 0.0</gml:pos>
<gml:pos>1.0 1.0 0.0</gml:pos>
<gml:pos>0.0 1.0 0.0</gml:pos>
<gml:pos>0.0 0.0 0.0</gml:pos>
</gml:LinearRing>
Dieser Ring ist auch Fehlerhaft mit dem Parameter minVertexDistance = 0.1
<gml:LinearRing>
<gml:pos>0.0 0.0 0.0</gml:pos>
<gml:pos>0.05 0.0 0.0</gml:pos>
<gml:pos>1.0 0.0 0.0</gml:pos>
<gml:pos>1.0 1.0 0.0</gml:pos>
<gml:pos>0.0 1.0 0.0</gml:pos>
<gml:pos>0.0 0.0 0.0</gml:pos>
</gml:LinearRing>
Das nächste Beispiel zeigt einen fehlerhaften Ring mit einem Punkt, der zwei mal vorkommt aber die Wiederholung nicht aufeinanderfolgend ist. Dies resultiert in einer Selbstverschneidung, dies ist mit dieser Anforderung nicht abgedeckt.
<gml:LinearRing>
<gml:pos>0.0 0.0 0.0</gml:pos>
<gml:pos>1.0 0.0 0.0</gml:pos>
<gml:pos>1.0 1.0 0.0</gml:pos>
<gml:pos>1.0 0.0 0.0</gml:pos>
<gml:pos>0.0 1.0 0.0</gml:pos>
<gml:pos>0.0 0.0 0.0</gml:pos>
</gml:LinearRing>
Prüfung#
| ID | C_GE_R_CONSECUTIVE_POINTS_SAME |
|---|---|
| Anforderungs ID | R_GE_R_CONSECUTIVE_POINTS_SAME |
| Vorbedingungen | R_SC_SCHEMA_VALIDATION, R_GE_R_NOT_CLOSED, R_GE_R_TOO_FEW_POINTS |
| Beschreibung | Prüft ob sich ein Punkt wiederholt |
| Fehlercode | GE_R_CONSECUTIVE_POINTS_SAME |
| 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_NOT_CLOSED, R_GE_R_TOO_FEW_POINTS |
| Beschreibung | Erkennt aufeinanderfolgende als auch andere wiederholende Punkte. |
| Fehlercode | GE_R_CONSECUTIVE_POINTS_SAME, GE_R_SELF_INTERSECTION |
Testfälle#
| Testfall ID | CityGML Modell | Erwartetes Ergebnis |
|---|---|---|
| GE-gml:LR-0002-T0001 | SimpleSolid_SrefBS.gml | OK |
| GE-gml:LR-0002-T0002 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0001.gml | GE_R_CONSECUTIVE_POINTS_SAME in Ring: _Simple_BD.1_PG.6_LR.1 |
| GE-gml:LR-0002-T0003 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0002.gml | OK nach dieser Anforderung, aber hat Fehler GE_R_SELF_INTERSECTION erkannt von C_GE_R_DUPLICATE_POINT |
| GE-gml:LR-0002-T0004 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0003.gml | OK nach dieser Anforderung, aber hat Fehler GE_R_SELF_INTERSECTION erkannt von C_GE_R_DUPLICATE_POINT |
| GE-gml:LR-0002-T0005 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0004.gml | GE_R_CONSECUTIVE_POINTS_SAME in Ring: _Simple_BD.1_PG.6_LR.1 mit Parameter minVertexDistance = 0.1, GE_S_NOT_CLOSED Fehler wenn minVertexDistance = 0.01 |
| GE-gml:LR-0002-T0006 | SimpleSolid_SrefBS-GE-gml-LR-0002-T0005.gml | Nicht ausgeführt da GE_R_TOO_FEW_POINTS in Ring: _Simple_BD.1_PG.6_LR.1 |