What is Z-Transform from MGISS?
This autumn, MGISS will be releasing a major update to our Z-Transform product. In this blog I will take a look under the hood: what is Z-Transform, and what has changed with the update?
Z-Transform is a tool that extends the capability of the Esri ArcGIS Field Maps app. When asset locations are captured using centimetre-level GNSS equipment, the asset is normally represented by in ArcGIS Online as a 2D geometrical point in the local coordinate reference system. i.e. British National Grid, but this 2D point is missing the vertical component. The Z-Transform application overcomes this problem but reading GNSS metadata, calculating the elevation above Ordnance Datum and replacing the geometry with a 3D point. To find out more information on Z-Transform go to the MGISS product webpage here.The application consists of three parts:
1. The Transformation
2. The Watcher
3. The User Interface
The Transformation
The first part of the program is a function that takes the GNSS latitude and longitude of a position in ETRS89 and projects the coordinate into Transverse Mercator. This Transverse Mercator coordinate is used to look up values from a table of 1km cells which are then interpolated to calculate easting, northing and elevation offsets which shift the GNSS position into British National Grid with a height relative the relevant Ordnance Datum. For the island of Great Britain and immediately adjacent islands (i.e. Anglesey, Isle of Wight and most of the Inner Hebrides) this will be Ordnance Datum Newlyn (ODN). This datum corresponds to mean sea level as measured by the tidal observatory at the end of Newlyn pier in 1921. Other datums are used for the Scillies, Lundy, the Isle of Man, and the Scottish islands not covered by Newlyn.
This transformation function has not fundamentally changed from the first version of Z-Transform which follows the workflow published by Ordnance Survey. To read a short explanation of why we use different datums, and how we transform between coordinate reference systems, why not read my earlier blog “Why we need to Transform”.
The Watcher
The second function of the program is a watcher service. This function watches a list of hosted feature layers in ArcGIS Online, as specified by the user and identifies any new or updated features within those layers. Once a change has been identified, the watcher service reads the latitude, longitude and altitude of the feature, which is stored in certain metadata fields and obtains the easting, northing and elevation from the transformation function as previously described. These values are written into three attribute fields, as specified by the administrator, while at the same time updating the point geometry with the newly transformed height value.
While this component of Z-Transform is broadly the same as before, there are two major changes. Firstly, Z-Transform is now expanded to watch multiple feature layers in ArcGIS Online, whereas the program has previously been restricted to working with single-layer projects. The other major change is that the program now uses ArcGIS Pro to schedule how often the hosted feature layers are watched. This avoids running the program in a continuous loop, improving overall performance and efficiency whilst retaining near real-time transformations.
The User Interface
Platform
The biggest change that users will see with the new version, is that Z-Transform now runs as a plugin toolbox within ArcGIS Pro. This gets away from any administration issues that might be experienced when running an .EXE executable direct from the operating system.
A second advantage of using ArcGIS Pro, is that Toolbox programs can use features within the platform to sign-in to ArcGIS Online. In this way, users can sign-in with their Single Sign On credentials instead of using a less secure username and password.
Interface
The first version Z-Transform used the Tkinter library to implement a rudimentary Graphical User Interface. By being part of ArcGIS Pro, the tools can be accessed from a ribbon toolbar and the ArcGIS Pro geoprocessing pane. Furthermore, the tool panel parameter inputs now have access to native ArcGIS Pro interactive dialogs providing a familiar user interface to access feature layers hosted in ArcGIS Online. When a user is unsure about how to use the Z-Transform tools, information panels and tooltip popups are immediately accessible to guide them.
Stored information
A new innovation, developed for the new version, is to store the list of hosted feature layers being watched as an online table rather than as a local file. This allows the tool to be managed by any authorised person from their browser.
In the same way, rather than writing log output to a local file, log output is also written to an ArcGIS Online table. This permits logs to be read without logging in remotely to the PC or virtual machine running ArcGIS Pro.
Code Untangling
One of the upsides of re-writing the Z-Transform code is that the three component functions of the original program have now been untangled into stand-alone modules. The code is now highly portable and can be easily rewritten to work on different platforms and with different front-ends. The opportunity also exists to customise the Z-Transform toolbox to meet new requirements if they are required.
In summary, the latest version of Z-Transform promises to be much more integrated with the ArcGIS Pro platform. It is more secure and more stable and more accessible than its predecessor and going forward will be more flexible to the user’s requirements. If you would like to try out Z-Transform on your ArcGIS Hosted Feature Layers, then get in touch with our sales team to find out more.
About
Starting as a university cadet in the Royal Navy, Gareth pursued his passion for engineering, navigation and sailing working as a marine engineer and marine solicitor after graduation. Before joining MGISS, Gareth returned to university to study for an MSc in Geospatial Information Science, which led to researching Building Information Modelling and Geographic Information Systems (BIM/GIS) interoperability as part of a PhD.