将一个预测坐标系中的点转换为另一个

时间:2015-03-26 17:47:00

标签: c# .net coordinate-systems arcobjects

如何使用C#中的ArcObjects将点从一个投影坐标系转换为另一个?

//Coordinates in feet
double feetLong = 2007816.711;
double feetLat = 393153.895;

//Coordinates in decimal degrees (Should be the resulting coordinates)
//long: -97.474575;
//lat:   32.747352;

double[] feetPair = new double[] { feetLong, feetLat };

//Our projection used in GIS
string epsg32038 = "PROJCS[\"NAD27 / Texas North Central\",GEOGCS[\"GCS_North_American_1927\",DATUM[\"D_North_American_1927\",SPHEROID[\"Clarke_1866\",6378206.4,294.9786982138982]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\",0.017453292519943295]],PROJECTION[\"Lambert_Conformal_Conic\"],PARAMETER[\"standard_parallel_1\",32.13333333333333],PARAMETER[\"standard_parallel_2\",33.96666666666667],PARAMETER[\"latitude_of_origin\",31.66666666666667],PARAMETER[\"central_meridian\",-97.5],PARAMETER[\"false_easting\",2000000],PARAMETER[\"false_northing\",0],UNIT[\"Foot_US\",0.30480060960121924]]";
//Google Maps projection
string epsg3785 = "PROJCS[\"Popular Visualisation CRS / Mercator\",GEOGCS[\"Popular Visualisation CRS\",DATUM[\"D_Popular_Visualisation_Datum\",SPHEROID[\"Popular_Visualisation_Sphere\",6378137,0]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\",0.017453292519943295]],PROJECTION[\"Mercator\"],PARAMETER[\"central_meridian\",0],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1]]";

这是我的代码的开头。我尝试过使用CoordinateSystemFactory,但从来没有任何工作。我打算使用ProjNet来解决这个问题,尽管我对任何其他方式持开放态度。我真的很擅长使用ArcObjects创建自定义工具,并且已经坚持了一段时间。

0 个答案:

没有答案