# Measurements

Measure distances and bearings in windows for maps, drawings, images, and labels using the path tool, a choice in the cursor mode button in the main toolbar.

Click to mark a virtual line called a path and the status bar at the bottom of the main Manifold desktop will report length and bearing of the path line.  A path also can be used as a tool to cut objects using the Split command.

The path tool operates by allowing us to draw a virtual line in the drawing, called a path, that is shown in blue color with blue handles at the vertices (coordinates) which define the path.  Each click marks a vertex (coordinate) in the path.  Because the path tool is only a virtual line, and does not create a new object, it can be used for measurements in windows or layers where line objects cannot be created, such as raster image layers or layers in data sources that are read-only.

We can draw a path on the fly and then go back to make changes to the path, using exactly the same editing commands we use to create and to edit lines when editing drawings.  We can create multi-branched paths, and change paths by moving vertices, splitting segments and inserting a new vertex, converting linear segment to curved segments, and so on.  We can also use the Clip command to alter a path into segments that are only inside or outside of area polygons of interest.

The path tool reports total length is reported in the units (for example, feet or meters) used by the coordinate system of the active window, except for Latitude / Longitude coordinate systems, for which distances are reported in meters and not degrees.  Bearings are reported in degrees.

The path tool computes distances and bearings using Vincenty algorithms to compute the distance over the surface over the actual ellipsoid used in the datum for the active component.   That provides significantly greater accuracy than computing distance over a generic sphere or planar computations.   Whatever coordinate system is used for the active component is automatically reckoned as part of the computations.

The path tool can be used for simple measurements from one spot to another, along convoluted paths, or simultaneously adding up the distances along multiple branches, as in the illustration above, to get a combined distance.   Because snapping works when drawing paths, we can easily use the path tool to find the length of a perimeter by snapping the end of the path to the beginning.

The total distance along both of the blue paths shown in the illustration is reported by the path as 3180 meters.   The bearing reported is the bearing in degrees for the last segment of the path.

## Launch the Path Tool

The default mouse cursor mode is navigation.

In the pull down menu for the cursor mode button, choose Draw Path

Shortcut: Press Shift-T to launch Draw Path mode.  T is a mnemonic for Track, a synonym for Path.

The mode button always shows what mode applies for that window.   Hovering the mouse over the mode button will show a tooltip.    Different windows can have different modes, with one window being in Draw Path mode while another window stays in Navigation mode.  As we switch between windows the mode button will automatically switch to show the mode for that window.

When using the path tool to click on closely-spaced locations, use the spacebar to turn off snapping to avoid snapping to a prior path vertex.

###### Measuring distances and bearings with a path:

1. Open a map, drawing, image or labels window.

2. Click onto the cursor mode button and choose Draw Path.  The button will show a path cursor.

3. Click the starting position for the measurement in the open window.

4. The status bar will report distance and bearing from the starting position to the current position of the mouse cursor.

5. Click a location to mark that as vertex in the path's line.   The status bar will now report total distance to the mouse cursor from the start, with bearing from the last vertex to the cursor.

6. Press Ctrl-Backspace to start over with a new path, or right-click and choose Clear Path

7. Click the Default mouse mode tool to end draw path mode.

The above procedure reports distance over a single, continuous path.

If we like, we can break up the path into branches so that it seems to consist of two or more parts, with a gap in between.   In that case the path tool will report the total distance, not counting the gap between branches.

###### Measuring distance with two or more branches:

1. Open a map, drawing, image or labels window.

2. Click onto the cursor mode button and choose Draw Path.  The button will show a path cursor.

3. Click the starting position for the measurement in the open window.

4. The status bar will report distance and bearing from the starting position to the current position of the mouse cursor.

5. Click a location to mark that as vertex in the path's line.   The status bar will now report total distance to the mouse cursor from the start, with bearing from the last vertex to the cursor.

6. Click as many vertices as desired for that branch.  Shift-click on the last vertex for the branch.

7. Click to mark the starting point for the next branch.

8. Click for as many vertices are desired for that branch.   The status bar will report total distance through both branches, not counting the gap between branches.

In complex measuring tasks we may have clicked many times to create a convoluted path, only to realize that we missed a vertex along the way.   Rather than re-do the entire set of clicks, we can edit the path.

###### Editing a path to move a prior vertex:

1. Open a map, drawing, image or labels window.

2. Click onto the cursor mode button and choose Draw Path.  The button will show a path cursor.

3. Click the starting position for the measurement in the open window.

4. Click locations as desired to mark vertices, to grow the path.

5. When prior vertices are to be edited, press the M key on the keyboard, to enter Move Coordinates mode for editing.

6. The last clicked vertex will change into a large box.  The larger box shows the active vertex for editing.

7. If some other vertex is to be moved, click that vertex.  It will change to a larger box to show it is the active vertex.

