回到顶部

Web墨卡托坐标与WGS84经纬度互转 java代码

时间:3年前   作者:我就是曹总   浏览:1623   [网络转载] 原文链接

标签: java  

package com.util;

public class Coordinate {

	static double M_PI = Math.PI;

	// 经纬度转墨卡托
	// 经度(lon),纬度(lat)
	public static double[] lonLat2Mercator(double lon, double lat) {
		double[] xy = new double[2];
		double x = lon * 20037508.342789 / 180;
		double y = Math.log(Math.tan((90 + lat) * M_PI / 360)) / (M_PI / 180);
		y = y * 20037508.34789 / 180;
		xy[0] = x;
		xy[1] = y;
		return xy;
	}

	// 墨卡托转经纬度
	public static double[] Mercator2lonLat(double mercatorX, double mercatorY) {
		double[] xy = new double[2];
		double x = mercatorX / 20037508.34 * 180;
		double y = mercatorY / 20037508.34 * 180;
		y = 180 / M_PI * (2 * Math.atan(Math.exp(y * M_PI / 180)) - M_PI / 2);
		xy[0] = x;
		xy[1] = y;
		return xy;
	}

	public static void main(String[] args) {
//		 num;
		 double[] num = lonLat2Mercator(120.385222, 36.061416);
		System.err.println(num[0]+"  "+num[1]);
//		for (int i = 0; i < num.length; i++) {
//			System.out.println(num[0]+"  "+num[1]);
//		}
		// num = Mercator2lonLat(13401221.612075035,4309075.414032666);
		// for(int i=0;i<num.length;i++)
		// {
		// System.out.println(num[i]);
		// }
	}

}



内容均为作者独立观点,不代表八零IT人立场,如涉及侵权,请及时告知。

评论努力加载中...
暂无评论
暂无评论

手机扫码阅读

热门相关

加载中...
关于我们   联系我们   申请友链   赞助记录   站点地图
© 2014 - 2017 www.80iter.com All Rights Reserved. 京ICP备14042174号-1
本站遵循 CC BY 4.0 协议,转载请注明出处 。