I'm looking to create a more informative 3D Profile than appears possible with vanilla Arc tools. Honestly I'm kinda surprised that this doesn't exist, maybe I'm searching the wrong terms.

Situation: I have a Pipeline made up of sections, there are many sections, topology is touching, but it's not a network. At intervals along the pipeline there are fittings (stored as 3D points, snapped to the polylines).

Outcome: I'd like a image showing the elevation profile of the pipeline selected, the fittings along the pipeline, any intersecting polylines and various attributes (ID, elevation, chainage).

Something like this: Profile example

Currently I'm doing this manually using GlobalMapper (which displays lines crossing the input on it's 3D profile) and PowerPoint (labels).

I'd like a way to do this within Arc, or with python, in such a way it can be incorporated into data driven pages, or at least automated to the point I can give a script a whole network and have it dump out sanely-named jpegs.


  • ArcMap 10.6, basic and standard licences, 3D Analyst, Spatial Analyst
  • 1m DEM
  • 3D polylines and points in a FGDB
  • Reasonably strict IT system - additional python libraries are okay, a full software package is okay, adding VBA to Arc is a PITA

Things I've tried:

  1. Asking ESRI
  2. Searching here and on Google
  3. Searching ESRI's community pages
  4. QGIS plug-ins

I found:

  1. Xacto Cross Section Tool (a possibility, but requires VB libraries)
  2. https://crossviewgis.com/ (a possibility, but I have to exhaust other avenues first)
  3. https://geogeek.xyz/how-to-make-a-fancy-elevation-profile-including-xy-points.html - very, very close to what I want, but as manual as my current workflow

I'm not scared of python, but I'll need a little more than the name of a library and some pseudo code to get a result.

We have QGIS, again I'd need a reasonably detailed run down of ant proposed process.

I wondered if there was a way to fake things by adding an XY plot to the profile?

Anything considered, even "that's too hard, don't bother"

  • Matplotlib comes with ArcGis, why it is not an option? – FelixIP Dec 20 '18 at 6:35
  • This is the first I've heard of Matplotlib, but this looks like it could solve the problem. Looking at it, it looks very comprehensive in terms of capability and documentation, but there's no obvious places to start with this specific issue. I'll try and find some tutorials or examples I can crib from, but I'm thinking this is one of those situations where I'll have to hack a bunch of stuff together from scratch. – Bob Rye Jan 1 '19 at 22:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.