8. We can now drag that vertex to a different location.

9. To continue growing the path, click the last vertex in the path to make it the active vertex.

10. Press the I key on the keyboard, to exit editing mode and to go back to Insert Coordinates mode. The path tool will switch to adding new vertices to the path with each click.

###### Editing a path on the fly to insert a new vertex:

1. Open a map, drawing, image or labels window.

2. Click onto the cursor mode button and choose Draw Path.  The button will show a path cursor.

3. Click the starting position for the measurement in the open window.

4. Click locations as desired to mark vertices, to grow the path.

5. When a new vertex is to be inserted into a prior segment, press the P key on the keyboard to enter Move Coordinates + Split mode for editing.

6. Click on the segment into which a new vertex is to be inserted.   The segment will be split into two segments with a new vertex inserted at the spot clicked.

7. Click the new vertex and then Click and drag it to whatever position desired.

8. Press the I key on the keyboard, to exit editing mode and to go back to Insert Coordinates mode. The path tool will switch to adding new vertices to the path with each click.

9. Click as desired to add new vertices in that segment.  When finished, right-click anywhere in the drawing and choose Continue Last Branch.

10. The path tool will switch to adding new vertices to the path with each click, adding onto the end of the path.

After using the path tool we should switch the mouse cursor mode back to default navigation mode.

Shortcut: Press Shift-Space to get back to Default navigation mode.

There is no harm done if we forget, since the path simply reports measurements and does not change the data in any way.

## Commands

Commands to draw the path's virtual line are the same as commands for creating lines when editing drawings :

 Click In default mode, click to create a vertex in the path. Backspace Delete the last-clicked vertex. Ctrl-Backspace Abandon the current path and start a new path. Equivalent to a right-click followed by choosing Clear Path. Shift-click In default mode, Shift-click to terminate a branch in the path.   The next click will start a new branch. Spacebar Press the spacebar to toggle snapping off and on. Click and drag to pan the view, Right-click and drag to zoom box, and use the mouse wheel to zoom.      Navigation commands work in the usual way.   In the middle of drawing a path with the path tool we can zoom in and out with the mouse wheel and we can click and drag to move the view around to better see where our next click should go. Right-click Launch a context menu.  The menu expands with more choices after at least one vertex has been marked.     Right-clicks are always safe, never changing a path or losing work done to date.  Right-click anytime for a quick reminder of available options, and right-click onto the map/drawing window to move the focus safely back to that window after doing work in other panes, windows, or applications when in the middle of a path task. Esc Pressing the Esc key when a context menu is open will close that menu and return to the path session. Shift-Esc Exit Draw Path mode and go back to Default navigation mode. C Press the C key for Snap to Coordinates mode, snapping to vertices in objects. G Press the G key for Snap to Grid mode, snapping to virtual grid locations specified in Snap Parameters, 10 units of measure by default. B Press the B key for Snap to Bearing mode snapping to bearing lines specified in Snap Parameters, orthogonal vertical / horizontal directions by default R Snap to Relative bearing: Snap to bearing divisions as aligned to the bearing of the last entered segment. A Toggle between snapping to objects in the Active layer only, or snapping to objects in All visible layers.  Relevant to Snap to Coordinates mode only, since snapping to grid or to bearings does not depend on the contents of layers. Additional controls in Move Coordinates modes Ctrl-click Ctrl-click an editing handle to select it.   The is the same as selecting objects. Ctrl-drag Ctrl-drag to select all editing handles that fall within the box.  The is the same as selecting objects. Shift-Ctrl-click Shift-Ctrl-click an editing handle to deselect it.   The is the same as deselecting objects. Shift-Ctrl-drag Shift-Ctrl-drag to deselect all editing handles that fall within the box.  The is the same as deselecting objects. I Press the I key for Insert Coordinates mode, the default, marking a new vertex (coordinate) with each click. M Press the M key for Move Coordinates mode.  Click on a coordinate and then click and drag it to move it to a different location.   Right-click a segment to convert it between linear or curvilinear segment types.  Clicks anywhere else are ignored, Shift-clicks are the same as clicks, and Right-clicks other than on a segment launch the edit mode context menu, with the addition of a Continue Last Branch command. P Press the P key for Move Coordinates + Split mode. Same as Move Coordinates mode, plus the addition of a Split command: Click on a segment to split it into two segments, inserting a new vertex at the spot clicked.   Right-click works the same as Move Coordinates mode.

