坐标转换优化
This commit is contained in:
parent
cdb1bbfd12
commit
475473a109
|
|
@ -91,9 +91,11 @@ public class TbTowerServiceImpl implements TbTowerService {
|
|||
data.setBaiduLat(String.valueOf(bd09[0]));
|
||||
data.setBaiduLon(String.valueOf(bd09[1]));
|
||||
}else {
|
||||
double[] bd09 =CoordinateTransform.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon()),Double.parseDouble(data.getCentralMeridian()));
|
||||
/*double[] bd09 =CoordinateTransform.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon()),Double.parseDouble(data.getCentralMeridian()));
|
||||
data.setBaiduLon(String.valueOf(bd09[0]));
|
||||
data.setBaiduLat(String.valueOf(bd09[1]));
|
||||
data.setBaiduLat(String.valueOf(bd09[1]));*/
|
||||
data.setBaiduLon(String.valueOf(CoordinateTransform.dmsToDecimal(data.getLon())));
|
||||
data.setBaiduLat(String.valueOf(CoordinateTransform.dmsToDecimal(data.getLat())));
|
||||
data.setCentralMeridian(String.valueOf(data.getCentralMeridian()));
|
||||
}
|
||||
Long userId = UserUtil.getLoginUser().getId();
|
||||
|
|
@ -147,9 +149,11 @@ public class TbTowerServiceImpl implements TbTowerService {
|
|||
data.setBaiduLat(String.valueOf(bd09[0]));
|
||||
data.setBaiduLon(String.valueOf(bd09[1]));
|
||||
}else {
|
||||
double[] bd09 =CoordinateTransform.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon()),Double.parseDouble(data.getCentralMeridian()));
|
||||
/* double[] bd09 =CoordinateTransform.cgcs2000ToBd09(Double.parseDouble(data.getLat()),Double.parseDouble(data.getLon()),Double.parseDouble(data.getCentralMeridian()));
|
||||
data.setBaiduLon(String.valueOf(bd09[0]));
|
||||
data.setBaiduLat(String.valueOf(bd09[1]));
|
||||
data.setBaiduLat(String.valueOf(bd09[1]));*/
|
||||
data.setBaiduLon(String.valueOf(CoordinateTransform.dmsToDecimal(data.getLon())));
|
||||
data.setBaiduLat(String.valueOf(CoordinateTransform.dmsToDecimal(data.getLat())));
|
||||
data.setCentralMeridian(String.valueOf(data.getCentralMeridian()));
|
||||
}
|
||||
Long userId = UserUtil.getLoginUser().getId();
|
||||
|
|
|
|||
|
|
@ -94,6 +94,8 @@ public class CoordinateTransform {
|
|||
// CGCS2000转WGS84(通常可以忽略)
|
||||
double[] wgs84 = cgcs2000ToWgs84(latLng[0], latLng[1]);
|
||||
|
||||
System.out.println(wgs84[0]+"======="+wgs84[1]);
|
||||
|
||||
// WGS84转GCJ02
|
||||
double[] gcj02 = wgs84ToGcj02(wgs84[0], wgs84[1]);
|
||||
|
||||
|
|
@ -173,11 +175,18 @@ public class CoordinateTransform {
|
|||
public static void main(String[] args) {
|
||||
double x = 3730067.601;
|
||||
double y = 396052.578;
|
||||
|
||||
// 转换为百度坐标系
|
||||
double[] bd09 = cgcs2000ToBd09(x, y,108);
|
||||
|
||||
System.out.println("百度坐标系(BD09)经度: " + bd09[0]);
|
||||
System.out.println("百度坐标系(BD09)纬度: " + bd09[1]);
|
||||
}
|
||||
// 度分秒转十进制
|
||||
public static double dmsToDecimal(String dms) {
|
||||
//String x = "33°41′31.36929″";
|
||||
String[] list = dms.split("[°'\"′″]");
|
||||
return Double.valueOf(list[0]) + Double.valueOf(list[1])/60 + Double.valueOf(list[2])/3600;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue