本文根据《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坐标转换工具主要用于将全球定位系统(GPS)获取的经纬度数据转换为不同坐标系下的XY坐标,或者进行度分秒与十进制度之间的转换,以及米制与其它长度单位间的换算。以下是对这些知识点的详细说明: 1. GPS坐标...
包含:GPS经纬度转XY坐标和XY坐标转GPS经纬度和函数调用示例。坐标转换具有较高的精度。
例如,开发者可以将GPS接收机获取的经纬度数据转换为XY坐标,以便在平面地图上显示位置;或者在GIS软件中,用户可以将带有经纬度的地理数据导入,通过转换使其适应软件的坐标系统。 总之,经纬度与XY坐标之间的转换...
批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。调用单点经纬度坐标转换为平面坐标的函数也在文件中。博客中有详细解释和C++代码...
比如,当我们从GPS接收器获取经纬度坐标后,可能需要将其转换为UTM坐标以便在平面地图上准确标绘;反之,如果我们已经有了平面坐标,也可能需要反向转换为经纬度,以获取地球上的实际地理位置。 总之,"经纬度坐标...
也就是高斯-克吕格投影直角坐标系的x 轴, 地球的赤道与椭圆柱面相交, 成一直线,这条直线与轴子午线正交,就是平面直角坐 标系的y轴,把椭球柱面展开,就得到以(x,y)为坐标的平面直角坐标系。为减少 投影...
4. **考虑反变换**:如果需要,还可以将平面坐标转换回经纬度,但这通常伴随着精度损失。 在提供的"坐标转换工具"中,可能包含了实现上述转换功能的算法和用户界面,使得非专业人员也能方便地进行坐标之间的转换。...
转换过程通常涉及到两个主要步骤:从大地坐标到笛卡尔坐标(X, Y, Z),然后将笛卡尔坐标转换为经纬度。这个过程需要使用特定的数学公式,例如横轴墨卡托投影、高斯-克吕格投影等,这些公式考虑了地球的形状和曲率。...
在地理信息系统(GIS)中,我们经常需要在不同的坐标系之间进行转换,其中包括将经纬度坐标转换为XY坐标,以及反过来将XY坐标转换为经纬度。这种转换在地图制图、定位服务、导航系统等领域非常常见。下面我们将详细...
4. 投影转换:使用适当的数学公式将经纬度转换为xy坐标(如Mercator公式),或者反过来。 5. 输出结果:程序会返回转换后的坐标。 在实际应用中,这种转换程序广泛用于地图制作、导航软件、GIS数据分析等领域。例如...
高斯投影是一种常用的地图投影方式,用于将地球表面的经纬度转换为平面直角坐标(XY)。在EXCEL中,我们可以利用其强大的公式计算功能进行高斯投影换算。 1. **正算**:从经纬度BL转换为平面直角坐标XY - 首先,...
4. **XY坐标转换**:在CAD中,有时需要将地理坐标(经纬度)转换为笛卡尔坐标(XY),以便在二维或三维空间中精确表示地理位置。这种转换通常涉及地球的椭球体模型和投影算法,如UTM(通用横轴墨卡托投影)。 5. **...
本文将深入探讨标题和描述中提到的几个关键知识点:Matlab中的GPS定位、多普勒测速、XYZ坐标与经纬高(大地直角坐标系)以及东北天(地心地平坐标系)坐标的转换,以及如何利用速度信息来测定方位角。 首先,我们来...
“南海七参数转换”和“南海七参数反算”可能指的是针对南海地区的特定坐标转换过程,其中七参数转换用于将一个坐标系的坐标转换为另一个。反算则是指根据已知转换后的坐标,推算原始坐标。 “北京54 114度带换117...
提供的一款名为"BDTOWGS84"的工具正是为了解决这个问题,它可以方便地将百度坐标系的XY坐标转换为WGS84下的XY坐标,并生成SHP图层。SHP(Shapefile)是一种常见的矢量地理数据格式,广泛应用于GIS软件中,可以存储点...
然而,在实际应用中,由于不同的国家和地区采用的坐标系统存在差异,因此需要将GPS获取的坐标(通常是WGS-84坐标系)转换到当地使用的坐标系统(如北京54坐标系或西安80坐标系)。本文将详细介绍如何利用Microsoft ...
坐标转换的动态链接库CoordShift.dll使用说明: 完成从大地直角坐标到高斯平面坐标的相互...高斯平面坐标,是高斯坐标在参考椭球面上的投影,以坐标轴的XY表示,单位为米。CoordShift.dll为VC编写的COM接口的Win32 DLL