## Shortcuts for Draw Path Mode

 Ctrl-Backspace Clear the path.  Abandon the current path and start a new path. Equivalent to a right-click followed by choosing Clear Path. Shift-Space Exit Draw Path mode and go back to Default navigation mode. Alt-click Before starting a new path (just after launching the path tool or after a Clear Path ) Alt-clicking anywhere in the map exits Draw Path mode and goes back to Default mode.  Alt-clicking an object will pick that object. Ctrl-click Before starting a new path (just after launching the path tool or after a Clear Path ) Ctrl-clicking anywhere in the map exits Draw Path mode and goes back to Default mode.  Ctrl-clicking an object will select that object. Shift-Ctrl-click Before starting a new path (just after launching the path tool or after a Clear Path ) Shift-Ctrl-clicking anywhere in the map exits Draw Path mode and goes back to Default mode.  Shift-Ctrl-clicking a selected object will deselect that object.

## Right-click Snap Menu

Snap mode is indicated by a blue box cursor that snaps to locations allowed by the snap mode.   Snapping jumps the mouse cursor directly to a desired location, like a point or the end of a line, when the mouse cursor moves near that location.  That makes it easy to exactly click a desired location just by moving the mouse cursor approximately nearby.  We can also use snap modes to constrain mouse cursor motion to specified grid locations or to bearings, such as moving in only horizontal or vertical motions.

Snapping works when editing drawings, drawing paths, and also in other settings, such as placing control points for georegistration.  Commands to turn snapping on/off and to set snap modes become available when we launch the path tool, when we launch an editing tool (like Create Lines), or when we enable an object for editing by Alt-clicking it and then clicking a segment or vertex.

Snapping is off when we first launch a new Manifold session, and then stays off or on depending on how we last toggled it in that Manifold session.    Snapping is shared between the path tool and editing commands, so if in the path tool or while editing we have last turned snapping off, or we have changed the snapping mode, it will stay off or stay in the new mode until we turn snapping back on or change to a different mode.

When editing or drawing a path, the spacebar is a keyboard shortcut that toggles snapping on and off.   We also can toggle snapping on and off by right-clicking into the drawing and clicking Snap in the context menu.

The right-click context menu also allows us to switch snap modes and to set snap parameters used by those modes.  Keyboard shortcuts allow fast switching between modes while editing:

Basic snap settings appear in the basic context menu shown above as well as in extended context menus that appear when editing.

 Snap Turn snapping off and on.  Keyboard shortcut:  spacebar    See the discussion in the Snap Modes topic. Snap to Coordinates Snap to coordinates (vertices) in objects.  Keyboard shortcut: C key Snap to Grid Snap to virtual grid locations specified in Snap Parameters, 10 units of measure by default.  Keyboard shortcut: G key Snap to Bearing Snap to bearing lines specified in Snap Parameters, orthogonal vertical / horizontal directions by default.  Keyboard shortcut: B key Snap to Active Layer Only Toggle between snapping to objects in the Active layer only, or snapping to objects in all visible layers that have snapping enabled in the Layers pane.  Keyboard shortcut: A key Snap Parameters Launch the Snap Parameters dialog.

The Snap Parameters dialog sets values used by Snap to Grid and Snap to Bearing modes.

 Grid step The size of the horizontal and vertical steps in the virtual grid used for snapping in Snap to Grid mode.  The units box allows choosing either the native units used by the drawing or choosing some other unit of measure.  The default values of 10 result in a virtual grid every ten meters in meter-based coordinate systems.   To specify a virtual grid with snapping to every ten centimeters, specify values of .10 and .10, that is, one-tenth of a meter in each direction. Bearing divisions Bearing directions that will constrain mouse cursor motion in Snap to Bearing mode.  The default value of 4 bearing divisions means to constrain mouse motion to four directions: 0, 90, 180, and 270 degrees.  This is classic "ortho" mode in CAD systems, constraining mouse motion to only vertical and horizontal directions.  To constrain to ortho directions and also to 45 degree directions, change the value to 8.   That will constrain motion to eight directions:  0, 45, 90, 135, 180, 225, 270, and 315 degrees. OK Apply changes and close the dialog. Cancel Discard changes and close the dialog.

## Expanded Right-click Context Menus

After we have clicked at least one spot to start the path, the right-click context menu expands for more choices.

