I try to understand, how roads (nodes and ways) in OSM are derived from uploaded GPS tracks. Are the nodes and ways added manually while all GPS tracks are displayed, which means technically the roads in OSM are somewhat independent from the GPS tracks? It’s just that in an editor you see there’s some GPS lines and you know there should be a street?
If that’s the case: How, later, do people know that a certain GPS track belongs to a street and not to something else, let’s say the river beside the street?
Generally, yes. You use the GPS tracks as a background (along with aerial imagery etc), then draw OSM ways on top of this. Then add tags to these ways to specify that it is a road etc.
It is possible to convert a GPS track directly to way. But this is usually not recommended, because GPS tracks can be inaccurate, and may include sections where you went off the road etc. So its better to manually draw a way, based on a number of different GPS tracks (and aerial imagery or other available sources).
This can be a problem, especially with cycle paths/footpaths beside roads.
You can add a description or tags to your track, to specify whether it is on road or paths or rivers etc. Then other editors can check these (if you tracks are set as public or identifiable, see http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces )
Also worth checking how old the track is, as the road may have been demolished or moved etc. Depending on the track visibility, you can see the timestamps. JOSM has a feature to filter tracks based on the date, so you could only show recent tracks.
And you don’t know how accurate it is.
So I usually prefer to use my own GPS tracks, as I know where I was when I recorded it. And I have some idea of how accurate it is.
Determining the roadway distance from your GPS point to each snapped roadway factor might be finished with the instructions service of the Google Maps API. Note that this will simply work in nations that support instructions in Google Maps, yet more significantly, the road proximity will almost always be higher than 1km, due to the fact that our bounding circle has a 1km distance “as the crow flies”. Nonetheless if you can deal with approximate info, this may already be one possible option.
You must not use anything based on the Google Maps API for contributing to OSM. As that would be against Google’s terms or service, and a copyright infringement.
So don’t use any snap to road tool based on Google Maps. Also, the roads on the map may not be accurate anyway, so snapping to them may not actually be accurate.