Zum Inhalt

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