segjoin is a linear data processor that was originally developed to join individual lines and linestrings into longer multi-vertice linestrings, but now does a lot, lot more!
segjoin is designed to remove unnecessary breaks in lines, linestrings, curves, connected strings, arcs, and b-spline curves. Arcs, b-splines, and shapes can be converted to linear elements as part of the process. Linear elements may be strung together removing unnecessary breaks that result in extra element headers and redundant starting and ending vertices. The default mode of the process is that linework of different levels, symbolic properties, graphic groups, or zlow/zhigh range values will not be joined. Specific options enable the user to override these defaults. Linework may be processed level by level or for a group of levels at one time. Original linear elements may be saved (-s flag) if the joined linework is placed on another level. When multiple levels are processed all intersections of linear elements from all levels are used to determine where a linear element ends. Cells, text, and text nodes can be included during processing to retain breaks at these points. Dangling endpoints can be identified using the -D flag and linework can include data in adjoining reference files tocheck connectivity between elements of adjacent files.
As segjoin evolved over the past twenty years it has been enhanced to include many different types of linear functionality. While the major purpose of segjoin is element consolidation, the process also performs other significant functions; these functions include line weeding, resymbolization, element conversion, label creation, database loading, element deletion, and cleaning. Linework can be weeded using the -W flag. Weeding options include distance, length, and angle tolerances. Linework may be output with user specified symbolic properties of style, weight, and color, so segjoin can be used to resymbolize data. The "class" of the linework may also be altered by this process by specifying a different class as one of the options following the -S flag. Linework may be output to a new level using the -L flag, or as one of several element types, including lines, linestrings, curves or b-splines, or as connected (complex) strings (if none of these element properties are specified the process outputs the elements as linestrings and lines using their original symbolic specifications). Labels for linear elements can be created from the database and placed along the linear elements (e.g. street names on street centerlines).
segjoin may also be used to manipulate "zero-length" lines by either deleting or moving them to another level. Short length segments can be removed using the -O option. Dangling end-points may be identified using the -D flag. segjoin will also remove consecutive identical vertices found in the definition of a linear element. Elements may be deleted using the -delete flag. Linear values that include slope, distance, and from/to x,y, and z values can be loaded into the database using the -XY option. Attribute linkages can be manipulated, including their removal using the -A flag.
|
Created Size Downloads |
2015-11-17 20:11:14 1.39 MB 2482 |