开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

Svend / CoordinateTransformJavaApache-2.0

指数
0
Watch 24 Star 46 Fork 11
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 展开 收起

http://stool.svend.cc/#/coordtransform

Svend 最后提交于 新增python版本
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

#CoordinateTransform 坐标转换


提供百度坐标(BD09)、WGS84坐标、国测局坐标(火星坐标,GCJ02)系之间的转换的工具模块 会有偏移,但是还能接受

WGS84

  • 国际标准,从 GPS 设备中取出的数据的坐标系
  • 国际地图提供商使用的坐标系

火星坐标 (GCJ-02)

  • 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
  • 国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。

百度坐标 (BD-09)

  • 百度标准,百度 SDK,百度地图

用法(Using)

1 JavaScript 引用disk下面的 CoordinateTransform.js

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>坐标转换JS使用例子</title>
</head>
<body>
	<h1>提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换,会有偏差,但是偏差在可接受范围之内</h1>
	<h1>结果请在控制台查看(Results please view the console)</h1>

</body>
<script type="text/javascript" src="../disk/CoordinateTransform.js"></script>
<script type="text/javascript">

	//百度地图 BD09 坐标 转 WGS84 
	var lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049,31.285887);
	console.log(lngLat_wgs84);

	//WGS84  坐标 转 百度地图 BD09 
	var lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0],lngLat_wgs84[1]);
	console.log(lngLat_bd09);

	//火星坐标(GCJ02) 坐标 转 WGS84 
	lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049,31.285887);
	console.log(lngLat_wgs84);

	//WGS84 转  火星坐标(GCJ02)
	var lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0],lngLat_wgs84[1]);
	console.log(lngLat_gcj02);

	//百度地图 BD09 坐标 转 火星坐标(GCJ02) 
	lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049,31.285887);
	console.log(lngLat_gcj02);

	//火星坐标(GCJ02) 坐标 转 百度地图 BD09
	lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0],lngLat_gcj02[1]);
	console.log(lngLat_bd09);
</script>
</html>

2 Java

将disk下的CoordinateTransform.java放入项目

 public static void main(String[] args) {
        //百度地图 BD09 坐标 转 WGS84
        double[] lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887);
        System.out.println("lng :" + lngLat_wgs84[0] + ",lat :" + lngLat_wgs84[1]);

        //WGS84  坐标 转 百度地图 BD09
        double[] lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1]);
        System.out.println("lng :" + lngLat_bd09[0] + ",lat :" + lngLat_bd09[1]);

        //火星坐标(GCJ02) 坐标 转 WGS84
        lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887);
        System.out.println("lng :" + lngLat_wgs84[0] + ",lat :" + lngLat_wgs84[1]);

        //WGS84 转  火星坐标(GCJ02)
        double[] lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1]);
        System.out.println("lng :" + lngLat_gcj02[0] + ",lat :" + lngLat_gcj02[1]);

        //百度地图 BD09 坐标 转 火星坐标(GCJ02)
        lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887);
        System.out.println("lng :" + lngLat_gcj02[0] + ",lat :" + lngLat_gcj02[1]);

        //火星坐标(GCJ02) 坐标 转 百度地图 BD09
        lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1]);
        System.out.println("lng :" + lngLat_bd09[0] + ",lat :" + lngLat_bd09[1]);
    }

3.Python import CoordinateTransform.py

import CoordinateTransform

# 百度地图 BD09 坐标 转 WGS84
lngLat_wgs84 = CoordinateTransform.transformBD09ToWGS84(120.644049, 31.285887)
print(lngLat_wgs84)

#  WGS84  坐标 转 百度地图 BD09
lngLat_bd09 = CoordinateTransform.transformWGS84ToBD09(lngLat_wgs84[0], lngLat_wgs84[1])
print(lngLat_bd09)

#  火星坐标(GCJ02) 坐标 转 WGS84
lngLat_wgs84 = CoordinateTransform.transformGCJ02ToWGS84(120.644049, 31.285887)
print(lngLat_wgs84)

#  WGS84 转  火星坐标(GCJ02)
lngLat_gcj02 = CoordinateTransform.transformWGS84ToGCJ02(lngLat_wgs84[0], lngLat_wgs84[1])
print(lngLat_gcj02)

#  百度地图 BD09 坐标 转 火星坐标(GCJ02)
lngLat_gcj02 = CoordinateTransform.transformBD09ToGCJ02(120.644049, 31.285887)
print(lngLat_gcj02)

#  火星坐标(GCJ02) 坐标 转 百度地图 BD09
lngLat_bd09 = CoordinateTransform.transformGCJ02ToBD09(lngLat_gcj02[0], lngLat_gcj02[1])
print(lngLat_bd09)

点评 ( 2 )

你可以在登录后,发表评论

搜索帮助