本文根据《GPS经纬度坐标转平面坐标的简化计算方法及精度分析》这篇文章中的的方法将GPS经纬度坐标转换为以地平面上平面直角坐标系中的X、Y坐标。这个转换方法的前提是在一定的范围以内。具体的转化公式请参考该文,下面是坐标转换的代码:
public class PlaneCoordinate { /** * 平面坐标系 */ private static final double MACRO_AXIS = 6378137; // 赤道圆的平均半径 private static final double MINOR_AXIS = 6356752; // 半短轴的长度,地球两极距离的一半 // 返回Y坐标 private static double turnY(GePoint basePoint, GePoint point) { double a = Math.pow(MACRO_AXIS, 2.0); double b = Math.pow(MINOR_AXIS, 2.0); double c = Math.pow(Math.tan(basePoint.getLatitude()), 2.0); double d = Math.pow(1/Math.tan(basePoint.getLatitude()),2.0); double x = a/Math.sqrt(a + b*c); double y = b/Math.sqrt(b + a*d); c = Math.pow(Math.tan(point.getLatitude()), 2.0); d = Math.pow(1/Math.tan(point.getLatitude()), 2.0); double m = a/Math.sqrt(a + b*c); double n = b/Math.sqrt(b + a*d); return new PePoint(x, y).distanceBetween(new PePoint(m, n)); } // 返回X坐标 private static double turnX(GePoint basePoint, GePoint point) { double a = Math.pow(MACRO_AXIS, 2.0); double b = Math.pow(MINOR_AXIS, 2.0); double c = Math.pow(Math.tan(basePoint.getLatitude()), 2.0); double x = a/Math.sqrt(a + b*c); return x * (point.getLongtitude() - basePoint.getLongtitude()); } }
/* 经纬度坐标点(84坐标系) */ public class GePoint { private double latitude; // 纬度坐标 private double longtitude; // 经度坐标 public GePoint() { } public GePoint(double latitude, double longtitude) { this.latitude = latitude; this.longtitude = longtitude; } public double getLatitude() { return 2 * latitude * Math.PI / 360 ; } public void setLatitude(double latitude) { this.latitude = latitude; } public double getLongtitude() { return 2 * longtitude * Math.PI / 360; } public void setLongtitude(double longtitude) { this.longtitude = longtitude; } }
相关推荐
GPS坐标转换工具 经纬度XY坐标转换工具 度分秒 经纬度 米 转换工具
包含:GPS经纬度转XY坐标和XY坐标转GPS经纬度和函数调用示例。坐标转换具有较高的精度。
批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。调用单点经纬度坐标转换为平面坐标的函数也在文件中。博客中有详细解释和C++代码...
也就是高斯-克吕格投影直角坐标系的x 轴, 地球的赤道与椭圆柱面相交, 成一直线,这条直线与轴子午线正交,就是平面直角坐 标系的y轴,把椭球柱面展开,就得到以(x,y)为坐标的平面直角坐标系。为减少 投影...
从经纬度直接生成xy坐标,或xy坐标,生成经纬度
经纬度与XY坐标转换实用工具
坐标转换工具(经纬度-平面坐标转换)
坐标转换的动态链接库CoordShift.dll使用说明: 完成从大地直角坐标到高斯平面坐标的相互...高斯平面坐标,是高斯坐标在参考椭球面上的投影,以坐标轴的XY表示,单位为米。CoordShift.dll为VC编写的COM接口的Win32 DLL
matlab定位,多普勒多普勒测速 ,XYZ坐标转换经纬高坐标 转换东北天坐标,速度转换成东北天坐标,速度测方位角
经纬度转换为xy,xy转换为经纬度,自动转换源码。
1、坐标转换:空间直角坐标,大地坐标,平面坐标转换。 2、经纬度转换:(地理坐标)经纬度与(大地坐标)xy相互转化,3度带与6度带坐标相互转化,度(十进制)与度分秒相互转化
根据坐标系和分带,从经纬度直接生成xy坐标,或xy坐标,生成经纬度
坐标转换小工具,支持北京54,西安80,wgs84下经纬度和xy坐标系之间的转换,可设置四参数、七参数,空间直角坐标系,大地坐标,平面坐标等类型的转换
UTM-XY格式坐标转换为经纬度格式坐标
功能:本工具可将百度坐标系的XY(经纬度)坐标转换到WGS84下的XY(经纬度)坐标并生成SHP图层。 注:内附使用说明。
GPS、火星坐标、百度坐标相互转换,GPS具体计算等GPS相关的帮助类
用于大地坐标转换,只要适当选择合适的坐标系就可以实现坐标转换
批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。需要调用单点经纬度坐标转换为平面坐标的函数
色温-XY-UV色坐标换算公式