Additional commands provided in the expanded menu:

 Delete Last Coordinate Delete the last clicked coordinate.  Keyboard shortcut: Backspace key.  Repeatedly pressing the Backspace key is a handy way to undo clicked coordinates. End Current Branch Appears in Insert Coordinates mode (the default) when at least one vertex has been created in a path.   End the current branch at whatever was the last clicked vertex.   The next click will start a new branch. Clear Path Clear vertices clicked so far.  Begin a new path. Keyboard shortcut: Ctrl-Backspace Editing Modes Insert Coordinates The default draw path mode, insert mode.  Create a path by marking a new vertex (coordinate) with each click.  Keyboard shortcut: I key Move Coordinates Allows editing an existing object or already created coordinates.  Stop growing the path and switch to editing the path that has been created so far.  Click on a coordinate and then click and drag it to move it to a different location.   Right-click a segment to convert it between linear or curvilinear segment types.  Clicks anywhere else are ignored, Shift-clicks are the same as clicks, and Right-clicks other than on a segment launch the context menu. Keyboard shortcut: M key Move Coordinates + Split Allows editing an existing object or already created coordinates.  Same as Move Coordinates mode, plus the addition of a Split command: Click on a segment to split it into two segments, inserting a new vertex at the spot clicked.   Right-click works the same as Move Coordinates mode.  Keyboard shortcut: P key Editing Modes Clip Appears  when creating a new object using Create Area, Create Line, or Create Point, or when an existing object is picked with an alt-click and then put into editing mode with a click on a vertex or segment.   Automatically edit the object's path to align to the borders of overlapping areas, keeping only the part inside or outside.  See the Clip topic. Split Appears when drawing a path, when creating a new line or new area, or when an existing line or existing area is picked with an alt-click.    Split line and area objects in a specified layer, allocating attributes to split parts as specified.  See the Split topic. Copy Path Measurements to the Clipboard Copy Bearing Copy the bearing in degrees for the last segment in the path created so far. Copy Length Copy the length of the path to the last vertex clicked. Copy Location Copy the longitude and latitude of the last vertex clicked, using the datum of the current layer.  This will be the same as the Status Bar - Position readout when set to Latitude / Longitude.  Note that location is copied in XY order, that is, the first number is the longitude and the second number is the latitude.  That matches how most text formats storing "Latitude / Longitude" locations store data, including Locations in Manifold. Copy Location (Projected) Copy the X and Y position of the last vertex clicked, using the coordinate system of the current layer, without local scales and local offsets.  This will be the same as the Status Bar - Position readout when set to Projected.

Default path creation mode is Insert Coordinates, where every click inserts a new vertex.  We can switch to Move Coordinates mode at any time when drawing a new path, by right-clicking and choosing Move Coordinates  from the context menu.

Switching to Move Coordinates puts the path into coordinate editing mode, where we can alter the path by first clicking a vertex and then dragging that vertex to move it to a new location, or by right-clicking onto a segment to add a mid point coordinate or to convert it between linear or curvilinear segment types.    Switching to Move Coordinates + Split also puts the path into coordinate editing mode,  just like Move Coordinates mode, but with an added Split command: Click on a segment to split the segment into two segments, inserting a new vertex at that spot.

When in Move Coordinates or Move Coordinates + Split mode, a right-click on a segment provides more choices:

Additional context menu commands:

 Add Mid Coordinate Split the clicked segment in two halves, placing a new coordinate at the midpoint of the segment. Convert to Line Convert the segment to a linear segment between the two end vertices. Convert to Circle Convert the segment to a circle segment between the two end vertices. Convert to Ellipse Convert the segment to an ellipse segment between the two end vertices. Convert to Spline Convert the segment to a spline segment between the two end vertices. Reverse Branch Direction Reverse the order of vertices in the current branch.  The last vertex that was clicked thus becomes the first vertex in the path, and the first vertex that was clicked thus becomes the last vertex in the branch. Delete Branch Delete the current branch.  If there is only one branch to the path, Delete Branch is equivalent to Clear Path. Continue Last Branch Switch to Insert Coordinates mode and continue growing the path from the last vertex.

In either Move Coordinate mode, a right-click on a vertex calls up an expanded context menu:

The menu provides a Delete Coordinate choice:

 Delete Coordinate Delete the active vertex. Add Spline Coordinate Appears if  the active vertex is a control point for a spline segment: adds a new spline control point coordinate to the spline following the right-clicked coordinate.  The new control point appears on the spline curve approximately midway between the right-clicked control point and the next control point or terminal coordinate of the spline.  It can then be dragged as desired to reshape the spline.

## Example

We will measure distances in a map.

The map seen above shows a drawing called Sights that indicates locations of tourist interest in Paris, marked with green points, shown on a Bing Satellite image server background layer,  with opacity of the Bing layer set in the Layers pane to 50% to provide lighter coloring.   From upper left to lower right the sights are the courtyard of the Louvre, the center of the Pont des Arts, the plaza in front of the bronze equestrian statue of Henry IV on the Pont Neuf, the entry to Sainte Chapelle, and the cathedral of Notre Dame.   In the upper right a dot marks the corner of the plaza by the Pompidou center.

For this example, we assume a walking tour through these locations.  We will draw a path to measure the distance we walked.

Choose Draw Path in the cursor mode button to enable the path tool.   The mouse cursor changes into the path cross cursor.

With the focus on the Sights layer we see that by default the blue box cursor for the path tool snaps to the location of the nearest point in the active layer's drawing.    So long as the mouse cursor is nearby the green dot in the courtyard of the Louvre the blue box cursor will snap to that point.   Clicking will mark that spot as the first vertex in the path.

