-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AREA validation not working #123
Comments
Same problem here. This was introduced with iox-ili-1.20.6 resp. ilivalidator-1.9.0 as topological checks are now calculated with rounded values. As INTERLIS AREAs are stored as complete polygons in ILI2, these polygons might not overlap using the inital precision of the vertices. But when the vertices are rounded, overlapping may occur. If you are working with FME and are allowed to alter the data, use the SliverRemover transformer (renamed AreaGapAndOverlapCleaner in FME 2018) to clean up the data before writing to xtf. I havent't tested it but I guess this problem will not occur with ILI1 .itf files as the AREA geometry is stored in a different way as in ILI2. In ILI1 the boundary of an AREA geometry is stored only once for two adjoined polygons. I think the check is done correctly using the rounded values (see discussion in #111). So the best solution would be to configure the production GIS in a way that the precision of the coordinates correspond to the precision of the model. Where this is not possible, the original data has to be preprocessed (using whatever tools like OGR/Python/FME) to round the coordinates to the model's precision and/or clean overlapping polygons. Any other ideas? |
Wir haben immer noch Probleme mit AREA-Prüfungen. ilivalidator-1.11.0 meldet viele
Visuell sieht man keinen Fehler. Entlang der gemeinsamen Kante, habe ich im XTF die beiden Objekte punktweise verglichen. Auch da sehe ich keine Unterschiede. Nach Rumsuchen im Code bin ich der Meinung, dass das Problem die https://github.com/claeis/iox-ili/blob/master/jtsext/src/main/java/ch/interlis/iom_j/itf/impl/jtsext/geom/CurvePolygon.java#L105 Methode ist. Im oben referenzierten Beispiel liefert Testhalber reduziere ich die die Geometriegenauigkeit:
Die AREA-Prüfung liefert keine Fehler mehr zurück. Wo/wie genau jetzt sauber geschraubt werden muss, weiss ich nicht. Irgendwo gibt es sicher bereits einen Toleranzwert für numerische Fragestellungen. Anbei das Original-XTF und die beiden Objekte in einer separaten Datei. |
Hier das Polygon, das bei der Intersection entsteht (und für den Overlap sorgt):
Siehe |
Tests mit claeis/iox-ili@144da26:
|
There are a lot of
polygon overlay
errors which seem to be wrong. Or at least are not detectable without knowing where this should be.npl_niederbuchsiten_vor_OP.xtf.zip
The text was updated successfully, but these errors were encountered: