火星和百度坐标转换


//  把火星坐标转换成百度坐标
-(CLLocationCoordinate2D)hhTrans_bdGPS:(CLLocationCoordinate2D)fireGps
{
     
    CLLocationCoordinate2D bdGps;
     
    double huo_x=fireGps.longitude;
     
    double huo_y=fireGps.latitude;
     
    double z = sqrt(huo_x * huo_x + huo_y * huo_y) + 0.00002 * sin(huo_y * x_pi);
     
    double theta = atan2(huo_y, huo_x) + 0.000003 * cos(huo_x * x_pi);
     
    bdGps.longitude = z * cos(theta) + 0.0065;
     
    bdGps.latitude = z * sin(theta) + 0.006;
     
    return bdGps;
     
}
 
// 百度转火星
-(CLLocationCoordinate2D)hhTrans_GCGPS:(CLLocationCoordinate2D)baiduGps
{
     
    CLLocationCoordinate2D googleGps;
     
    double bd_x=baiduGps.longitude - 0.0065;
     
    double bd_y=baiduGps.latitude - 0.006;
     
    double z = sqrt(bd_x * bd_x + bd_y * bd_y) - 0.00002 * sin(bd_y * x_pi);
     
    double theta = atan2(bd_y, bd_x) - 0.000003 * cos(bd_x * x_pi);
     
    googleGps.longitude = z * cos(theta);
     
    googleGps.latitude = z * sin(theta);
     
    return googleGps;
     
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容