Combines polylines, which share a pseudo node, based on user specified attributes. The resulting polyline data set does not contain multi-part polylines. The topology of the data set is preserved. The attribute update rules include range values update
Input Layer. Dissolve field = "Streetname"

![]()
Attribute Table

After Clean Pseudo Nodes. Update rules
"L_F_ADD" - Address Range - Paired field - "L_T_ADD"
"R_F_ADD - Address Range - Paired field "R_T_ADD"


Parameters
| Expression | Explanation |
|---|---|
| Function Name | CleanPseudoNodes |
| <input dataset> | A String representing the input layer. Must be of Polyline type. |
| <output dataset> | A String - the full name of the output layer. |
| {Dissolve Fields} | A String representing a list (separated with ";") with the field names to be used for dissolving. |
| {Update Rules} | A String representing a list (separated with ";") with the field names and update rules. Valid rules are: "FIRST", "LAST", "MIN", "MAXLENGTH", "MAX", "SUM", "RANGECONTINUOUS", "RANGEADDRESS" depending on the field type. Example: "Field1 RangeAddress Field2;Field3 First;Field3 MaxLength" |
ETGWPath used in the table below is the full path to ETGWRun.exe (E.G. "C:\Program Files\ETSpatial Techniques\ETGeo Wizards\ETGWRun.exe")
| Language | Syntax |
|---|---|
| Python | subprocess.call([ETGWPath, "CleanPseudoNodes", "input dataset", "output dataset", "Dissolve Fields", "Update Rules"]) |
| .NET using ETGWRun.exe | StartInfo.FileName = ETGWPath StartInfo.Arguments = "CleanPseudoNodes" "input dataset" "output dataset" "Dissolve Fields" "Update Rules" |
| .NET using ETGWOutX.dll | CleanPseudoNodes(input dataset, output dataset, Dissolve Fields, Update Rules) |
| ArcPy | arcpy.CleanPseudoNodes(input dataset, output dataset, "Dissolve Fields", "Update Rules") |
Notes:
<> - required parameter
{} - optional parameter
The argument separator for StartInfo.Arguments is space. If a string might contain a space, you need to double quote it.