Skip to main content

Hello. I am using FME 2017.1

The issue I am trying to resolve is stopping the ArcGIS Transformations window from popping up when I add a shapefile that was created by FME. The FME shapefile is in the correct projection (same as the dataframe) but the FME PRJ file is slightly different than the ArcGIS PRJ file. I am assuming that this is what is causing the Transformations window to pop up. So, my question is: how do I create a PRJ file from FME that is the same as what ESRI expects so that the Transformation window doesn't pop up in ArcGIS?

Here are the details of what I have done:

Right now, the projection I am using from ESRI's ArcGIS is not in FME. The FME projection that is the same as what I am using is 10TM115-83.

I created a Custom Projection by created a .fme file and putting it into the following directory (C:\\Users\\<<USERNAME>>\\Documents\\FME\\CoordinateSystems) as suggested on this form:

http://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Workbench/Workbench/coordinate_sys_custom_about.htm?Highlight=coordinate%20systems

When I create a shapefile with my custom projection in FME, I go and display it in ArcGIS. The FME shapefile shows up where it should, but when I add it to the dataframe, the Geographic Coordinate System Transformations window pops up, which implies that I have added data that is in a different projection and needs to be transformed on the fly.

So, how do I create a PRJ file that is the same as what ArcGIS expects?

Thank you in advance for your time and help.

Julia

<<UPDATE>>

I did a little test. In the PRJ's created by FME, I changed "Geodetic_Reference_System_of_1980" to "GRS_1980". By doing this, the data in both projections from FME (10TM115-83 & my custom projection) show up in ArcGIS without triggering the Transformations window to pop up.

So, my revised question is how do I get the FME output to say GRS_1980 instead of the longer version?

Hi @juliarozema, I may not have understood correctly this paragraph in your post: "The FME projection that is the same as what I am using is 10TM115-83".

However, if you mean that the required coordinate system should be equivalent to 10TM115-83, I think you can use it as the destination coordinate system and FME will generate *.prj file which ArcGIS can interpret correctly. I'm unclear why you have to define a custom coordinate system here.


Two workarounds:

1) Tick the box in ArcGIS that says "Don't warn me again ever"

http://desktop.arcgis.com/en/arcmap/10.3/map/working-with-arcmap/geographic-coordinate-systems-warning.htm

2) Potentially dangerous - use the FileCopy Writer in FME to overwrite the FME generated PRJ file with the ESRI version. Dangerous because it could result in an undesired data shift.

Have you used something like TextPad or NotePad++ to compare the 2 PRJ files? What are the differences?


Two workarounds:

1) Tick the box in ArcGIS that says "Don't warn me again ever"

http://desktop.arcgis.com/en/arcmap/10.3/map/working-with-arcmap/geographic-coordinate-systems-warning.htm

2) Potentially dangerous - use the FileCopy Writer in FME to overwrite the FME generated PRJ file with the ESRI version. Dangerous because it could result in an undesired data shift.

Have you used something like TextPad or NotePad++ to compare the 2 PRJ files? What are the differences?

Thank you @tim_wood for your comments.

 

 

1) I don't want to disable the ArcGIS warning as it is a helpful feature in other scenarios.

 

 

2) That could be an option. I don't think there will be a data shift as I believe the output data is in the correct projection, it just has a different name.

 

 

I have looked at the two PRJ files to compare. I will add them into the body of the main post.

 


Hi @juliarozema, I may not have understood correctly this paragraph in your post: "The FME projection that is the same as what I am using is 10TM115-83".

However, if you mean that the required coordinate system should be equivalent to 10TM115-83, I think you can use it as the destination coordinate system and FME will generate *.prj file which ArcGIS can interpret correctly. I'm unclear why you have to define a custom coordinate system here.

Thank you @takashi for your comments.

 

 

In reference to my comments about 10TM115-83: basically 10TM115-83 is available in FME and I believe this is the correct projection. The data shows up correctly when in this projection. The problem might be that the name of the projection is different from what ArcGIS is expecting. In ArcGIS the projection I am using is called NAD_1983_10TM_AEP_Resource. When I look at the projection of the file outputted from FME it is called NAD83_UTM_115_Longitude_Meter_Province_of_Alberta_Canada.

 

 

So, I am wondering if the solution lies with having FME create a different PRJ file?

 

 

