Transform - Geometry: Trace

The Trace template appears in the template list when a geometry field, of type geom, geommfd, or geomwkb, has been picked in the Transform pane.   It creates bounded areas.



A classic "bounded areas" transform: Given line objects, creates areas in regions entirely enclosed by self-intersecting, intersecting or otherwise touching lines.  Areas and points are ignored.  


Launch the template by choosing a geometry field and then double-clicking the Trace template.  When the template launches we can specify options.



For an example, we will use a drawing that contains various line objects, each colored using a different color so we can see the different line objects.   



Some lines have ends that are exactly coincident with other lines.  Most lines intersect each other, some intersecting in the middle of line segments and others intersecting at vertices.   Regardless of how regions are enclosed by lines, the Trace template will find all such enclosed regions.


The Trace transform always puts the results into a new table and drawing, since the number of bounded areas is likely to be different from the number of objects in the source drawing.


With the focus on the drawing window, in the Transform pane we choose the Geom field and then the Trace template.



In the Trace template, for the Result destination, we choose New Table and then enter Bounded Areas as the name of the New drawin.  As we enter the name for the drawing, the pane will automatically fill in an analogous name for the table.   We can change that if we like.  We could use whatever names we want, but it is wise to use names that remind us of what they are supposed to be.



The preview shows how five areas will be created.  


Press Transform.  



The illustration above shows the resulting drawing as a layer beneath the original lines drawing, so we can see how bounded areas are created from regions enclosed by lines.   Areas have been styled with different hatch patterns and colors better to show the different areas.  


A classic use for this template is to create areas from regions enclosed by road lines or boundary lines.   See the Example: Bounded Areas topic for an example.


Tech tip: when bounded areas do not appear where expected, usually careful examination of lines will show an unexpected gap between lines, so that a region is not fully enclosed.




Curvilinear segments - As a practical matter, most people doing GIS will use straight line segments for lines and areas.   Few GIS systems do a good job of supporting curved segments, so there is much less data published using curved segments.   Manifold's ability to work with curved segments allows us to use that data within Manifold in a limited way, at least for display and interactive editing.  


However, most processing tools in Manifold, such as Transform templates and various Geom SQL functions, do their work by first converting a curvilinear segment into a straight line segment between the same two start and finish coordinates.  That will often lead to weird or otherwise unexpected results.  To avoid such problems, first convert curvilinear segments into equivalent constellations of straight line segments at whatever resolution is desired, using the Clean transform template with the convert curves to lines operation option and the number of linear segments desired to approximate the curve in the Curve limit parameter.   See the Curved Segments discussion in the Drawings topic.


See Also

Transform Pane


Transform Reference


Transform - Expression


Transform - Geometry