Это метод взаимного преобразования координат моккота и координат MARS на карте Baidu.
Кода -копия выглядит следующим образом:
/**
* Алгоритм шифрования и дешифрования координат сопротивления Baidu Mocha и координаты MARS
* @author Xfan
*
*/
открытый класс внешний {
Частный статический двойной лат = 31,22997;
Частный статический двойной LON = 121,640756;
Public Static Double x_pi = lat * lon / 180.0;
public static void main (string [] args) {
System.out.println ("Координата мокко координата и долготы:"+lat+","+lon);
System.out.println ("Марс координат широты и долготы:"+bd_decrypt (lat, lon));
}
// дешифрование становится координат Марса
Общественная статическая строка BD_DECRYPT (Double BD_LAT, Double BD_LON)
{
Double x = bd_lon - 0,0065, y = bd_lat - 0,006;
double z = math.sqrt (x * x + y * y) - 0,00002 * math.sin (y * x_pi);
Double Theta = math.atan2 (y, x) - 0,000003 * math.cos (x * x_pi);
double gg_lon = z * math.cos (theta);
double gg_lat = z * math.sin (theta);
вернуть gg_lat+","+gg_lon;
}
// шифрование становится координат моккота
Общественная статическая строка BD_ENCRYPT (Double GG_LAT, Double GG_LON)
{
Double x = gg_lon, y = gg_lat;
double z = math.sqrt (x * x + y * y) + 0,00002 * math.sin (y * x_pi);
Double Theta = math.atan2 (y, x) + 0,000003 * math.cos (x * x_pi);
Double bd_lon = z * math.cos (theta) + 0,0065;
double bd_lat = z * math.sin (theta) + 0,006;
вернуть gg_lat+","+gg_lon;
}
}