I am going to include a copy of the PRJ files in the body of the main question.

 


Here are the different projection files:

 

The PRJ file from a shapefile made in Esri:

 

PROJCSC"NAD_1983_10TM_AEP_Resource",GEOGCSC"GCS_North_American_1983",DATUMU"D_North_American_1983",SPHEROIDI"GRS_1980",6378137.0,298.257222101]],PRIMEME"Greenwich",0.0],UNITI"Degree",0.0174532925199433]],PROJECTIONO"Transverse_Mercator"],PARAMETERE"False_Easting",0.0],PARAMETERE"False_Northing",0.0],PARAMETERE"Central_Meridian",-115.0],PARAMETERE"Scale_Factor",0.9992],PARAMETERE"Latitude_Of_Origin",0.0],UNITI"Meter",1.0]]

 


The PRJ file from a shapefile made in FME with the projection 10TM115-83:PROJCS["NAD83_UTM_115_Longitude_Meter_Province_of_Alberta_Canada",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["Geodetic_Reference_System_of_1980",6378137,298.2572221008916]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",-115],PARAMETER["scale_factor",0.9992],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]

 

 

The PRJ file from a shapefile made in FME with a custom projection I made:PROJCSC"NAD83_10TM_AEP_Resource",GEOGCSC"GCS_North_American_1983",DATUMU"D_North_American_1983",SPHEROIDI"Geodetic_Reference_System_of_1980",6378137,298.2572221008916]],PRIMEME"Greenwich",0],UNITI"Degree",0.017453292519943295]],PROJECTIONO"Transverse_Mercator"],PARAMETERE"latitude_of_origin",0],PARAMETERE"central_meridian",-115],PARAMETERE"scale_factor",0.9992],PARAMETERE"false_easting",0],PARAMETERE"false_northing",0],UNITI"Meter",1]]

 

 


I spotted a few differences. One is "6378137.0" vs "6378137" which wouldn't make any difference. The other is "298.2572221008916" vs "298.257222101". I'm not sure how much of a data shift 13 decimal places instead of 9 will cause. There's also "Latitude_Of_Origin" vs "latitude_of_origin". If ESRI expects EVERYTHING to be identical, even case sensitivity, then using FileCopy may be your best bet as long as you're happy with the data shift risk.

 


I spotted a few differences. One is "6378137.0" vs "6378137" which wouldn't make any difference. The other is "298.2572221008916" vs "298.257222101". I'm not sure how much of a data shift 13 decimal places instead of 9 will cause. There's also "Latitude_Of_Origin" vs "latitude_of_origin". If ESRI expects EVERYTHING to be identical, even case sensitivity, then using FileCopy may be your best bet as long as you're happy with the data shift risk.

 

From some testing that I have done, the only part of the FME PRJ file that needs to be changed is "Geodetic_Reference_System_of_1980" to "GRS_1980".

 

I can't use the FileCopy because I am actually working with a GDB as the end datatype. I was using a PRJ file for now while I was troubleshooting this error.

 

 


With a consult with Safe Live Chat, @GerhardAtSafe found this resources for me:

https://demos-safe-software.fmecloud.com/fmedatastreaming/Coordsys/Start.fmw

It turned out all I was missing was the exceptions.db which defines the ESRI WKT to use when FME produces the output.

 

 

So the full solutions: To produce an output from FME that is the same as what you see in ESRI:

 

1) create a custom coordinate system .fme file

 

2) create an exceptions .db file

Put these files into the appropriate directories within:

 

C:\\Users\\<<USER
NAME>>\\Documents\\FME\\

 


With a consult with Safe Live Chat, @GerhardAtSafe found this resources for me:

https://demos-safe-software.fmecloud.com/fmedatastreaming/Coordsys/Start.fmw

It turned out all I was missing was the exceptions.db which defines the ESRI WKT to use when FME produces the output.

 

 

So the full solutions: To produce an output from FME that is the same as what you see in ESRI:

 

1) create a custom coordinate system .fme file

 

2) create an exceptions .db file

Put these files into the appropriate directories within:

 

C:\\Users\\<<USER
NAME>>\\Documents\\FME\\

 

Glad to hear that you could solve this! Thanks a lot for sharing your solution here!

 

 


Reply