Currently, we have our water system mains in a geometric network but they are not split at valves. I would like to batch split the water main complex edges at the valves while maintaining the attributes. I looked at the split line at points tool, but it wants a separate output. I am trying to do this operation from within an edit session to maintain current attributes. After the split, my plan is to assign a unique ID.
I am looking at within an edit session or a Python script to accomplish this.
Below is an image of our current geometry.
I see nothing there that says current attributes will be removed.
If you are worried about Shape_Length or a similar field being changed.. then yes... make a copy of it's values in a new field (ie Leng_orig) using the field calculator.
I only see editing/splitting lines being done within an edit session interactively with a cut line.
edited: Dan beat me to it, to to add to his remarks;
A geoprocessing function such as split at point will always create an output feature class like that. My suggestion is to add an attribute of Long Int type and call it something like Key to your original data. Calculate Key = OBJECTID. That gives them all a unique value that will persist after you split.
After the split, add all the fields you want from your original feature class to your new feature class. You now you have the basis with which to perform a Many to One join: Your new feature class will have many instances of to original Key value, while the original feature class has only one instance of the Key value.
With the join in place:
Calculate NewFeatureField_A = OldFeatureField_A
Calculate NewFeatureField_B = OldFeatureField_B
Calculate NewFeatureField_C = OldFeatureField_C
And remove the join when you are done.
You can add your own ID field if you like. See a post of mine that discusses GUIDs: Calculate a GUID Field with a value
Have you looked at the Water Geometric Network Editing & Analysis tools? One tool--Split Lines At Selected Points--does exactly what you're asking for, without generating a separate output. When I use it, the only attributes that change are SHAPE_Length and Last Update Date (because I'm using editor tracking).
I can verify the ArcGIS Solutions tools is the way to go. You can even define if and how to create new IDs when you use the tool (I preserve our Facility IDs as it is still the same single asset, but a new GUID gets generated for our REST service and for linking to our Hydraulic Model).
But I'm wondering about the origin of you question, Brian: Are you finding that splitting the mains at the valve is a requirement of the tracing tool, even when your mains are designated as complex edges? I thought that a flag/barrier could be created at each closed valve even if it's not at the junction of two lines?
(PS: splitting the lines at the valves was a prerequisite of our previous hydraulic model, but I'm wondering if it's not always necessary in a geometric network with complex edges, or even the new Utility Network).