From OpenStreetMap Wiki
< JOSM‎ | Plugins
Jump to navigation Jump to search

Fast Draw - creating lines with mouse or pen

Example usage of using the plugin to trace a complicated geometry.

Main area of usage - tracing forests, rivers, lakes, twisted roads etc. without too much clicking. Line is drawn by mouse, then simplified and becomes a way.

It is a specialized alternative to standard drawing tool (A).

Please use simplification and validator! Do not upload huge and self-intersecting lines.


Main cycle Shift+Fdraw by mouse Enter/ looking in status bar — Enter or Ctrl+ Enter.

  • Enter the drawing mode - Shift+F button (when there are no shortcut conflicts), or FDIcon.PNG in left panel.
  • Draw object contour by mouse. Available actions:
  1. Click or mouse dragging - adding new nodes to the line (you can draw a line by dragging or by single clicks)
  2. Ctrl + Click = add fixed node (green). Fixed nodes will go to final line for any level of simplification, they are also used to delimit line fragments (for example, 4 bounds of forest, used rarely)
  3. Space bar is equivalent to mouse click. You can hold it and draw too.
  4. / arrows - changing minimal distance between auto-added points (starting from fastdraw.mindelta advanced parameter).
  5. Backspace - delete last node.
  6. Shift + Click - delete selected node (highlighted by cross) or line fragment.
  7. Dragging the node, to move it.
  • When drawing fragment is finished, press Enter. The line is simplified and becomes orange. When automatic simplification is turned on epsilon parameter is tuned if maximal points per 1 km count is too high (configured by Q).
  • You can drag the map and zoom; look in status bar for statistics. If you see that there are too many nodes - press , too few nodes - press '. You can skip this step or press multiple times.
  • Q - main drawing and simplification settings (all listed in advanced JOSM preferences fastdraw.*).
  • Press Enter a second time (or start drawing next line, or switch the map mode) - way is created and selected. If you press Ctrl+ Enter tags from clipboard are pasted.

To start new drawing press Shift+F again.

You can give feedback or propose enhancements in or by using JOSM TRAC


Editing existing line

  • If only one way is selected (not downloaded from server, to reduce possible problems), you can redraw or re-simplify it by pressing Shift+F twice ( Shift+F Shift+F). Unused points will be deleted when saving line ( Enter - Enter). Beware - tags are deleted. Undo Ctrl+Z works. This feature can be used to simplify alternatively created ways (tracks etc.) or for resimplifying with different parameters.

Edit action list [no undo!]

  • Backspace - delete last added point.
  • Shift + Click - delete selected point or line fragment.
  • Dragging node moves it.
  • After deleting line fragment you can redraw it by mouse. Segment being redrawn is highlighted orange. Always draw from start to the end of line! To return to line continuation from this mode press Shift + Click not on a node or ESC.
  • Ctrl+ Shift + Click - delete the whole line and start new one

Snapping to existing nodes, point fixation

  • When dragging and clicking near existing nodes, these can be automatically included in drawn line (they become fixed and are not changed by simplification). You can turn off this behaviour in settings (Q).
  • After clicking on starting line point you close the line, it can not be continued by mouse.
  • Ctrl + Click on existing line point - fix or release this point.
  • By using checkboxes in settings, you can force all nodes added by mouse clicks or Space bar to be fixed.

Simplification detailed description

  1. When Enter if first pressed, depending on settings plugin performs simplification with initial epsilon or autosimplification: while there are line fragments with 10 (fastdraw.pkmblocksize) points with PointsPer1Km greater then max PKM(fastdraw.maxpkm), detalization is decreased.
  2. Initial epsilon value is given in screen pixels (fastdraw.startingEps), so the simplification depends on current zoom level.
  3. / buttons multiply epsilon by configured coefficient (fastdraw.epsilonmult). Current line information is displayed in status bar.