If we next move the  mouse cursor near the green dot on the Pont des Arts, the blue path cursor will snap to that location.   We can click to mark a vertex at that spot.

As the blue cursor snaps to the new location the status bar readout for the path tool will report the length of the path in meters as well as the bearing, in degrees, from the prior vertex to the current location of the blue box cursor.  We can see that the straight line distance from the first green dot to the second is about 393 meters on a bearing of 148 degrees.   The path tool reports distance and bearing in the status bar to three places past the decimal point.

For what follows, we will turn snapping off.   To turn snapping off, we press the spacebar.   Pressing the spacebar toggles snap mode in the path tool off and on.

We can now move the mouse cursor as we like and the path segment blue line will rubber-band to the current mouse location.

Wherever we move the mouse cursor, the path readouts in the status bar will update continuously.   For example, the total length of the path blue line from the courtyard of the Louvre to the middle of the Pont des Arts to the current location of the mouse cursor in the illustration above is 653 meters, with the bearing from the path vertex at the center of the Pont des Arts to the current mouse cursor location being about 98 degrees.

Press the Esc key on the keyboard to clear the current path, to allow a fresh start.    Or, if we prefer, we can press the Backspace key to step back and undo placement of vertice

Straight line distances as seen above are useful in some cases, but to measure our walk through Paris we do not want to snap in a straight line, as the bird flies, from the Louvre to the center of the Pont des Arts.   Instead, with snapping off we will click a few points indicating an actual walk from the Louvre to the Pont des Arts.

In the illustration above we have pressed the spacebar to turn on snap so we can click exactly on the starting point.   We then have pressed the spacebar again to turn snap off so we could click to mark two more vertices to show a walk along the embankment of the Seine.      To click the location at the beginning of the Pont des Arts we use the mouse wheel to zoom in, so we can click more accurately.

In the illustration above we have used the mouse wheel to zoom in, and we have also clicked and dragged to pan the view to center the region of interest.    The path tool can tell the difference between clicking and dragging as done to pan the view, and clicking to mark a location.    We have zoomed in to the beginning of the Pont des Arts, a footbridge over the Seine.  We click at the desired location to mark a vertex.

We can continue on our path to click additional locations.   After the initial click as seen above, we can zoom out using the mouse wheel.   If we like, we can also use the back arrow or other buttons on the main toolbar to zoom back to a prior view or to zoom out.

We press the spacebar to turn snap back on so we can click exactly on the dot at the center of the Pont des Arts.    We then press the spacebar to turn snap off to continue clicking on various locations where we want to place vertices to draw a path indicating our walk.

The illustration above shows the vertices we have clicked into position to draw our blue path.    We have walked from the Louvre along the Seine, across the Pont des Arts, along the Seine to the Pont Neuf, across the first span of the Pont Neuf to the plaza in front of Henry's statue, and then along the Seine on the Île de la Cité.   We have stopped in to see Sainte Chapelle, and then we have walked through the flower market by the Cité Metro stop to finally arrive at Notre Dame.

For the last location we have pressed the spacebar to turn snap on and then we shift-click to place that vertex as the end of a branch.

The path readout faithfully reports the total length of the blue path we have drawn as approximately 1988 meters.  The bearing is zero degrees because with snap turned on the blue cursor is snapped to the last vertex that was created, so there is no bearing from the last vertex to the blue box path cursor.

Why did we Shift-click the last vertex?   That ends a branch, so the next click we do will start a new branch, that is, a continuation of the path that need not be contiguous to the end of the prior branch.  In this case, when we move the mouse cursor near the green dot by the Pompidou center the path blue box cursor snaps to that location.   We click at that spot to place the first vertex of the next branch at that location.

Why use two branches?   That models a situation where we did not walk from Notre Dame to the Pompidou center, but instead we took a taxi or, more fun, we hired a bicycle rickshaw to pedal us from the Gothic beauty of the cathedral of Notre Dame to the modern self-indulgence of the Pompidou center.     Since our path is intended to measure the distance we have walked, we want to skip that part of our itinerary where we rode in a cab or a rickshaw.

We press the spacebar to turn snap off, and then we continue clicking to mark vertices for our path.   We walk from the Pompidou center past Les Halles and then back down to the beginning of the Pont Neuf on the Right Bank of the Seine.   We walk along the Seine a bit and then turn right to our final destination, the Autocité parking garage entrance in front of the church of Saint-Germain-l'Auxerrois.

The path readout in the status bar faithfully reports the total length of the two blue branches that make up the path:  we have walked 3180 meters, approximately two miles.   That does not count the distance of our rickshaw ride from Notre Dame to the Pompidou center.

## Modify the Path Line

Suppose now we realize that the path we have marked does not accurately reflect the walking path we took.    Instead of repeating all of our work we can simply edit the existing path.

