New road or realigned road: telling them apart in satellite imagery
Pull a change layer against last quarter's network and you'll hit this fast: a segment that shifted 20 meters to follow a straightened curve can look exactly like a new way if you're only checking geometry. And a genuine new bypass can read as a realignment if the old road is still sitting there, half-paved-over, in the same scene. Get this wrong and your routing graph ends up with ghost edges, duplicate connectivity, or a route that's missing its history entirely.
Here's what separates the two cases, and how to read it off the imagery before you commit a merge.
What the geometry alone can't tell you
A vector diff flags any segment whose geometry doesn't match the prior network within tolerance, whether the road is new or just moved, so geometry distance alone doesn't separate the two cases. Check what's attached to each end instead.
A realigned segment keeps its endpoints tied to the same intersections the old alignment connected to. The route still goes from junction A to junction B, it just takes a different path between them. Check the connecting segments on both ends: if they're unchanged and the new centerline is just a smoother or shifted version of the old one, that's a realignment, not a new road.
A genuinely new segment usually introduces a node that didn't exist before, or it connects two points that previously had no direct link. Adding a junction where there wasn't one, or closing a gap in the grid, means new connectivity. The graph needs a new edge, a new node ID, and attribution that doesn't borrow history from anything else.
Route number and functional class carry real weight here too. A realignment almost always keeps the same route ref, same name, same classification, because it's the same road moved. A new segment either has no ref yet or picks up a different one. If the attributes carried over cleanly in last quarter's pull but the geometry moved, that's your realignment case closed.
Reading the scene for construction evidence
Imagery at 0.5–2 m GSD is coarse enough that you won't always catch pavement texture, but you can usually catch the staging. Realignment projects build the new roadbed alongside the old one before decommissioning the original. So in a lot of scenes you'll see both: the old alignment still carrying traffic, the new cut running parallel a short distance away, sometimes connected at a tie-in point where the swap hasn't happened yet. If you see two parallel paths in the same imagery pass with one looking freshly graded and the other looking worn, that's a realignment mid-construction, not two roads.
A genuine new segment, by contrast, usually shows up with cleared right-of-way and no abandoned scar nearby, because there's no prior alignment to replace. If the old road is still there and still in active use after the new segment appears, you're adding a parallel route, which is a different edit entirely, not retiring anything.
The distance matters as a rough sanity check, not a rule. A curve straightening or a lane-widening realignment typically sits within a few tens of meters of the original centerline. A new bypass or a new connector road routinely sits hundreds of meters away, cutting across terrain the old alignment never touched. If a candidate segment is 300 meters off the prior centerline with no parallel scar nearby, treat it as new until the attributes say otherwise.
Getting it into the graph correctly
Once you've made the call, the merge differs. A realignment retires the old edge and swaps in the new geometry under the same identity, so routing history, turn restrictions, and any downstream references carry forward. A new segment needs fresh node IDs and a clean attribute set, with no inherited history to drag along. Mixing these up is how a routing graph ends up with a dead edge nobody retired, or a new road that's silently reusing an old segment's ID and confusing every downstream consumer of the graph.
If you're doing this scan by hand every quarter against a provider's raw change detection, it eats a lot of hours that should go to QA instead. Road Extraction delivers the quarterly diff already split into new and changed segments, with the old alignment flagged for retirement so you're not reverse-engineering which case you're in from a single frame of imagery.
Take a look at how the diff handles your next change set.