`

如何将GPS坐标转换为XY平面坐标(简易转换)

阅读更多

    本文根据《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坐标转换工具主要用于将全球定位系统(GPS)获取的经纬度数据转换为不同坐标系下的XY坐标,或者进行度分秒与十进制度之间的转换,以及米制与其它长度单位间的换算。以下是对这些知识点的详细说明: 1. GPS坐标...

    GPS经纬度坐标与XY坐标相互转换的python程序

    包含:GPS经纬度转XY坐标和XY坐标转GPS经纬度和函数调用示例。坐标转换具有较高的精度。

    经纬度与XY坐标转换实用工具

    例如,开发者可以将GPS接收机获取的经纬度数据转换为XY坐标,以便在平面地图上显示位置;或者在GIS软件中,用户可以将带有经纬度的地理数据导入,通过转换使其适应软件的坐标系统。 总之,经纬度与XY坐标之间的转换...

    经纬度坐标转换为平面坐标的matlab实现

    批量点,矩阵形式给出,MATLAB经纬度坐标转换为平面坐标;Mercator投影变换。调用单点经纬度坐标转换为平面坐标的函数也在文件中。博客中有详细解释和C++代码...

    经纬度坐标和xy坐标转换程序.rar

    比如,当我们从GPS接收器获取经纬度坐标后,可能需要将其转换为UTM坐标以便在平面地图上准确标绘;反之,如果我们已经有了平面坐标,也可能需要反向转换为经纬度,以获取地球上的实际地理位置。 总之,"经纬度坐标...

    GPS数据转换X.Y坐标

    也就是高斯-克吕格投影直角坐标系的x 轴, 地球的赤道与椭圆柱面相交, 成一直线,这条直线与轴子午线正交,就是平面直角坐 标系的y轴,把椭球柱面展开,就得到以(x,y)为坐标的平面直角坐标系。为减少 投影...

    坐标转换工具(经纬度-平面坐标转换)

    4. **考虑反变换**:如果需要,还可以将平面坐标转换回经纬度,但这通常伴随着精度损失。 在提供的"坐标转换工具"中,可能包含了实现上述转换功能的算法和用户界面,使得非专业人员也能方便地进行坐标之间的转换。...

    xy.zip_xy大地坐标转换经纬度_坐标 转换_坐标转换_经纬度 坐标

    转换过程通常涉及到两个主要步骤:从大地坐标到笛卡尔坐标(X, Y, Z),然后将笛卡尔坐标转换为经纬度。这个过程需要使用特定的数学公式,例如横轴墨卡托投影、高斯-克吕格投影等,这些公式考虑了地球的形状和曲率。...

    经纬度转换为xy,xy转换为经纬度

    在地理信息系统(GIS)中,我们经常需要在不同的坐标系之间进行转换,其中包括将经纬度坐标转换为XY坐标,以及反过来将XY坐标转换为经纬度。这种转换在地图制图、定位服务、导航系统等领域非常常见。下面我们将详细...

    经纬度坐标和xy坐标转换程序

    4. 投影转换:使用适当的数学公式将经纬度转换为xy坐标(如Mercator公式),或者反过来。 5. 输出结果:程序会返回转换后的坐标。 在实际应用中,这种转换程序广泛用于地图制作、导航软件、GIS数据分析等领域。例如...

    用EXCEL完成GPS坐标转换的简易方法

    高斯投影是一种常用的地图投影方式,用于将地球表面的经纬度转换为平面直角坐标(XY)。在EXCEL中,我们可以利用其强大的公式计算功能进行高斯投影换算。 1. **正算**:从经纬度BL转换为平面直角坐标XY - 首先,...

    CAD作图经纬度与XY坐标转换小软件

    4. **XY坐标转换**:在CAD中,有时需要将地理坐标(经纬度)转换为笛卡尔坐标(XY),以便在二维或三维空间中精确表示地理位置。这种转换通常涉及地球的椭球体模型和投影算法,如UTM(通用横轴墨卡托投影)。 5. **...

    matlab GPS定位多普勒测速 XYZ坐标转换经纬高坐标转换东北天坐标

    本文将深入探讨标题和描述中提到的几个关键知识点:Matlab中的GPS定位、多普勒测速、XYZ坐标与经纬高(大地直角坐标系)以及东北天(地心地平坐标系)坐标的转换,以及如何利用速度信息来测定方位角。 首先,我们来...

    坐标转换与经纬度转换工具.zip

    “南海七参数转换”和“南海七参数反算”可能指的是针对南海地区的特定坐标转换过程,其中七参数转换用于将一个坐标系的坐标转换为另一个。反算则是指根据已知转换后的坐标,推算原始坐标。 “北京54 114度带换117...

    百度坐标系的XY坐标 TO WGS84坐标系的XY转换工具

    提供的一款名为"BDTOWGS84"的工具正是为了解决这个问题,它可以方便地将百度坐标系的XY坐标转换为WGS84下的XY坐标,并生成SHP图层。SHP(Shapefile)是一种常见的矢量地理数据格式,广泛应用于GIS软件中,可以存储点...

    用EXCEL完成GPS坐标转换的简易方法.doc

    然而,在实际应用中,由于不同的国家和地区采用的坐标系统存在差异,因此需要将GPS获取的坐标(通常是WGS-84坐标系)转换到当地使用的坐标系统(如北京54坐标系或西安80坐标系)。本文将详细介绍如何利用Microsoft ...

    大地坐标与平面坐标转换DLL及代码

    坐标转换的动态链接库CoordShift.dll使用说明: 完成从大地直角坐标到高斯平面坐标的相互...高斯平面坐标,是高斯坐标在参考椭球面上的投影,以坐标轴的XY表示,单位为米。CoordShift.dll为VC编写的COM接口的Win32 DLL

Global site tag (gtag.js) - Google Analytics