# How to convert 2d polylines to 3d polylines in ArcGIS desktop?

I have some normal 2d polylines for river cross sections. These polylines are 2d and do not contain elevations. I have profile elevation for each cross sections. something like this : cross section 1:

``````       station   elevation
0       963.04
27.2    963.04
32.64   963.02
38.08   962.85
43.52   962.71
54.4    962.71
59.84   962.61
65.28   962.47
70.72   962.23

cross section 2 :
Station   Elevation
0       959.43
5.39    959.43
10.77   959.41
16.16   959.22
21.55   959.1
48.48   959.1
53.86   959.15
59.25   959.28
64.64   959.43
134.66  959.43

cross section 3
and so forth....
``````

How can I impose these points on my 2d polylines and transfer them to 3d ones ?

• Do you want to 'drape' them over a DEM? If so the 3d analyst tool Add Surface Information is your friend help.arcgis.com/EN/ARCGISDESKTOP/10.0/HELP/index.html#/… if not, where would you be getting the Z's from? May 12, 2016 at 0:45
• No i just need 3d polylines. The z value are in profiles. For example the length of cross section 1 is 70.72 m. the elevation of this cross section at 0 in the cross section is 963.04 m, the elevation at 27.2 is 963.04 and so forth.
– Mike
May 12, 2016 at 0:55
• Adding elevations at chainages is more difficult than it sounds, do you have any python ability? May 12, 2016 at 1:09
• Unfortunately no :(
– Mike
May 12, 2016 at 1:26
• Then it would be best to get the DEM the data was derived from and 'drape' the line, the only other way to do this is to export the points to a table, add a column for Z values, populate the Z values manually (knowing that they wont line up exactly so you'll need to interpolate), create event points from X,Y,Z coordinates then use points to line. That's basically what you'd do in a script, only much quicker. May 12, 2016 at 2:15

Was your transect data (the line) derived from some information that identifies the start and end location with coordinates? If you can ensure the line directionality is consistent with the direction the surveys were conducted (check a few). This isn't that bad... relatively..in any method I can think of you will have to manually verify directionality on each transect... or trust in probability and verify some subset.

First join the line feature to a table of the cross-section total lengths. These should be the same as the geometery length of the feature. If they are not you will need to figure out why. Sometimes distance measurements represent paths over the ground and are closer to 3D distances, but that should not be your case. The transects could go beyond the edges of the river though.

You will then need to convert your lines to routes using the Linear referencing toolbox (Create Routes) and ensure the directionality is correct in the measures.

Then you will make a route event (Right click on your routed line in the TOC)out of your length along transect/elevation table and export that to a point theme.

You can then use the points with the elevation value to convert your transect lines to a 3D feature. I can think of a couple of ways, but the quick and dirty would just be to make a TIN out of the 3D points and run the transect lines through the Interpolate Shape tool with this TIN.

• Thanks Mike for your response. I was wondering where I should I use the profile elevation in your approach.
– Mike
May 13, 2016 at 1:09
• Once you have created a route from your transect lines and add your table to the map you can right click on the table and select "Display Route Events" references. In the dialogue specify the routed line theme(Route Reference), the transect ID field (Route Identifier), the transect ID field in the distance/depth table, Point Events, and whatever you name your field for the distance along the transect (Measure). You will get a point event layer with the elevation as an attribute.
– Mike
May 13, 2016 at 15:41
• You will need to add a third field to your Station/Elevation table so that it has the transect ID as a field for each record as well
– Mike
May 13, 2016 at 15:48