ThinkGeo.com    |     Documentation    |     Premium Support

ManagedProj4Projection Problem

I have the following function, and having the parameter values as:


 


inParameters = "+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs +towgs84=0,0,0";


outParameters="+proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333333334 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs";


 


public static BaseShape ProjectToPassingParameters(string inParameters, string outParameters, BaseShape shape)

        {

            BaseShape returnShape;

            ThinkGeo.MapSuite.Core.ManagedProj4Projection proj = new ManagedProj4Projection(inParameters, outParameters);

            proj.Open(); //Gives exception here!  ->  An item with the same key has already been added.

            returnShape = proj.ConvertToExternalProjection(shape);

            proj.Close();

            return returnShape;

        }


 


 




Rui,


 What is happening is that your internal projection string is incorrect. It has a parameter "towgs" that is not beeing interpreted correctly by the projection library. I did some research in spatialreference.org and the correct string is "+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs" or the EPSG is 32629. spatialreference.org/ref/epsg/32629/


Look at the code below to have the proper behavior.

 





//Using the string
//string inParameters = "+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";
//Using ther EPSG code
string inParameters = ManagedProj4Projection.GetEpsgParametersString(32629);
           
string outParameters = "+proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333333334 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs";
//string outParameters = ManagedProj4Projection.GetSphericalMercatorParametersString();


Rui, 
  
  I would have to add that I recognize that the message description is not very helpful. I created an issue for the Development Team to improve the exception message so that it is more descriptive for the developer. Thank you.

Thanks I will see that, I took the string from QuantumGIS…  
  
 One other thing, how can I specify gsb grids into a coordinate system parameters? I have a file with the name ptLX_e89.gsb, is has the grids to convert  
 from Datum Lisboa to ETRS89 TM06.  
  
 I don’t know if I made my self clear:… 


Rui,


 I am afraid this is not very clear. Can you explain a little more with some links to the relevent websites? Also, if you can attach some data, that would help. We are waiting for further from you. Thank you.