Solved

EsriReprojector vs CsmapReprojector Spatial and Performance Differences

  • 8 May 2023
  • 3 replies
  • 24 views

Badge +1

Hello, I'm reprojecting tens of millions of complex polygons from LL-WGS84 to Esri's USA_Contiguous_Albers_Equal_Area_Conic_USGS coordinate system. There are many other transformers in the workspace as well. Using the EsriReprojector, the reprojection works as expected but takes a very long time. Using CsmapReprojector, the polygons are 3ft (~1 meter) off from where I'd expect, but it's about 30 times faster (many hours!). I've noticed this difference between the two transformers before with any reprojection that has a datum transformation. Does anyone have any ideas that would allow the performance of CsmapReprojector with the results of the EsriReprojector?

 

Notes:

  • I saw another post where a user believes FME is not correctly performing a datum transformation between WGS84 and NAD83. - Could this be a mistake in CsmapReprojector?
  • I have tried changing the Reprojection Engine from FME to Esri in the workspace parameters.
  • The spatial difference seems to be present in any format/application.
  • I added the Esri coordinate system to my MyCoordSysDefs.fme file to get the Esri coordinate system to show up in FME transformers. This matches the coordinate system information provided in ArcGIS Pro.

image

  • These are my transformer parameters that are yielding different results:

EsriReprojectorimageCsmapReprojector

image

icon

Best answer by daveatsafe 8 May 2023, 23:55

View original

3 replies

Userlevel 2
Badge +17

Hi @paul_m​,

The EsriReprojector has more defined datum transformations than the CsmapReprojector, and WGS_1984_ITRF00_To_NAD_1983 is different than NAD83_to_WGS84. This is why your results are different. I have attached a .fme file containing a number of Esri transformations defined for Csmap. Copy this file to your Documents\\FME\\CoordinateSystems folder, then restart FME. The WGS_1984_ITRF00_To_NAD_1983 transformation will be available for use in the CsmapReprojector, and should give the same result as the EsriReprojector.

Badge +1

Hi @paul_m​,

The EsriReprojector has more defined datum transformations than the CsmapReprojector, and WGS_1984_ITRF00_To_NAD_1983 is different than NAD83_to_WGS84. This is why your results are different. I have attached a .fme file containing a number of Esri transformations defined for Csmap. Copy this file to your Documents\\FME\\CoordinateSystems folder, then restart FME. The WGS_1984_ITRF00_To_NAD_1983 transformation will be available for use in the CsmapReprojector, and should give the same result as the EsriReprojector.

Thanks Dave! This seems to have fixed the spatial issue while still being significantly faster than the EsriReprojector. I placed the custom transformation file in a shared FME folder that I've created for my organization so that anyone can use various custom coordinate systems, formats, transformers, etc.. I wonder why there is such a performance difference between the transformers and why this transformation is not in the base install? Thank you again, much appreciated!

Userlevel 2
Badge +17

Thanks Dave! This seems to have fixed the spatial issue while still being significantly faster than the EsriReprojector. I placed the custom transformation file in a shared FME folder that I've created for my organization so that anyone can use various custom coordinate systems, formats, transformers, etc.. I wonder why there is such a performance difference between the transformers and why this transformation is not in the base install? Thank you again, much appreciated!

Hi @paul_m​,

The CSAMP reprojection engine seems to be more optimized for speed than the Esri engine, but does not have as many defined coordinate systems or transformations. Each of the reprojection engines (CSMAP, Esri, PROJ) have strengths and weaknesses, which is why we allow the user to choose which one they prefer.

Reply