Press the M key on the  keyboard to switch to Move Coordinates mode, which switches us from clicking to create new vertices into editing what has been created so far.   We could also Right-click and choose Move Coordinates if we prefer to use the context menu.

In editing mode, the active vertex is shown with a larger blue editing handle.  The active vertex may be dragged to a new location.   Clicking any vertex makes it the active vertex.

For example, suppose we have remembered that after visiting the bronze statue of Henry IV we did not walk along the embankment of the Seine, but instead walked through the small park toward the center of the Île de la Cité.   We will adjust the path by moving vertices, beginning with moving the vertex indicated with a magenta arrow in the illustration above.

We click on the vertex to be moved to make it the active vertex.

That vertex switches to a larger blue editing handle.  We can now drag it to a new location, so the path follows the path we walked through the small park, the Place Dauphine, where we paused for a moment to eat a sandwich in an oasis of calm away from tourist crowds.

The new location of the moved vertex, however, does not accurately indicate our path, because the next segment is a diagonal line that does not follow the street, but which instead cuts across the Police building.   We must add another vertex.

To do that, we press the I key, to which takes the path tool out of editing mode and back to Insert Coordinates mode.    We could also Right-click and choose Insert Coordinates if we prefer to use the context menu.

Whenever the path tool drops out of editing mode, the mouse cursor goes "live" at whatever is the position just after whatever was the active vertex in editing mode.   In this case, when we press the  I key to go back to Insert Coordinates mode, the path rubber-bands to the current cursor location from both vertices at either end of that segment.     We can move the mouse cursor about and wherever we click a new vertex will be added to the path.

We position the cursor at the corner of the street where we walked and the click to place a vertex at that location.

At all times, as we move the cursor about and place vertices, the path tool readout in the status bar reports whatever is the total length of all branches of the blue path at that moment.  We see that making the above modification takes the total length of the distance we have walked to 3239 meters, or just slightly over two miles.

## Extending an Existing Path Line

In the steps above we have inserted a new vertex into the path.  Suppose we would like to extend an existing line, picking up where we left off?  That is easy to do.

After inserting the new vertex, we are still in Insert Coordinates mode, with the path's segments rubber-banding to follow the mouse cursor.  We right-click.

In the context menu, we choose Continue Last Branch.

The blue path will now rubber band from the end of the path to the current cursor position.   Wherever we click we will add another vertex, extending the path.

## Copy Path Length and Bearing

When the path tool is operating, right-clicking in the map window calls up a context menu that allows us to copy the total length of the path to the last-clicked location, or the bearing of the last path segment to the last-clicked location.

Consider the map above, where we have clicked twice with the path tool, first to start the path at the Arc de Triomphe, and then second at the obelisk at the center of the Place de la Concorde.

With snapping on, the path readout in the status bar reports the length and bearing of the first segment marked, until a third click is made.   In this example the length is 2126.792 meters and the bearing 115.755 degrees.

If we press the spacebar to toggle snapping off, the status bar readout for the path tool will follow the cursor and report the current total length and current bearing.

For example, if we move the cursor in the direction of the Place de la Madeleine, the status bar will report the increased length to the cursor and the bearing of approximately 27 degrees.

We can right-click into the map and choose Copy Length to copy to the Clipboard the length of the path to the last clicked vertex.

2126.7924393029534

Pasting it wherever we want, such as into a Comments component or into a Notepad session editing a text file, we can see the length is the full-precision equivalent of the 2126.792 value that was reported for the length of the first segment in the status bar.

115.75513980334591

Likewise, if we had chosen Copy Bearing from the context menu, we would have copied the bearing of the last segment, that is, to the last-clicked vertex.   Pasting it, we get the full precision equivalent of the 115.755 degrees bearing reported previously in the status bar.

The length copied is always for the length of the path to the last-clicked vertex.   The bearing is always the bearing of the last segment, that is, from the next-to-last-clicked vertex to the last-clicked vertex.

## Copy Exact Location

We can use the path tool to copy the exact location of a spot to the clipboard.   Suppose we would like to get the exact location of the center of the Arc de Triomphe.

We zoom into the Arc de Triomphe and launch the path.   We click on the center of the Arc de Triomphe, and then we right-click to call up the context menu.

In the context menu, we choose Copy Location.   That copies the longitude and latitude of the last vertex clicked to the Windows Clipboard.  If the layer is in some coordinate system other than Latitude / Longitude, the location is automatically converted to longitude and latitude coordinate numbers in whatever datum was used by that layer.

If we would like to see the numbers, we click into a Comments component or into a Notepad or other text editing session and Ctrl-V to Paste the contents of the Clipboard.  We will paste the numbers:

2.295077258302963 48.87369824315243

The first number is the longitude of the center of the Arc and the second number is the latitude of the center of the Arc.   The path tool copies location in XY order, that is, the first number is the longitude and the second number is the latitude.  That matches how most text formats storing "Latitude / Longitude" locations store data, including Locations in Manifold.

