I have a huge dataset of vector river data (over 10'000 rivers) which are saved in a shapefile and were initially derived from a topographic map. However when comparing this vector to DEM data (SRTM 30 m data) there seems to be a irregular shift in data. River and DEM data are in the same coordinate system and projection and I don't exactly know why these shifts occur in the data.

What I did in ArcGIS 10.2 to compare the data: I created a hillshade and also I've created a flow accumulation raster to visualise the location of the rivers (see map below with DEM in background)

enter image description here

I've tried to adjust the rivers to the DEM manually using the Spatial Adjustment Toolbar (setting displacement links at nodes), however this task is quite time consuming and not very accurate.

Can anyone think of an easier more exact way (maybe automated way?) to do this kind of task, considering the huge amount of river data (over 10000 rivers!)?

  • 1
    Spatial adjustment is your only option
    – FelixIP
    Apr 16, 2015 at 20:24
  • You may want to take a look at the Snap and Integrate tools, which we have several questions on, but both will directly modify the data (not write new layers). And neither may generate the result you want. Spatial Adjustment will let you warp them into place, and from the looks of it may be your only choice given how different the two lines are (Snap and Integrate will likely be an absolute mess in some places I see there) and the fact the shift doesn't appear to be uniform (it's mostly to the east and north, but seems to line up well in some areas). Topo map or its scans may have been off.
    – Chris W
    Apr 16, 2015 at 21:08
  • 2
    as one person who converted topographic maps into digital form I can tell you that they are inaccurate. When the original topo map was made it was probably hand drawn over air photos (not Orthophotography) onto acetate or vellum with an accuracy dependent on the scale and massaged into place - fit for purpose. How close to a 'silk purse' do you want this 'sows ear'? It depends on how much time you intend to spend on it. First I'd check to see if there's better streams available! Otherwise spatial adjustment is the best bet, the more vectors you add the closer it gets then rubbersheet it. Apr 17, 2015 at 1:48
  • Another method that has merit is to create a completely new network based on your flow accumulation then transfer attributes from the inaccurate to the accurate but trust me when I say this will take a very long time, then select the ones that don't have attributes and delete them... this is the best method but the most time consuming (yes, I have done this before with 1:250k data, about 400 features an hour so that would be 25 hours to do 10k - time to get a casual!) Apr 17, 2015 at 1:55

1 Answer 1


If you suspect the vector streams are incorrect, I'd start by trying a different data source but often this is approached the other way by burning the streams into the DEM.

  1. Convert Vector Streams to Raster with a value of 1
  2. Use the Con tool or the "Minus" tool (under Math) in Spatial Analyst to subtract values in the DEM.

This will create a DEM with trenches dug into it +/- where the vector streams are located and should be useful for hydrologic analysis.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.