clean up snapping artifacts by comparing lengths of input features to features that are added to output with matching id, if there are several small features added (and still within a certain distance), they can probably safely be deleted
before performing the 7m snapping/matching, snap candidate layer nodes (ends, intersections) to reference layer nodes within tolerance (or slightly higher). If more than 1 reference node is within our matching tolerance distance for a given candidate layer node, match to closest already unmatched reference node.
break candidate roads at intersections with reference roads and vice versa
For other possibilities, see:
https://github.com/ssinger/roadmatcher (and http://wiki.openstreetmap.org/wiki/RoadMatcher) https://gis.stackexchange.com/questions/60072/snapping-start-and-end-nodes-of-lines-to-other-lines-in-postgis http://blog.mathieu-leplatre.info/use-postgis-topologies-to-clean-up-road-networks.html https://medium.com/the-downlinq/spacenet-road-detection-and-routing-challenge-part-ii-apls-implementation-92acd86f4094 https://medium.com/strava-engineering/activity-grouping-the-heart-of-a-social-network-for-athletes-865751f7dca https://github.com/ngageoint/hootenanny https://open.library.ubc.ca/cIRcle/collections/ubctheses/24/items/1.0398182