## Example: Curvilinear Segments

We can edit, on the fly, the path to use circular segments instead of linear segments.

In this example, we do not want the cursor to snap to vertices we have previously created. Snapping is off by default, but if we have previously turned snapping on  we can turn snapping off, after we launch the path tool, by pressing the spacebar.   Pressing the spacebar toggles snap mode in the path tool off and on.

In the illustration above, we would like to measure the length of a walk in the Tuileries Garden, between the Place de la Concorde and the Louvre.   The route of our walk will go around two of the circular ponds in this area, a large pond and a smaller pond.   We launch the path tool, press the spacebar to turn snapping off, and click the path shown above.   For now, we click vertices in the usual way at the spots where we begin and end our circular arc walks around the ponds.

At any time, we can press the M key on the keyboard to switch to Move Coordinates mode, which switches us from clicking to create new vertices into editing what has been created so far.   We could also Right-click and choose Move Coordinates if we prefer to use the context menu.

In editing mode, the last vertex created becomes the active editing handle, with a larger box icon, and the rubber band line to the cursor position disappears.   We Right-click onto the linear segment we want to convert to a circular segment.

In the context menu, we choose Convert to Circle.

Instantly, the linear segment converts to a circular one.  The position and initial size of the circular arc is set by the two locations of the vertices for the linear segment that we right-clicked, with one of the vertices becoming the active editing handle.  The mid-point of the circular arc has a small control point edit handle on it.  Using that control point and the two vertices at either end of the circular arc, we can edit the circular arc into any circular shape we want.

We notice that we had clicked the initial linear segment sloppily, so we click and drag the active editing handle to adjust its position.

That is better.  Next, we Click the control point on the circular arc, to make it the active editing handle.

We can now click and drag the control point, now the active editing handle, into a new position if we like.

We click and drag the editing handle to the lower position of the pond.  In this case, the distance we would walk around the point stays the same, but moving the control point illustrates how the circular arc will rubber band to follow the changed position of the control point, to change the shape of the circular arc.

Next, we right-click the linear segment for the smaller pond.

Again, we choose Convert to Circle.

The linear segment changes to a circular segment, an arc between the two vertices that previously defined the linear segment we right-clicked.

We click on the control point for the arc, to make that the active editing handle.

The control point switches to a larger box, to indicate it is now the active editing handle.

We click and drag the editing handle to the other side of the point, changing the shape of the circular arc to show that we walked the long way around the circular pond.

Now that we have changed two linear segments to circular segments, we would like to go back to continuing our path, clicking more spots to show where we continued our walk.

To do that, we Right-click anywhere.

In the context menu, we choose Continue Last Branch.

We can now continue clicking to create new path vertices, just as if we had not interrupted that process to convert two linear segments into circular segments.  At all times, the path readout in the status bar will report the total length of the path, computing distance over the circular segments as well as linear segments.

## Using the Coordinates Tab

As soon as we make our first click when using the path tool, the Coordinates tab of the Info pane will automatically open up at the top of the panes tab strip, to show the coordinates of every click we make.

In the illustration above, with the Sights layer tab active, we have made ten clicks in drawing the path.

The Coordinates tab show the coordinates for each of the ten vertices clicked.    The coordinates are in decimal degrees longitude and latitude, since the Sights layer uses the Latitude / Longitude coordinate system.  The last coordinate is for the last vertex clicked, just in front of the equestrian statue of Henry IV that stands at the Place du Pont Neuf.

If we like, we can edit any of the coordinates, and that will change the location of vertices that mark the path.   To edit a coordinate, double-click into the value to be changed, make the edit, and then press Enter to apply the edit.

In the illustration above, we have changed the latitude value in the last row, and we are in the process of changing the longitude value, about to press Enter to apply the edit.

That moves the last vertex marked away from the statue of Henry IV and down to a position by the river.   The path tool is still in Insert Coordinates mode, so we can continue drawing the path.

See the Info Pane: Coordinates topic for editing moves that can be accomplished by editing values in the Coordinates tab.

Tech tip: The Coordinates tab in the Info pane reports values in the coordinate system of the active layer.   That might be confusing when using the Draw Path tool if we expect to see latitude and longitude decimal values in the Coordinates tab and the layer uses some other coordinate system, such as Pseudo-Mercator, for which the coordinate values will be reported as long numbers in a meter based coordinate system.

For example, if we had the focus on the Bing satellite layer in the example above, the values in the Coordinates tab would have been in Pseudo-Mercator coordinates.  If we wanted to adjust a path to precise coordinates we obtain from a web site that are given in latitude and longitude decimal degrees, it would be inconvenient to convert them to the equivalent values in Pseudo-Mercator coordinates.  There is an easy way around that.

