Create a Schematic Map for a Railroad Line

5672
6
01-03-2023 10:40 AM
JimBarry
Esri Regular Contributor
4 6 5,672

 

geographic and schematic rail mapgeographic and schematic rail map

When you have railroad data, it's often not only important to maintain your GIS data in geographic space but it's also important to be able to display your data in a schematic diagram. Many railroad organizations maintain their geographic data in a GIS separate from the tools and database they use for their schematic maps and track charts, with different editing processes and tempos. It's very easy to get them out of date and out of sync.

Slide15.JPG

In order to create a schematic view that makes sense and is intuitive to your users, it takes a bit of editing to your data to add the network attributes to tell the schematic diagram tools how these tracks relate to one another.

Slide16.JPG

Here is a section of my railroad that I want to create a schematic map for.

Here in this Feature Dataset are layers for my railroad track lines and my switch devices for controlling the flow of trains thru the system. Before we can diagram our network, we need to build a trace network.

Slide17.JPG

Here I'm going to be using the new Trace Network tools that are included in ArcGIS Pro.

It used to be if you wanted to create schematic diagram maps, you needed to use ArcGIS Utility Network or ArcGIS Schematics.

But starting with version 2.6 back in 2020, you get this new "Trace Network Tools" toolbox. With this, not only can I perform some basic routing, tracing, and flow operations, but I can also use diagram tools for generating my schematic map.

This toolbox here has everything I need.

Slide19.JPG

Before I can go too far, I need to create Network Attributes that represent the hierarchy of tracks when we get into areas that are a bit more complicated, like spurs, loops, turnouts, yards, and such.

Slide20.JPG

At a minimum, I need point and polyline feature classes. To start small, I'm using a polyline feature class of track, and a point feature class of track switches. Trace network needs these two feature classes to be in a Feature Dataset, and from there you can use the Create Trace Network tool.

Slide21.JPG

When you drag the new Trace Network into the map, you get a few trace network editing layers to help you find and resolve topology errors.

Slide22.JPG

So I select the tracks I want to diagram, selected here in teal.

Slide23.JPG

Then once your topology errors are resolved, and the topology is clean, you can create a new diagram. Then when that is built, you can apply a diagram template to it

The Apply Relative Mainline Diagram tool is specifically designed for railroads, once that's applied, then you end up with a diagram that looks...

Slide24.JPG

...like this.

Because we did a decent job with the network attributes, we ended up with a schematic that is clean and intuitively useful. Of course the Y-axis is blown up a bit to make things clear, it is important to note that the X-axis, both the track and the position of the switches are all to scale. Keeping the x-axis to scale can be important if you want to export your diagram to your Track Chart editing workflow, since track charts typically want to keep the x-axis distances to scale.

Slide25.JPG

Once I'm happy with the diagram, I can export it into its own regular feature classes and then apply the same calibration points to it, so that I can apply a Linear Location Referencing System to it just like the geographic data.

If I want, I can even bring the schematic map into the same map. We have seen a few railroads that like to work with the geographic and schematic data side by side in the GIS like this. You don't have to do this, but it's an option if that's what you want.

Slide26.JPG

Here's another example of applying the same tools and techniques. This time on the LA Metro transit rail network. Same thing. We convert the rail and switches into a schematic, but we keep the x-axis to scale.

If you would like to see a video walk-through of this process, check out this video here.

***2023-09-18: Here is a more up-to-date video with more detailed information.

Let me know in the comments below if you have any questions or comments about this! Thanks!

6 Comments
GoWest
by
Regular Contributor

Good stuff! 
Can you make a Track Chart out of the trace network?  Maybe you need Arc Schematics for that?


JimBarry
Esri Regular Contributor

A few years ago, yes.  But these days I wouldn't recommend ArcGIS Schematics unless you're already using it and are happy with it, alongside ArcMap.

These days, with ArcGIS Pro, you can use a combination of Trace Network tools (or Utility Network) and Network Diagram tools, specifically the Apply Relative Mainline diagram layout tool.  Once you have the diagram, if you want you can bring it into a Layout, say, 5 miles at a time using Map Series, if you're trying to make, say, 5 mile sheets like we often see with track charts, at least in the US.

matteatsbrainz
New Contributor

Hey Jim, I hope you are doing well. Bit of a green geospatial mapper here so, sorry if this is a silly question. I have some track data that I am trying to create a map schematic of, however I don't quite understand how you created your Network Attributes that represent the hierarchy of tracks?

JimBarry
Esri Regular Contributor

Hi Matt:

Well, that's where it starts to get a little bit more art than science.  There's no one single way to add network attribute values to your track lines.  Sometimes it's a bit of trial and error.  The graphic further above in this article shows one example. Basically you start by adding a column to your tracks feature class' attribute table.  I typically call mine "NetAttribs".  Then I add a value to each track from 1 to N, giving each track a value that roughly represents how far that track is, perpendicularly from the main line. 

So the main line track would be 1, and if there's another main track parallel to it, that would be a 3, and any crossovers between those two tracks would be a 2.  Then counting out to the left and to the right, the first spur or siding loop just off those main lines would be a 5, and any crossovers between the mainline and that first spur or siding loop would be a 4.  Then, depending on how many tracks are laid out parallel to the main tracks, just count those out in increments of 2, using the number in between to handle crossovers between parallel tracks.  This can start to get a bit hair when you're dealing with rail yards, but you may need to get creative and try a few different sets of values until the end result created by the Apply Relative Mainline network diagram layout tool gives you the end result you're looking for.

The graphic above takes a slightly different approach, but while neither approach is definitively right or wrong, you'll find that different approaches produce slightly different results.  So it really comes down to what you want the end result to look like.  And that varies quite a bit, given that the arrangement of track out in the world can vary quite a bit.

For more information, see Appendix A, in the ArcGIS Railroad Data Model documentation.  There's also a video which goes into this in a bit more detail.

Once you're done editing this NetAttribs column, then you can use these steps to add the network attribute to the trace network:

1. Disable Network Topology

2. Add Network Attribute

3. Set Network Attribute

4. Enable Network Topology

5. Validate Network Topology

Then after you build a basic diagram, you can then run the Apply Relative Mainline Layout network diagram tool and use your new network attribute as the "Line Attribute" parameter and the "Line Classification > Type Attribute" parameter.

If you ever wanted to do a screen share walk through on this, feel free to reach out to me directly at jbarry@esri.com

matteatsbrainz
New Contributor

Thanks Jim, that seems to have completely solved it and I'm now getting very pretty track diagrams. I believe there will be a way I could create a python code to assign track hierarchy automatically using this logic. Thank you so much for your help!image.png

JimBarry
Esri Regular Contributor

That looks great.  I have had folks ask me in the past if the editing in of the network attribute values could be automated in some way, rather than manually adding a value to each and every polyline.  If you find that you can sort that out, that would be great.  Or perhaps you can automate it so that maybe 90% of the values come out well, and only a small percentage need some manual tweaking.  Good luck with that.

As for the screen grab you included above, to me it looks great with the exception of the tiny segment circled in red here below.  I think I would like to see that segment go straight along the main track rather than jog down at an angle like that.  I bet that's something you can fix by adjusting the network attribute value so that it matches the main line, if you find that it actually matches the value of the crossover?

schematic.jpg

Contributors
About the Author
https://x.com/jimbarry