Skip to main content

I am using the CoordinateSystemExtractor to extract CRS from shape files. The output attribute _coordsys is an abbreviated name and hard to make use of it downstream. For example. the shape file prj file has the name “NAD_1927_BLM_Zone_15N”, which is an ESRI standard name. But the _coordsys value is _NAD27.BLM-15N.ft_0. I would hope the output is NAD_1927_BLM_Zone_15N so that I can use it directly in EsriReprojector. Any idea to achieve this? I have an excel file with over 150 global CRSs that need to reprojected to WGS 84. Both the sources and transformations in this excel file use standard ESRI names. Want to use this excel file to reproject all source datasets (shape files) into WGS 84 using just one EsriReprojector for which both the source and destination CRS parameters are set directly from the excel file. If you know a solution, please send reply to my work email - allen.guan@woodside.com. Appreciate the help.

Have you looked at the CoordinateSystemDescriptionConverter?

 

You should be able to go from NAD27.BLM-15N.ft to ESRI WKT and then extract the name for use in the Esri Reprojector


@ebygomm, that works perfect. Thanks. I missed this transformer in search.


@ebygomm, one more issue. In the EsriReprojector, the Source Coordinate System parameter can’t be set from a string attribute value. For example, an upstream attribute CRSName has the value NAD_1927_BLM_Zone_15N. If I set the Source Coordinate System parameter to be this attribute CRSName, this transformer will give an error “No definition was found for coordinate system `NAD_1927_BLM_Zone_15N'”. Looks like Source Coordinate System parameter is an object, not a string. However the Geographic Transformation parameter can take a string attribute. Any idea how to work around this? I am trying to avoid using a hundred EsriReprojector, each having to manually select the Source Coordinate System parameter from the drop down list. Strangely, it does give an option to select an attribute for the entry.


If provided in an attribute the value must be in the form

ESRIWKT|<name>|<esriwkt> where <name> is the coordinate system name, and <esriwkt> is the WKT (Well-Known Text) representing the coordinate system.

 

Edit: just tested using that syntax and it works ok for me 

 


@ebygomm . That is fantastic help. It works. Here is the attribute example I created to be used as the input CRS for EsriReprojector. Thank you very much.

ESRIWKT|NAD_1927_BLM_Zone_15N|PROJCSJ"NAD_1927_BLM_Zone_15N",GEOGCSG"GCS_North_American_1927",DATUMT"D_North_American_1927",SPHEROIDO"Clarke_1866",6378206.4,294.9786982]],PRIMEMM"Greenwich",0.0],UNITN"Degree",0.0174532925199433]],PROJECTIONI"Transverse_Mercator"],PARAMETERT"False_Easting",1640416.666666667],PARAMETERT"False_Northing",0.0],PARAMETERT"Central_Meridian",-93.0],PARAMETERT"Scale_Factor",0.9996],PARAMETERT"Latitude_Of_Origin",0.0],UNITN"Foot_US",0.3048006096012192]]


Reply