When drawing paths to make measurements, to see coordinates reported as latitude and longitude decimal values the active layer must use the Latitude / Longitude coordinate system.   That is easy to arrange.  We simply create a new, blank drawing using the Latitude / Longitude coordinate system, and then drag and drop that drawing into the map as a layer.   With the focus on that layer tab, we can use the Draw Path tool to draw whatever path we like and the Coordinate tab will report values as latitude and longitude decimal values.   We can then adjust those values to precise figures in latitude and longitude decimal degrees.

## Path Tool Color

By default, the path tool uses the same blue color used for previews and for provisional edits.     If desired, we can change the preview and provisional color used by Manifold in the Tools - Options dialog.   This allows us to use a color different than blue color in cases where a visual display already uses very much blue color or to provide a more discernible color in case of color blindness.

## Notes

Works in all windows, including read-only windows - The path tool works in all visual windows.  It also works in windows that show read-only contents, such as drawings or images provided from web sources where we cannot modify the contents.  The illustrations show the path tool in action within a drawing layer in a map, to provide a simple illustration of how snap works.   The path tool also works with images and labels layers, too.

High accuracy - Manifold's path tool computes distances using Vincenty algorithms to compute the distance over the surface over the actual ellipsoid used in the datum for the active component.   That provides significantly greater accuracy than computing distance over a generic sphere or planar computations.   Whatever coordinate system is used for the active component is automatically reckoned as part of the computations.

Antipodal limitation - The Vincenty algorithms utilized become degenerate when measurements are made between two antipodal locations, that is, locations which are at nearly exactly opposite parts of the Earth, for example, between Punta Arenas, Chile, and the Western shore of Lake Baikal.  Therefore, we should not use the path tool to measure between vertices that are placed at nearly exactly antipodal locations on Earth.

Deleting a path vertex?  - Easy.  Right-click and choose Move Coordinates mode.  Right-click onto the vertex to be deleted and choose Delete Coordinate.   Even simpler is if we are clicking along to create a path and we do a wrong click.  To "back up" we simply press Backspace to delete the last-clicked vertex.

Coordinate systems -  The Coordinates tab in the Info pane reports values in the coordinate system of the active layer.   That might be confusing when using the Draw Path tool if we expect to see latitude and longitude decimal values in the Coordinates tab and the layer uses some other coordinate system, such as Pseudo-Mercator, for which the coordinate values will be reported as long numbers in a meter based coordinate system.

When drawing paths to make measurements, to see coordinates reported as latitude and longitude decimal values the active layer must use the Latitude / Longitude coordinate system.   That is easy to arrange regardless of the coordinate system used by either a map window or a layer within it we want to measure.   When measuring in a map in a layer that does not use Latitude / Longitude coordinate system, we can simply create a new, blank drawing using the Latitude / Longitude coordinate system, and then drag and drop that drawing into the map as a layer.   With the focus on that layer tab, we can use the Draw Path tool to measure whatever we like and the Coordinate tab will report values as latitude and longitude decimal values.

## See Also

Getting Started

Cursor Mode

Maps

Drawings

Editing Drawings

Snap Modes

Layer Opacity

Images

Labels

Style

Clip

Erase

Merge

Split

Example: Draw Lines, Areas and Points - Simple example of using basic mouse moves to add points, lines and areas to a drawing.

Example: Trace an Area in a Map over an Image Background - In a map with a drawing layer above an image layer, create an area object in the drawing by tracing over the outlines of something seen in the image layer below.

Example: Edit Coordinates While Creating an Object - When creating an object in a map using a tool such as Create Area, right in the middle of the process we can edit coordinates in the Info pane Coordinates tab.   This example shows the step by step process.

Example: Change the Shape of Areas - Step-by-step editing of an existing area in a drawing: changing the shape by moving a vertex, by moving several vertices together, by moving the entire object, by deleting a vertex and by adding a vertex.

Example: Add Vertices in the Middle of a Line being Created - During the creation of a new object we can go back and make corrections, additions and deletions to coordinates already marked.  In this example we start creating a new line, and then notice we have skipped over some locations we wanted to click.  We go back to add those vertices (coordinates), and then we continue with creating the line.

## Videos

Editing Drawings - Create Areas - How to create areas (polygons) in a drawing.  We digitize a lake by tracing over a background satellite image layer from a web server.  This quick video shows how editing tools in Manifold make it easy to digitize objects very quickly, correcting any errors with no stress or fear of getting it wrong.  Includes a quick demo of snapping.

Editing Drawings - Create Lines with Curves - A very short video showing how to create lines in drawings using straight segments and also circular arcs.  We create a line in a map of Paris showing our walk around circular ponds. Manifold can create polylines using straight line segments for classic polylines, or using curved segments that are circular arcs, ellipses, or splines for very smooth curves, a much faster and easier technique than clicking many points.  Super!