The osm2gml conversion process has an issue with its node merging logic. Currently, the converter automatically merges nodes within a 1-meter radius. However, this process has the following errors:
- The merging process only checks the distance and merges the node into the one with the earlier index. Repeated merges may cause the node's position to drift significantly from its original location.
- As nodes are merged and shifted, it creates unintended intersections between edges that should not normally cross.
To resolve these issues, I propose replacing the simple distance-based merging with a method that snaps node coordinates to a fine grid. A similar feature already exists in gmlEditor, which suggests that the original design intended fine grid snapping.
The osm2gml conversion process has an issue with its node merging logic. Currently, the converter automatically merges nodes within a 1-meter radius. However, this process has the following errors:
To resolve these issues, I propose replacing the simple distance-based merging with a method that snaps node coordinates to a fine grid. A similar feature already exists in gmlEditor, which suggests that the original design intended fine grid snapping.