|
|
|
# GE-gml:LR-0002
|
|
|
|
|
|
|
|
## Anforderung
|
|
|
|
|
|
|
|
| ID | GE-gml:LR-0002 |
|
|
|
|
|------------------------------ | ------ |
|
|
|
|
| Beschreibung | Punkte innerhalb eines Rings sollen sich nicht wiederholen (ausgenommen der erste und der letzte im Fall von GML, siehe [GE-gml:LR-0003](Validerung/Anforderungen/GE_gml_LR_0003). Dieser Fehler ist oft der Fall wenn zwei Punkte an der selben Stelle sind. |
|
|
|
|
| Parameter minVertexDistance | Punkte können als gleich angesehen werden, trotz (kleiner) Abstände, [siehe Vertex Anforderungen](Validierung/Anforderungen#vertex-punkt-anforderungen)
|
|
|
|
| Fehlercode | GE_R_CONSECUTIVE_POINTS_SAME |
|
|
|
|
|
|
|
|
Zum Beispiel dieser Ring ist fehlerhaft:
|
|
|
|
```xml
|
|
|
|
<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
|
|
|
|
```xml
|
|
|
|
<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.
|
|
|
|
|
|
|
|
```xml
|
|
|
|
<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üfungen
|
|
|
|
|
|
|
|
| ID | C_GE_R_CONSECUTIVE_POINTS_SAME|
|
|
|
|
|---- | ---- |
|
|
|
|
| Anforderungs ID | GE-gml:LR-0002 |
|
|
|
|
| Vorbedingungen | SC-all-0001, [GE-gml:LR-0003](Validierung/Anforderungen/GE_gml_LR_0003), [GE-gml:LR-0001](Validierung/Anforderungen/GE_gml_LR_0001) |
|
|
|
|
| Beschreibung | Prüft ob sich ein Punkt wiederholt |
|
|
|
|
| Fehlercode | GE_R_CONSECUTIVE_POINTS_SAME|
|
|
|
|
|
|
|
|
| ID | C_GE_R_DUPLICATE_POINT|
|
|
|
|
|---- | ---- |
|
|
|
|
| Anforderungs ID | GE-gml:LR-0002, GE-gml:LR-0004 (teilweise) |
|
|
|
|
| Vorbedingungen | SC-all-0001, [GE-gml:LR-0003](Validierung/Anforderungen/GE_gml_LR_0003), [GE-gml:LR-0001](Validierung/Anforderungen/GE_gml_LR_0001) |
|
|
|
|
| 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:<br />_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 GE_R_DUPPOINT |
|
|
|
|
|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 GE_R_DUPPOINT |
|
|
|
|
|GE-gml:LR-0002-T0005| SimpleSolid_SrefBS-GE-gml-LR-0002-T0004.gml| GE_R_CONSECUTIVE_POINTS_SAME in Ring:<br />_Simple_BD.1_PG.6_LR.1<br /> mit Parameter minVertexDistance = 0.1 |
|
|
|
|
|GE-gml:LR-0002-T0006| SimpleSolid_SrefBS-GE-gml-LR-0002-T0005.gml| Nicht ausgeführt da GE_R_TOO_FEW_POINTS in Ring:<br />_Simple_BD.1_PG.6_LR.1 |
|
|
|
|
|
|
|
|
\ No newline at end of file |