Dealing with Non-standard Coordinate Systems in Tableau

The Problem

Have you ever come across a spatial file (*.shp) that has a geometry field that's just slightly in the wrong format, so you can make use of it in general, but you can't perform all the operations on it that you might need? No problem, you think, let's just switch to using the coordinates directly. But unfortunately they're in some odd format, seemingly unusable for the MAKEPOINT() function.

For example, imagine you have two spatial files with a set of coordinates each and need to work with the geodata in both. But during data prep you realize that file A's geometry field is in the format 'MultiPoint' while file B's geometry is of the type 'Point'. To make it a little more interesting, let's say you want to show only the points in file B that are within a 100m radius of file A, and then display the distances of each.

The Spatial Join

So to relate them with one another you perform a spatial join, as shown here. To read file A's geometry as an area, you add a BUFFER() function, as shown in the picture. If you now join on 'Intersects', you get a joined data source of the locations of both files. So far it all works well despite the difference in the format.

Trying the Distance Calculation

Next up is calculating the distances. As described in Tableau's spatial docs, the DISTANCE() function is what's needed here. This is where the trouble starts though. Calling DISTANCE([Geometry (File A)], [Geometry (File B)], 'm') doesn't throw an error. Unfortunately it doesn't yield anything either. Because of the difference in the geometry format (Point <-> MultiPoint), you'll be left with a column of NULLs.

Coordinates as Fallback

Luckily in Tableau you can create your own spatial points using the MAKEPOINT() function, which takes longitude and latitude as arguments. So are there any coordinates in this data? Yes and no. We got the fields [RW] and [RH]. Googling those field names and looking at the format of the numbers, it seems as these coordinates are in the "Gauß Krüger" format, aka Transverse Mercator Projection, which is one of many existing systems of spatial reference. 🙈 This particular one counts the number of meters up and to the right from specific points of reference. So, dead end, given we're looking for a Tableau-native solution?

Using MAKEPOINT() with an SRID/EPSG

Not quite, fortunately. As it turns out, each of those coordinate systems has a corresponding EPSG code, and there's an excellent & searchable website listing all of them:

So, once you found your EPSG code, the final piece of the puzzle is making Tableau consider this code while translating the coordinates to locations somehow. Another look at the Tableau docs shows that MAKEPOINT() actually has an optional argument, the "SRID":

In my case, this would be the function leading to the correct locations:

MAKEPOINT( [RW], [HW], 25832 )

To calculate distances, all that's left is inserting this piece into the DISTANCE() function like so:

DISTANCE( MAKEPOINT([RW], [HW], 25832), [Geometry (File B)], 'm' )

That's it! So if you ever come across weird looking or weirdly named coordinates again, all you need to do is find out the correct ESPG code, pass it to the MAKEPOINT() function alongside the coordinate fields, and Tableau will know how to plot the correct locations.

Obviously, the challenge might be finding the right code, and this might take a little trial and error. In my case, I got lucky to stumble upon a very helpful blog listing all the most commonly used ESPG codes in Germany, and on my 7th try, the locations magically zoomed towards their expected positions:

Author:
Matthias Albert
Powered by The Information Lab
1st Floor, 25 Watling Street, London, EC4M 9BR
Subscribe
to our Newsletter
Get the lastest news about The Data School and application tips
Subscribe now
© 2025 The Information Lab