claeis / iox-ili

implementation of IOX API
3 stars 8 forks source link

Repair self-touching lines of surfaces. #102

Closed Philippluca closed 2 years ago

Philippluca commented 2 years ago

Ref: https://github.com/claeis/ili2db/issues/437

patrickackermann commented 2 years ago

Der Unterschied im generierten WKB im Test multiSurfaceZToStandardWkb und multiSurfaceZToExtendedWkb kommt daher, dass vorher ein fehlender Endpunkt ergänzt wurde um eine Boundary Polyline zu schliessen. Bei der Geometrie, die für diese Tests generiert wird ist der Endpunkt der Boundary nicht gleich dem Anfangspunkt.

alt: MULTIPOLYGON Z (((963340 1077418 1,963344 1077411 1,963348 1077413 2,963343 1077420 2,963340 1077418 1)))
neu: MULTIPOLYGON Z (((963340 1077418 1,963344 1077411 1,963348 1077413 2,963343 1077420 2)))

Diese Änderung scheint mir unproblematisch, da in INTERLIS Boundary Polylines ebenfalls geschlossen sein müssen. Der Validator meldet auch einen Fehler, wenn in einem XTF der Endpunkt einer Surface Boundary Polyline nicht gleich dem Anfangspunkt ist. Zum Beispiel im Test surface_Ok ist die Geometrie korrekt und das generierte WKB hat sich nicht geändert.