首页 / 浏览问题 / 其他 / 问题详情
给.net接口把UTM51转成WGS84坐标
19EXP 2017年03月03日

1个回答

CoordSysTranslator.Convert 方法
5,985EXP 2017年03月03日
我是新手    ,,,这个返回类型是bool啊  我要的是数字啊
要数字是什么意思,请把问题详细描述
返回值是bool的,但是数据转换,不是应该用utm坐标换成84坐标么,不是应该返回的84坐标么,返回值不对啊,我现在是转换成功了,但是拿不到84坐标
请问你是想获得84坐标信息,还是想获得某个对象(点、线、面等)的坐标

我现在手里有utm51n的坐标 想转换成84坐标      但是CoordSysTranslator.Convert 方法返回的是bool类型   不是int类型 

返回true的话,说明转换成功了,下一步你想干什么,获得WGS84的坐标信息?还是获得WGS84坐标系下对象(点,线,面)的坐标?
获得84的经纬度
你的数据集类型是什么?点,线,面,文本,还是其它什么,方便截一个图吗
我用的是public static bool Convert(Point2Ds points, PrjCoordSys srcPrjCoordSys, PrjCoordSys desPrjCoordSys, CoordSysTransParameter coordSysTransParameter, CoordSysTransMethod coordSysTransMethod);   给个是一个点的数据   point2Ds里面就有两个值 一个x一个y

通过图上的Point2D的X,Y属性获得它的坐标

Point2D[] b = new Point2D[1];
            double c = Convert.ToDouble(textBox1.Text);
            double d = Convert.ToDouble(textBox2.Text);
            b[0].X = c;
            b[0].Y = d;
            Point2Ds PD = new Point2Ds(b);
           
            PrjCoordSys PC = new PrjCoordSys();
            CoordSysTransParameter CSTP = new CoordSysTransParameter();
            PrjCoordSys PCS = new PrjCoordSys(PrjCoordSysType.Id1974Utm51N);
            PrjCoordSys PS = new PrjCoordSys(PrjCoordSysType.Wgs1984WorldMercator);
            //GeocentricTranslation PD, PrjCoordSysType.Id1974Utm51N, PrjCoordSysType.Wgs1984WorldMercator, CSTP, CoordSysTransMethod.GeocentricTranslation
            bool boo= CoordSysTranslator.Convert(PD,PCS,PS,CSTP, CoordSysTransMethod.GeocentricTranslation);
            //double p = Convert.ToDouble(boo);
返回的true      你说的那个方法没看懂额

你已经转换成功了,直接double X= b[0].X,double Y=b[0].Y,X,Y就是这个点转换后的坐标

double p = b[0].X;

p=355784.651583124

转换后也没变化啊
这个点的坐标是你自己在文本框输入的吗
对 自己在文本框输入的
你好,我同事帮你测试了,他说转换成功后坐标是会变化的
...