SnakeGrid is a projected coordinate system specifically designed for large scale linear engineering and mapping projects.
If you’ve worked on large engineering projects that span over long but narrow surfaces, you probably have had difficulties using projected coordinate systems in your surveys.
As projects grow larger, above a few kilometres in extent, it becomes impossible to fit the curved surface of the Earth onto a flat coordinate system without distortion.
Surveyors and engineers usually have to use correction factors to account for the difference between 2D plans and the real surface of the earth. With this, though, comes the possibility of mistakes. And is difficult task to undertake for very long projects.
One tool commonly used (at least in the UK) to combat such difficulties and create a low distortion projected coordinate system is called SnakeGrid.
In this article I will explore the meaning of SnakeGrid. I will go over topics like: what is the Snake Grid Coordinate System, what are SnakeGrid coordinates, what are the Snake Grid types out there and SnakeGrid converter software.
What is SnakeGrid?
Map projections are an essential component of coordinate systems used in applications such as surveying, topographic, mapping, and civil engineering. And great care needs to be taken to select ones that minimize distortion for each case.
SnakeGrid (or Snake Grid) is a projected coordinate system specifically designed for large scale linear engineering and mapping projects. By large scale linear engineering and mapping projects I mean projects that extent in a linear (or corridor) configuration over long distances, such as railways and highways (or motorways).
A very popular example of such a project is the High Speed Two infrastructure project in the UK, also known as the (in)famous HS2.
For projects like the these, the curvature of the Earth is significant and conventional mapping and coordinate systems have to introduce distortions in order to be able to represent the work on a horizontal plane. This then leads to problems when relating 2D designs to the actual construction on the ground.
SnakeGrid gets around this by “unpeeling” the Earth along the length of the project, a bit like unpeeling an apple or an orange – but using mathematical algorithms, rather than a knife!SnakeGrid | UCL by Dr. Jonathan Iliffe
In order to get around this limitation, the SnakeGrid algorithm provides a single consistent projected coordinate system with a scale factor within a few parts per million of unity all along the corridor. And this extends transversally, for several kilometres on either side.
Often I have noticed that there is a bit of ambiguity when it comes to the meaning of Snake Grid. The term actually is a concept developed at UCL (University College London). It encompasses the algorithm used to create low-distortion coordinate systems, as well as the multitude of grids that have already been developed using this algorithm.
When it comes to actual coordinate systems, there are a many grids already defined. These are all called SnakeGrids, but they aren’t interchangeable.
As I have already mentioned previously, the Snake Grid Coordinate System is near-zero distortion grid coordinate system for projects such as railways or pipelines that extend for hundreds of kilometres.
This means that all computations on the project can be treated using a “flat earth” assumption, eliminating the need for corrections and adjustments. Thus reducing the possibility of costly misunderstandings.
Keep in mind that SnakeGrid Coordinates inherit datum of the geographic coordinates from which they are derived. The coordinate conversion process will not alter the heights of the input points.
Although the Snake Grids are designed in 3 dimensions, the heights are only used to make the horizontal scale factor approximately equal to unity at ground height for the entire route. However, these coordinates are purely two-dimensional, only defining Eastings and Northings.
Because SnakeGrid Coordinates are are ultimately derived from GNSS surveys, the GRS80 ellipsoidal parameters are assumed. Although the grid can be used with any modern datum that is related to WGS84 or ITRF, such as NAD83 or ODN.
In practice, a lot of the coordinates within the UK are defined with heights in Ordnance Datum Newlyn (ODN), rather than ellipsoidal heights.
The original name of SnakeGrid was RailGrid. However, the name was changed as it is based on the Snake Projection. And, in reality, it can have applications beyond rail projects.
Below is a timeline of how RailGrid as evolved into the SnakeGrid over the years.
The very beginning of the concept, this was an internal prototype which was never formally released outside UCL.
This was the first version publicly available for use. Although it was only applicable on the London to Glasgow West Coast Main line. The grid for this was commonly referred to as WCG05.
A very rudimentary software, it still allowed for transformation of points between ETRS89 and WCG2005 coordinate systems. Coordinates could have been converted as either individual points, or in batch from an input text file.
A bit more flexible in its use, the v3 application allowed for an input of a parameter file that is used to define a different type of SnakeGrid coordinate system.
When using RailGrid v3, the parameter file has to be included in the same location with the program executable, and the software will read it at launch. The example above is for the coordinate transformation software configured with the parameter file for the ECM5 Snake Grid.
Version 4 of the SnakeGrid Software consisted of a significant re-development of the algorithms to incorporate several new features. In particular, the new design allowed for faster processing speeds and more flexible grid designs. All new grids created from 2008 onwards are defined for Version 4 of the software.
SnakeGrid v4.0.2 was only a minor update to the v4.0.1 algorithm. An improvement of the base v4 algorithms which gave better scale factor characteristics at large distances from the trend line.
Version 4.0.2 was used on all snake grids developed after April 2016.
Or short for the Alternative SnakeGrid Algorithms.
SnakeGrid v4.0.1 was originally developed without backward compatibility with previous versions of the grid. Hence the new v4 algorithms could not read the old parameter files.
In order to overcome this limitation, the “ASA” algorithm has been developed which uses ASA parameter files for the older grids.
A good reason to use ASA algorithms with more recent grids would be to handle situations where grids merged at a junction.
This iteration of the algorithm is a combination of all the above algorithms. The software is able to identify whether a parameter file is a standard v4 one (which calls the v4.0.1 or v4.0.2 algorithm) or an ASA one (which calls the ASA algorithms).
As of August 2022, this is the latest version of the SnakeGrid software. In essence, it is v4.1.1, but it incorporates SnakeGrid Local.
Version 4.1.2 also adds support for a multitude of coordinate systems including the Ordnance Survey National Grid (OSGB36 with the OSGN02 transformation), Universal Transverse Mercator (UTM), London Survey Grid (LSG), and the State Plane Coordinate System (SPCS).
As you can see, the PointWise software and associated algorithms have evolved a lot since their inception. The latest version is the most versatile yet, offering a lot of flexibility and options for transforming coordinates between grids.
The SnakeGrid family of products provides a comprehensive solution to a significant problem in engineering surveying – the design of a coordinate system with minimal scale factor and height distortion, even when projects extend for many hundreds of kilometres.
As discussed in the previous section, whenever a new version of the algorithm came out, the SnakeGrid Converter Software was also updated. Let’s have a more detailed look on them and see which one you should use and when.
RailGrid (v1, v2, v3)
RailGrid is the very first software that came out. It was rudimentary, limited but it got the job done. Version 1 was never publicly released so we can simply ignore it.
Versions 2 and 3, however, were released and are still in circulation. You might have difficulties getting a copy though, as they are pretty much obsolete and as of v4.1.1 of the SnakeGrid PointWise software, you can simply use ASA files to convert from older systems.
Most likely you won’t need to use them again nowadays.
When it comes to SnakeGrid conversion of coordinates, PointWise is the go-to software you should probably use.
What is PointWise?
SnakeGrid PointWise is the basic tool for converting coordinate sets between ellipsoidal (latitude and longitude) systems and SnakeGrid Eastings and Northings. Input/Output is in a variety of pre-set formats and the required SnakeGrid parameter file is loaded up by the user.
The formats supported include different variations on decimal or degrees/minutes/seconds, and versions with or without ID strings, or accompanying height values, and with optional text strings.
When to use?
This tool can be used for single point manual entry or batch coordinate transformations from text files, and not for structured data.
Latitude and Longitude coordinates will not necessarily be of interest in themselves for most users, but these can then be transformed into another coordinate system – for example a different SnakeGrid where one project meets another, or a national coordinate system such as Ordnance Survey National Grid.
An example of when you might want to use PointWise software is if you want to transform from OS to SnakeGrid or, viceversa, from SnakeGrid to OS Grid.
How to get it?
The PointWise software is free to use. If you want to get a copy of the latest version (v4.1.2 at the time of writing this article), you can go to the official site where you can read more about it and you will also find a SnakeGrid PointWise Download link.
If you’re using Bentley MicroStation ™ for your CAD work, then SnakeGrid Transformer is the plug-in you’ll need.
What is SnakeGrid Transformer?
It is a MicroStation™ add-on that converts data between several different coordinate systems, including any required SnakeGrid as well as others such as the London Survey Grid, Ordnance Survey National Grid, and some local engineering site grids.
This plugin will work with all the elements within the native DNG file format for MicroStation.
The MicroStation elements are converted according to a set of user-definable rules. Vector maps are dynamically converted to the correct grid and raster maps are transformed with a multi-point warping algorithm.
No information is lost when files are converted. All symbology and user attributes (e.g. database linkages) are retained.
When to use?
The common use scenario for SnakeGrid Transformer is when you are working within Bentley MicroStation and you want to transform your drawings to and from a SnakeGrid.
How to get it?
This piece of software is licensed to users on an annual basis (no fixed price), so you cannot simply download it. Get in touch with the developers for a quote on the latest licence fee.
You can read more details about it on the official page.
If you are using the Feature Manipulation Engine (or FME) versions 2012 onwards, then you’ll probably want to use SnakeGrid Projector (also referred as SnakeGrid FME) to transform your features.
What is SnakeGrid Projector?
SnakeGrid Projector is a plugin for FME Desktop and FME Server. The plugin permits transformation of data within FME Software, in any of its supported formats, including CAD, raster, point clouds, shape files, etc. to and from the SnakeGrid coordinate systems.
Conversions can be made with Geodetic Latitude and Longitude, the US State Plane, British National Grid (OSGB36), the London Survey Grid and all UTM zones.
The plugin supports all the functionality of Feature Manipulation Engine and any of its supported data formats. These include CAD files (e.g. DXF, DGN and DWG), raster, point clouds, shape files, and many more.
When to use?
You should use this plugin if you are a user of FME Desktop or FME Server. This will improve your workflow and add efficiency in transforming your existing graphical data.
How to get it?
There are two flavours of this plugin for FME, depending on the environment you’re using. These are FME Desktop and FME Server. More details on Projector can be found on the official website. Keep in mind that these are both paid plugins.
SnakeGrid Projector for FME Desktop currently costs £500 (excl. VAT) for a 12 month license.
SnakeGrid Projector for FME Server currently costs £2,500 (excl. VAT) for a 12 month license.
Additional plugin: SnakeGrid Object
There is another plugin that comes bundled in with Projector for FME. And this is called SnakeGrid Object. In short, this allows to either transform vertices individually (causing distortion of objects) or transform complex objects as a whole (constituent elements will not be distorted).
To find out why you would use this plugin, see the following video:
Engineering projects often have local coordinate systems defined on site. However, there is no correspondence between these Local Engineering Coordinate Systems and Defined Coordinate Systems such as ETRS89 , OSGB36 or NAD83.
What is SnakeGrid Local?
In short, it is a FME Desktop plugin that allows the user to create a SnakeGrid parameter file to recreate a local engineering grid and establish its relationship to other coordinate systems.
In order to use it, you input control point features in the local grid and in geodetic coordinates. The plugin will then define a locally tailored Transverse Mercator projection and a best fit similarity transformation.
The output results are a SnakeGrid parameter file (.dat), HTML report of results and point features with the data residuals as attributes.
When to use?
Use this plugin when you have a Local Coordinate System defined and you want to create a SnakeGrid parameter file to recreate the grid and establish its relationship to other coordinate systems.
How to get it?
You can download this plugin for FME Desktop and use it free of charge from the UCLB XIP Website.
This article has covered a lot of ground and, hopefully, has given you a deeper understanding of SnakeGrids and how they are used.
If you are interested in a tutorial on how to convert coordinates to and from SnakeGrid, you can read the follow article about SnakeGrid Coordinate Conversion.
Please leave a comment if you have any questions.
[…] If you are interested in a further explanation of SnakeGrid and the concept behind it, you can read my other article SnakeGrid – The Ultimate Guide. […]