I have two layers, one with polylines representing cables in the ground and one layer of the land cover. The cable data consists of around 200 different objects, all with an ID and a total length. I would like to get to know which types of land cover each cable cuts through and I need it to be connected to the line's ID.

I've tried to do an intersect with the line layer and the land cover layer but the problem then is that when one line cuts through more than one type of land cover I get several different polylines for that feature. I would prefer if I could get the different land cover types as fields in the attribute table so that I can see how much each cable crosses each land type


2 Answers 2


After Intersection Dissolve with Cable ID and Land cover as Dissolve Fields and with Create Multipart features checked:

Creates a new coverage by merging adjacent polygons, lines, or regions that have the same value for a specified item.

Then use output from Dissolve in Pivot Table:

Creates a table from the input table by reducing redundancy in records and flattening one-to-many relationships.

With Cable ID as Input Field, Land cover category as Pivot Field and Shape_Length as Value Field.

= rows become columns. Then join this back to the original Cable feature class. To make the join permanent use Copy Features.


You could use tabulate intersection in your case. This will provide a table with the length of intersection for each line and the percetange of each line intersecting each class. However, this will be stored in a table with multiple entries for each line. so you will also need the last steps of @BERA's answer if you want everything in the same table (PIVOT table then join table). otherwise, you could also consider using "relate table" for this one to many relationship.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.