Help:How to make detailed rivers quickly

From OpenGeofiction
Revision as of 16:10, 6 September 2021 by Alessa (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This technique uses a vector-graphics program, such as Inkscape, to make realistic rivers. This method requires both Inkscape and JOSM; JOSM must be retrofitted with some plugins so it takes a while to set up and learn. Once all parts are installed, long, meandering rivers can be created in under 10 minutes.

Achtung.svg Warning: this requires a working knowledge of Inkscape vector graphics software and the JOSM map editor.

Example Rivers

Before we start, here is a example of rivers made using this technique (go to topographical layer to view more easily).

Loading map...


Neccesary applications

For this technique, you need:

JOSM Inkscape ImportVec plugin

1. Set up a background image of your country in Inkscape

This can be done by taking multiple screenshots and overlapping them in Inkscape. Printscreen the area of map you want to draw the river on, paste it into Inkscape, draw a rectangle over the section you want to keep, select the rectangle and the print screen, right click and click set clip. I would spend some time to get a detailed print screen of your entire country, so you don't have to take new print screens when you want to draw a river in a different section of your country.You also want to rescale the background map so that it is a sensible scale (for me, I used 1mm = 100m). Then place this background image in a seperate layer and lock it.


2. Measure how large your river will be

Follow the instructions writen under 'How wide to make the river' (though you should read the whole page). In my case, my river is 30m wide at the mouth.

3. Draw a line for the path of the river

Multiply the width of your river by 72 and convert it into the scale of your background map (so divide by 100 if you are using 1mm = 100m scale). For example, a 30m wide river would be multiplied by 72 (2160) and then divided by 100, giving a value of 21.6.

Then select the beizer curve tool and draw straight segments from the mouth of the river to the source. Initially, the straight segments should be the previously calculated value long, but they should gradually get shorter as you get closer to the source. The distance of a segment can be seen at the bottom of the screen. Note: you do not want to draw any meanders yet.


. Note: If you want more precision over the direction of the river, multiply the width of the river by 36 instead of 72. Then in the next step, only fractalize into 4 subdivisions

4. Fractalize it

Select the line you just drew, then click Extensions -> Modify path -> Fractalize. Under subdivisions, write 5. Under smoothness, you can put your own value, depending on how much you want your river to meander. Lower values result in more meandering rivers, higher results in straighter rivers. 3.5 generally works well. Use live preview to decide what smoothness value you want. Note: you don't want any paths crossing over themself.


Note: If you want straight segments, delete some of the nodes in the line after fractalizing it.

5. Convert the path into a spiro spline

Select the line, then click Path -> Path Effects In the path effects window, click the plus icon, scroll down to spiro spline and add it.


Then select 'Edit paths by node' tool, select all the nodes in the line, and click 'make selected nodes smooth'.


Then click 'Convert selected object to path' (Shift+Ctrl+C). Official OpenStreetMaps recommends that you include a way which is tagged as a river/stream in addition to an area which is tagged as a riverbank. This means at this point, you want to copy this path and paste it in a new document. If you only want a river/stream way and don't want an area polygon for the riverbank, just import this way into josm.

6. Add a taper

Draw a triangle off to the side which is long and has a height of 10mm. Copy it (but don't paste).


Click back onto the line and on the path effects window add the effect 'pattern along path'. Set the pattern copy to 'single stretched' and then click the 'paste path button'. Set the width to the width of your river divided by 10. Set the fill as a colour and the stroke as colourless. You may need to reverse the path (Path -> Reverse) if the taper is going in the wrong direction.


7. Finish it off

Select the path, then select the 'Edit paths by node' tool and click 'Convert selected object to path' (Shift+Ctrl+C).

Draw any oxbow lakes of other feature you want and then copy it into the document where you pasted the other way. This object should perfectly overlap the previously pasted way so that, when imported into josm, one can be tagged as 'river' and the other can be tagged as 'riverbank'. Then, import it into JOSM using ImportVec plugin. Set the scale to the scale you chose at the start and for the curve steps type in 1 (more than 1 results in glitches). Divide it into sections under 2000 nodes and add it into a relation tagged as type: multipolygon and waterway: riverbank.