Skip to main content

Hey all,

I have a general question about how FME deals with AutoCAD files.

I have an AutoCAD .dwg drawing which contains multiple xrefs. When I open the xref file in ArcGIS Pro it is positioned on exactly the right position on the map, while when I open the same file in FME it is positioned somewhere in France. I know that the reason why the drawing is placed somewhere in France is because FME does not recognize the coordinate system. But how is ArcGIS Pro then able to do it? When I click in ArcGIS Pro on the source tab of one of the sublayers properties I see that the coordinate system is unknown. The reason why I ask this is because I would prefer to use FME as a workflow to convert .dwg files to feature classes in .gdb database, but that as long as the drawings are not possitioned right this would be useless to do.

 

Wondering if someone knows about how this can be the case.

Looking forward to the asnwer, thanks :)

If you know the coordinate system of the file, you can set it in the reader. Not sure how agspro knows it tho.


Some desktop GIS packages, most likely including ArcGIS, will “infer” the coordinate system for any Layers created from source data that has not had their coordinate system set.  Usually, the default inferred coordinate system is the current coordinate system that the Map is using, which is a setting saved in the GIS workspace file and not against the source data.  Mapinfo used to do this too.  In this sense, these GIS desktop packages are overriding the “unknown” coordinate system and displaying them as if they had the same coordinate system as the Map.  If however, you made a blank ArcGIS workspace with an unknown coordinate system map with zero other layers on it…….if you bring in the unknown coordinate system data to that map, it will remain displayed in non-earth/unknown coordinate system.

FME does not have a means of determining the coordinate system since “inferred” Layer coordinate systems are a setting saved in the MXD or APRX referencing that source as a Layer definition.  Well...not unless you want to write a bit of supplementary ArcPy code to figure it out with say a PythonCaller that goes through the MXD/APRX to find the Layers that reference the source data and reverse lookup the coordinate system inferred from the Map and use this in a Reprojector...which of course would be horribly complicated.

Apart from instilling in GIS/CAD operators that it is good practice to properly set the coordinate system in the source files and not just rely on the GIS desktop platforms to try to guess it (and I have been guilty of not doing this in the past as well)…..as @nielsgerrits advises, this requires in FME to manually set the coordinate system in the Reader for these (or use Reprojector in-workspace etc.)

 

 


Reply