What geoprocessing tool to use for analysis of multiple line feature classes?

2169
5
Jump to solution
05-04-2017 10:15 AM
JustinKing1
New Contributor II

I have many line feature classes that I am trying to use in an analysis. For sake of the question I will just use a basic example.

I have a line feature class of State Roads for the state of Florida. I also have a line feature class that shows where the divided sections of roadway are. I would like to split the State Road lines using the divided roadway feature class while keeping the attributes for the divided roadway feature class.

In the picture below, the red lines represent the divided roadway feature class and the green lines represent the State Roads feature class. So I would like the green line to break into three segments using the red lines. I would like to retain the information in the table from both feature classes so I can easily discern where the divided roadways are along state roads, using 1 feature class.

0 Kudos
1 Solution

Accepted Solutions
ChrisDonohue__GISP
MVP Alum

A big reason it would not work is if the linework between the two feature clases is not coincident. A quick way to see if they are coincident is to run Symmetrical Difference (note:  requires Advanced license).  Then check the output - if there are lots of records from the Divided Roadway feature class in the result, there is probably an issue with coincidence. 

Symmetrical Difference—Help | ArcGIS Desktop 

Topology is another way to see if it linework is coincident. Try building a geodatabase topology with both your feature classes and employing the Rule "Must be Covered By Feature Class of".

Geodatabase topology rules and topology error fixes—Help | ArcGIS for Desktop 

If the linework turns out not to be coincident, consider using the Integrate geoprocessing tool to resolve this.  Be sure to make a copies of your data first, as Integrate modifies the original data (instead of creating a new feature class output like most tools).  Also, it often takes a few attempts with different XY tolerances set to find the one that provides the best result with minimal distortion issues.

Integrate—Data Management toolbox | ArcGIS Desktop 

Finally, since you are working with street data, you may also want to check out this tool recently created by Tim Witt.  While it will not directly resolve the task you have, it is handy for other aspects of street data, as it automates topology / issue detection.  Bonus - he's in Brevard County, Florida, so may be able to provide street better data, at least for the county he works for.

Topology Check Python AddIn (5/2/17) 

Also, there are several other ways to edit street data if the afforementioned isn't working out for what you want to do.  If that is the case, mention it here and what is/is not working, and we can appeal to some of the hard-core street editing folks here in GeoNet for their advice.

Chris Donohue, GISP

View solution in original post

5 Replies
ChrisDonohue__GISP
MVP Alum

Some possibilities:

One could do a Spatial Join:

Spatial Join—Help | ArcGIS for Desktop 

Another possibility is to do an Identity.  Note, however, that an Advanced license is needed for Identity.

Identity—Help | ArcGIS for Desktop 

Note that if your linework is not coincident, there could be some issues with using either of these.  In that case, you may need to run Integrate first.  One caution - Integrate modifies the source data (instead of creating a new output), so make copies of your data first and run Integrate on the copies.

Integrate—Help | ArcGIS for Desktop 

Chris Donohue, GISP

JustinKing1
New Contributor II

Thank you for answering Chris. The problem I am having is that the attributes from the divided roadway feature class are being added to the entire line that they intersect with the state roads feature class, but this is incorrect. Only a portion of the state road is divided, that's why I was seeing if there was a way to split the state road based on the divided feature class. 

Since my data is the entire state of Florida, there's no way I could split the state road class at each divided segment, there are over 10,000 segments. Was hoping there was a tool that would do the splitting for me. There could be an opportunity for a script to automate the process but I am not that familiar with script writing unfortunately. 

0 Kudos
ChrisDonohue__GISP
MVP Alum

I would try the Identity (Analysis) geoprocessing tool if you have access to an Advanced ArcGIS Desktop License.  I just ran a test dataset and it worked well.  In the tool dialogue, for the "Input Features", use the State Roads feature class and for the "Identity Features", use the Divided Highways feature class.

Note that you will likely want to do some followup table cleanup after running the Identity.  For example, it is likely you will want to delete the resulting FID field (created as part of the Identity processing).

Identity—Help | ArcGIS for Desktop 

Another different way to tackle this would be to use Feature Vertices to Points with the output option set to "Both Ends" on your Divided Highway line segments to generate points, then use the those points to split your State Highway lines using the Split Line at Point tool.  Note that both tools require an Advanced license.  This will get the linework in order, then you will need to do a Spatial Join, or selections and manually calculate values to populate the attributes in the new output.

Feature Vertices To Points—Data Management toolbox | ArcGIS Desktop 

Split Line at Point—Help | ArcGIS for Desktop 

Chris Donohue, GISP

JustinKing1
New Contributor II

Chris I really appreciate the help. The Identity tool and the second option both will get the job done. One more question. I tested the Identity tool with the original two line files that I had and it did not split the state roads line as in your example. I tried it using a different line file and it worked. Are there any reasons why the Identity tool did not work on the original line file? The line was originally a PolylineM, but I converted it to a Polyline and disabled the M and Z fields, but still it won't split as in your example.

Again, thanks so much. 

0 Kudos
ChrisDonohue__GISP
MVP Alum

A big reason it would not work is if the linework between the two feature clases is not coincident. A quick way to see if they are coincident is to run Symmetrical Difference (note:  requires Advanced license).  Then check the output - if there are lots of records from the Divided Roadway feature class in the result, there is probably an issue with coincidence. 

Symmetrical Difference—Help | ArcGIS Desktop 

Topology is another way to see if it linework is coincident. Try building a geodatabase topology with both your feature classes and employing the Rule "Must be Covered By Feature Class of".

Geodatabase topology rules and topology error fixes—Help | ArcGIS for Desktop 

If the linework turns out not to be coincident, consider using the Integrate geoprocessing tool to resolve this.  Be sure to make a copies of your data first, as Integrate modifies the original data (instead of creating a new feature class output like most tools).  Also, it often takes a few attempts with different XY tolerances set to find the one that provides the best result with minimal distortion issues.

Integrate—Data Management toolbox | ArcGIS Desktop 

Finally, since you are working with street data, you may also want to check out this tool recently created by Tim Witt.  While it will not directly resolve the task you have, it is handy for other aspects of street data, as it automates topology / issue detection.  Bonus - he's in Brevard County, Florida, so may be able to provide street better data, at least for the county he works for.

Topology Check Python AddIn (5/2/17) 

Also, there are several other ways to edit street data if the afforementioned isn't working out for what you want to do.  If that is the case, mention it here and what is/is not working, and we can appeal to some of the hard-core street editing folks here in GeoNet for their advice.

Chris Donohue, GISP