OpenOrienteering / mapper

OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
https://www.openorienteering.org/apps/mapper/
GNU General Public License v3.0
399 stars 106 forks source link

Custom snap angle #626

Closed jan-gerard closed 8 years ago

jan-gerard commented 8 years ago

When drawing a sprint map, the building are often aligned. But unfortunately, city planners don't always stick to pure cardinal directions when creating their street-plans. Still, I would like to have all my building objects and/or streets properly aligned and parallel. Therefore, I would like to be able to rotate the standard 30-degrees direction-snap grid over arbitrary angles for a certain map. Or to align the direction-snap with existing (indicated) objects. Of to align it to the previously drawn buildings or objects. Or to snap the orientation of lines parallel to a nearby edge (indicating which one is then actually used). (This seems related to #650) This would make drawing parallel features (like roads with a parallel watercourse and a bank) much easier and quicker.

ghost commented 8 years ago

Firstly, go to "Menu -> Settings -> Editor tab -> Stepping of fixed angle mode (Ctrl) -> set it to 30deg". Now while draw buildings try hold Ctrl key, and chose angle with 30deg stepping.

Another way is rotating whole map to 30deg and then draw buildings as it would be horizontal. 1) Import template with image 2) Rotate map "Map -> Rotate map... -> Angle (counter-clockwise) -> set to 30deg -> OK" 3) Now goto " View -> Show grid". Result - you have map with grid rotated to 30deg. Setup grid size for needed building size. 4) Draw all your parallel buildings 5) After completing draw building rotate map back to -30deg using instruction above.

Thats all you need to do for this task.

dg0yt commented 8 years ago

The tools "Draw paths" and "Draw rectangles" allow to pick the initial direction from an existing object using Ctrl+Click.

jan-gerard commented 8 years ago

Wow! That works great. Only when I draw (urban) orienteering maps, I regularly have longer lines, that have to be parallel on multiple segments to other lines. I could create separate line segments, parallel to others, and then combine them into one, but that's still quite tedious. Couldn't there be a way in the GUI to snap to the direction of nearby objects? Not right on them, but parallel. Another workaround is to draw, then trace a contour briefly, and continue drawing while constraining the angle (ctrl-key), bend 90 degrees, and bend again 90 degrees, and then continue while constraining the angle, but parallel to the initially traced contour. Afterwards, I delete the intermediate bending nodes. But still, this is rather complex.

ghost commented 8 years ago

Try play with "Configure grid" dialog. No need so many separate instruments, but need to know how use already presented. Try learn Mapper deeply and again - please, read the manual.

dg0yt commented 8 years ago

@Symbian9 Please stop telling people they are doing it wrong without having taken the time to understand what they really want to achieve.

jan-gerard commented 8 years ago

This sounds related to #650: drawing parallel lines, and #624: linking objects, such that if one line/edge is modified, the derived/shifted line is modified accordingly. You draw a path, then create a 'linked' fence at a fixed distance, edit the path, and the fence is (re)created accordingly. Although this issue specifically suggests a global offset for the snap-angle mechanism for maps that have groups of objects with a typical orientation wrt North: set the snap angle once, and quickly draw all objects (e.g. building blocks) properly aligned.

dg0yt commented 8 years ago

I'm closing this because I think it is partly solved, partly better tracked in the other issues.