Dotspatial.Projections with custom Proj.4 string

المشرف العام

Administrator
طاقم الإدارة
I have lat,long values that I need to convert to x,y in a custom Lambert Conformal Conic projection defined as +units=m +a=6371229 +b=6371229 +x_0=0 +y_0=0 +proj=lcc +lon_0=0 +lat_2=25.0 +lat_1=25.0 +lat_0=25.0. I'm trying to use Dotspatial.Projections library in C# to basically replicate a process I have working in Python using Pyproj. Unfortunately, my C# function produces 0,0 which is not correct. Please find below the code:

string pj_grid_str = @"+units=m +a=6371229 +b=6371229 +proj=lcc +x_0=0 +y_0=0 +lon_0=0 +lat_2=25.0 +lat_1=25.0 +lat_0=25.0";string pj_latlon_str = @"+proj=latlong +a=6371229 +b=6371229";var pj_grid = DotSpatial.Projections.ProjectionInfo.FromProj4String(pj_grid_str);var pj_latlon = DotSpatial.Projections.ProjectionInfo.FromProj4String(pj_latlon_str);double[] ll = { -114.0, 51.0 };double[] z = { 0.0 };DotSpatial.Projections.Reproject.ReprojectPoints(ll, z, pj_latlon, pj_grid, 0, 1); System.Console.WriteLine(ll[0].ToString() + "," + ll[1].ToString()); //produces "0,0" no matter what input I provide// should produce "-1489098.19006,3107428.30237"Again, using a similar procedure in Pyproj with the same proj.4 strings works just fine and produces correct results.

P.S. I seem to have found a way to do this using Proj.NET library, but am still puzzled as to why Dotspatial can't do it.



أكثر...
 
أعلى