1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 利用平面投影坐标与经纬度粗略自动计算高斯投影坐标系参数

利用平面投影坐标与经纬度粗略自动计算高斯投影坐标系参数

时间:2022-02-19 07:39:19

相关推荐

利用平面投影坐标与经纬度粗略自动计算高斯投影坐标系参数

1、常见的地心坐标格式

平面高斯坐标:Y=35607216,X=3024388;

一般Y对应经度L(8位数字,前两位带号可以省略),X对应纬度B(7位数字).

常见说法:空间直角坐标系XYZ对应地心坐标系BLH,可以看出相互的对应关系了。

2、自动坐标系生成

已知条件:一个高斯平面坐标(X,Y)、对应的地理坐标系(西安80、北京54、WGS84等)以及经纬度(L,B)。

计算过程:利用经度L计算出中央子午线(3°或6°带方法);

构造出地理坐标系参数(WGS84,中央子午线,伪东=500000,伪北=0);

将L/B转为高斯坐标y/x;

伪东 = 伪东 + Y - y;

伪北 = 伪北 + X - x;

计算结果:坐标系参数:名称(WGS84),中央子午线,伪东,伪北

原理:默认一个椭球体gcs(标准参数),然后计算出伪东伪北的偏移值,然后对gcs的标准参数中的伪东伪北做出修改,前提是椭球体gcs需要事先知道。

bool AutoCalculateCoord(double& dLC, double& dFE, double& dFN){CGeoCoordinateSystem gcs::WGS84;double dGaussX = 0.0;double dGaussY = 0.0;SetGaussVlue(dGaussX , dGaussY ); // 设定高斯坐标double lon = 0.0;double lat = 0.0;SetBLVlue(lon, lat);// 设定高斯坐标对应的经纬度int nLC = ((int)((lon + (lon < 0 ? -1.5 : 1.5)) / 3)) * 3; // 3°带dFE = 500000;dFN = (lat < 0? 10000000:0);// 设定高斯投影坐标系CProCoordinateSystem cs(CProCoordinateSystem::WGS84, (double)nLC, dFE, dFN);double x,y;CProCoordinateSystem::GeoToGauss(lon, lat, x, y, cs);dFE += dGaussX - x;dFN += dGaussY - y;dLC = nLC;return true;// 得到CProCoordinateSystem cs(CProCoordinateSystem::WGS84, (double)nLC, dFE, dFN);}

备注:结果仅仅在一定范围内精确到一定程度。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。