So I’ve been trying to overwrite a coordinate system in FME, usually I work with EPSG codes. In FME most (if not all ) projections has an EPSG associated with them. When searching for a coordinate system you can just throw in the EPSG code. It’s great.

I discovered that one of FME’s coordinate systems (EPSG:3004) by default uses a pretty poor translation to WGS84. I wanted to update the definition so the EPSG code would work better.

I defined a new coordinate system in the hopes that when picking the EPSG code it would take my user defined system over the FME one.

I found that the only way I could get the EPSG number to link to my new definition was if I actually gave it the same name as the one in FME Any other name and using the EPSG would always revert back to the old unprecise definition. In this case “MonteMario_1.Italy-2”. Of course now I get what looks to be duplicates in the list.

Interestingly, no matter which you pick you always end up with the same coordinate system getting used.

I also discovered that I could also update/overwrite the underlying Datum - so instead of defining a new coordinate system with a different datum I could instead just redefine the MonteMario_1 datum with the corrected parameters.

Unfortunately while this did update the definition of the MonteMario_1 datum this had no effect on projections to WGS84.

A bit more digging and I saw that I also needed to update the specific transformation - in my case it was “MonteMario_1_to_WGS84”.

If I update both the datum and the transformation I was able to remove the duplicates from my list.

My final coordinate definition file looks like this now:

`#this is the transformation - the parameters match whats in the EPSG database \`

XFORM_DEF MonteMario_1_to_WGS84 \

SRC_DTM MonteMario_1 \

TRG_DTM WGS84 \

DESC_NM "Rome 1940 (Monte Mario), Mainland Italy (7 Parameter Transform)" \

SOURCE "EuroGeographics, EPSG" \

EPSG_NBR 1660 \

INVERSE Yes \

MAX_ITR 20 \

CNVRG_VAL 1e-09 \

ERROR_VAL 1e-06 \

ACCURACY 3.0 \

METHOD 7PARAMETER \

DELTA_X -104.1 \

DELTA_Y -49.1 \

DELTA_Z -9.9 \

ROT_X -0.971 \

ROT_Y 2.917 \

ROT_Z -0.714 \

BWSCALE -11.68

#same name as datum used by FME \

DATUM_DEF MonteMario_1 \

DESC_NM "Monte Mario" \

SOURCE "PROJ4" \

ELLIPSOID INTNL \

USE 7PARAMETER \

DELTA_X -104.1 \

DELTA_Y -49.1 \

DELTA_Z -9.9 \

BWSCALE -11.68 \

ROT_X -0.971 \

ROT_Y 2.917 \

ROT_Z -0.714

Now there is again only one EPSG:3004 in my list of coordinate systems and my auto projections with FME are better.