I have my geodata layers processed in GRASS GIS. Its internal tools report that the topology has no problems, such as self- and mutual intersections.
Then I export the data to a GML file which then is converted to an OSM XML format, the last step preserving all coordinates intact. This OSM file is then opened in JOSM and validated, at which point quite a lot of self-intersections, duplicate nodes etc are found.
It was very confusing for me to understand where these problems come from until I noticed that they happen mostly on vertical (north-south) or horizontal segments of polygons.
Upon closer inspection I noticed that GRASS operates with floating point coordinates having 11 digits after the dot, and the GML and OSM files have 11 digits. The JOSM editor then shows only 7 digits after the dot in UI. Data exports from the existing OSM database has 7 digits. However if I re-save my own OSM file opened in JOSM as a new OSM file it retains 11 digits.
Can this reduction of precision lead to the types of topology problems I observe? If so, what is the best approach to avoid/fix them?
I can use GRASS to discover/fix topology problems, but native OSM tools/editors cannot do that, so my best bet is to somehow tell GRASS to use reduced precision.