#include "math.h" #include "stdio.h"     double casm_rr ; unsigned int casm_t1; unsigned int casm_t2; double casm_x1; double casm_y1; double casm_x2; double casm_y2; double casm_f; double yj_sin2(double x) {     double tt ;     double ss;     int ff ;     double s2;     int cc;     ff=;     if (x<)     {         x=-x;         ff=;     }     cc=int(x/6.28318530717959);     tt=x-cc*6.28318530717959;     if (tt>3.1415926535897932)     {         tt=tt-3.1415926535897932;         if (ff==)         ff=;         else if (ff==)         ff=;     }     x=tt;     ss=x;     s2=x;     tt=tt*tt;     s2=s2*tt;     ss=ss-s2* 0.166666666666667;     s2=s2*tt;     ss=ss+s2* 8.33333333333333E-03;     s2=s2*tt;     ss=ss-s2* 1.98412698412698E-04;     s2=s2*tt;     ss=ss+s2* 2.75573192239859E-06;     s2=s2*tt;     ss=ss-s2* 2.50521083854417E-08;     if (ff==)     ss=-ss;     return ss; } double Transform_yj5(double x , double y ) {     double tt;     tt =  +  * x +  * y + 0.1 * x * x + 0.1 * x * y + 0.1 * sqrt(sqrt(x*x));     tt = tt + ( *yj_sin2(18.849555921538764 * x ) +  * yj_sin2(6.283185307179588 * x))*0.6667;     tt = tt + ( * yj_sin2(3.141592653589794 * x ) +  * yj_sin2(1.047197551196598 * x))*0.6667;     tt = tt + ( * yj_sin2(0.2617993877991495 * x) +  * yj_sin2(0.1047197551196598 * x))*0.6667;     return tt; } double Transform_yjy5(double x , double y ) {     double tt ;     tt = - +   * x +  * y + 0.2 * y * y + 0.1 * x * y + 0.2 * sqrt(sqrt(x*x));     tt = tt + ( * yj_sin2(18.849555921538764 * x) +  * yj_sin2(6.283185307179588 * x))*0.6667;     tt = tt + ( * yj_sin2(3.141592653589794 * y)+  * yj_sin2(1.047197551196598 * y))*0.6667;     tt = tt + ( * yj_sin2(0.2617993877991495 * y) +  * yj_sin2(0.1047197551196598 * y))*0.6667;     return tt; } double Transform_jy5(double x , double xx ) {     double n ;     double a ;     double e ;     a = ;     e = 0.00669342;     n = sqrt ( - e * yj_sin2(x * 0.0174532925199433) * yj_sin2(x * 0.0174532925199433) );     n = (xx * ) /(a / n * cos(x * 0.0174532925199433) * 3.1415926) ;     return n; } double Transform_jyj5(double x , double yy ) {     double m ;     double a ;     double e ;     double mm;     a = ;     e = 0.00669342;     mm=  - e * yj_sin2(x * 0.0174532925199433) * yj_sin2(x * 0.0174532925199433) ;     m = (a * ( - e)) / (mm * sqrt(mm));     return (yy * ) / (m * 3.1415926); } double r_yj() {     int casm_a ;     int casm_c ;     casm_a = ;     casm_c = ;     return ; } double random_yj() {     int t;     int casm_a ;     int casm_c ;     casm_a = ;     casm_c = ;     casm_rr = casm_a * casm_rr + casm_c ;     t = int(casm_rr /);     casm_rr = casm_rr - t * ;     casm_rr = casm_rr /  ;     return (casm_rr); } void IniCasm(unsigned int w_time, unsigned int w_lng, unsigned int w_lat) {     int tt;     casm_t1 = w_time ;     casm_t2 = w_time ;     tt=int(w_time/0.357);     casm_rr=w_time-tt*0.357;     if (w_time==)     casm_rr=0.3;     casm_x1 = w_lng;     casm_y1 = w_lat;     casm_x2 = w_lng;     casm_y2 = w_lat;     casm_f=; } unsigned int wgtochina_lb(int wg_flag, unsigned int wg_lng, unsigned int wg_lat, int wg_heit,  int wg_week, unsigned int wg_time, unsigned  int *china_lng, unsigned int *china_lat) {     double x_add ;     double y_add ;     double h_add ;     double x_l;     double y_l;     double casm_v ;     double t1_t2;     double x1_x2;     double y1_y2;                 if (wg_heit>)     {         *china_lng =  ;         *china_lat = ;         return 0xFFFF95FF;     }     x_l =  wg_lng;     x_l =  x_l / 3686400.0;     y_l =  wg_lat ;     y_l =  y_l / 3686400.0;     if (x_l < 72.004)     {         *china_lng =  ;         *china_lat = ;         return 0xFFFF95FF;     }     if ( x_l > 137.8347)     {         *china_lng =  ;         *china_lat = ;         return 0xFFFF95FF;     }     if (y_l < 0.8293)     {         *china_lng =  ;         *china_lat = ;         return 0xFFFF95FF;     }     if ( y_l > 55.8271)     {         *china_lng =  ;         *china_lat = ;         return 0xFFFF95FF;     }     if (wg_flag ==)     {         IniCasm(wg_time,wg_lng,wg_lat);         *china_lng = wg_lng;         *china_lat = wg_lat;         return 0x00000000;     }         casm_t2= wg_time ;     t1_t2 =(double)(casm_t2 - casm_t1)/1000.0;     if ( t1_t2<= )     {         casm_t1= casm_t2 ;         casm_f=casm_f+;         casm_x1 = casm_x2;         casm_f=casm_f+;         casm_y1 = casm_y2;         casm_f=casm_f+;     }     else    {         if ( t1_t2 >  )         {             if (casm_f == )             {                 casm_f=;                 casm_x2 = wg_lng;                 casm_y2 = wg_lat;                 x1_x2 = casm_x2 - casm_x1;                 y1_y2 = casm_y2 - casm_y1;                 casm_v = sqrt (x1_x2 * x1_x2 + y1_y2 * y1_y2 ) /t1_t2;                 if (casm_v  > )                 {                     *china_lng =  ;                     *china_lat = ;                     return (0xFFFF95FF);                 }             }             casm_t1= casm_t2 ;             casm_f=casm_f+;             casm_x1 = casm_x2;             casm_f=casm_f+;             casm_y1 = casm_y2;             casm_f=casm_f+;         }     }     x_add = Transform_yj5(x_l - , y_l - ) ;     y_add = Transform_yjy5(x_l - , y_l - ) ;     h_add = wg_heit;         x_add = x_add + h_add * 0.001 + yj_sin2(wg_time*0.0174532925199433)+random_yj();     y_add = y_add + h_add * 0.001 + yj_sin2(wg_time*0.0174532925199433)+random_yj();     *china_lng = unsigned int( (x_l + Transform_jy5(y_l, x_add)) *  );     *china_lat = unsigned int( (y_l + Transform_jyj5(y_l, y_add)) *  );     return (0x00000000); }     bool wg2mars( const double in_lon, const double in_lat, double& out_lon, double& out_lat ) {     const double BASE = 3686400.0;     unsigned int lon, lat;     lon = unsigned int ( in_lon * BASE );     lat = unsigned int ( in_lat * BASE );     unsigned int ret = wgtochina_lb( , lon, lat, , , , &lon, &lat );     out_lon = lon / BASE;     out_lat = lat / BASE;     return (==ret); }

http://hi.baidu.com/sa_sc/item/570101a588b5f8f714329b26

WGS84 2 GCJ-02的更多相关文章

  1. 火星02坐标转换为WGS84坐标

    import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import jav ...

  2. 地球坐标系(WGS-84)转火星坐标系(GCJ)

    /** * 单点坐标纠偏 */ var pi = 3.14159265358979324; var a = 6378245.0; var ee = 0.00669342162296594323; va ...

  3. 使用js对WGS-84 ,GCJ-02与BD-09的坐标进行转换

    获取到经纬度在用百度地图进行定位时,却发现行驶轨迹的路线定到海里面去了.从网上查阅,知道此方法. 出处:https://www.jianshu.com/p/53f00ba897f7 一.在进行地图开发 ...

  4. python、js实现WGS84、高德(火星)、百度坐标转换

    在日常工作学习中常会涉及到WGS84.高德(火星/谷歌).百度三种空间坐标系的坐标转换,本文将通过python.js两种语言实现坐标系的转换. 坐标系说明: wgs84:为一种大地坐标系,也是目前广泛 ...

  5. 火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版

    火星坐标 火星坐标是国家测绘局为了国家安全在原始坐标的基础上进行偏移得到的坐标,基本国内的电子地图.导航设备都是采用的这一坐标系或在这一坐标的基础上进行二次加密得到的.火星坐标的真实名称应该是GCJ- ...

  6. GPS坐标互转:WGS-84(GPS)、GCJ-02(Google地图)、BD-09(百度地图)(转载)

    WGS-84:是国际标准,GPS坐标(Google Earth使用.或者GPS模块)GCJ-02:中国坐标偏移标准,Google Map.高德.腾讯使用BD-09:百度坐标偏移标准,Baidu Map ...

  7. WGS84、Web墨卡托、火星坐标、百度坐标互转

    转自:1.http://blog.csdn.net/wildboy2001/article/details/12031351 2.http://kongxz.com/2013/10/wgs-cgj/ ...

  8. WGS84、GCJ-02(火星坐标)、百度坐标,Web墨卡托坐标

    GCJ-02坐标系统(火星坐标)简介:http://blog.csdn.net/giswens/article/details/8775121(存档:http://mapbd.com/cms/2012 ...

  9. GCJ-02火星坐标系和WGS-84坐标系转换关系

    GCJ-02火星坐标系和WGS-84坐标系转换关系 WGS-84:GPS坐标系 GCJ-02:火星坐标系,国测局02年发布的坐标体系,高德,腾讯等使用. BD-09:百度坐标系,百度自研,百度地图使用 ...

  10. WGS84,GCJ02, BD09坐标转换

    public class Gps { private double wgLat; private double wgLon; public Gps(double wgLat, double wgLon ...

随机推荐

  1. HTML中使用图像

    插入图像 在页面中插入图像的标记只有一个,就是img标记. 语法为:<img src="图片地址" alt="下载失败时的替换文本" title='提示文 ...

  2. RTC — 软件协作开发管理平台

    IBM Rational Team Concert (简称RTC )是构建在IBM Rational面向软件交付技术的下一代协作平台Jazz平台上的一个商用产品.一个协作式的软件开发环境,它包含了集成 ...

  3. SpringBoot自动配置的魔法是怎么实现的

    SpringBoot 最重要的功能就是自动配置,帮我们省去繁琐重复地配置工作.相信用过SpringBoot的人,都会被它简洁的步骤所惊讶.那么 SpringBoot 是如何实现自动配置的呢? 在这之前 ...

  4. Nginx入门(四)——反向代理

    server { listen 8020; server_name localhost; location / { root html; index index.html index.htm; pro ...

  5. python中的_xx, __xx, __xx__

    一.从模块分析 ########  bb.py (一个用来导入的模块) ########## var = 0_var = 1__var = 2__var__ = 3 1. from module im ...

  6. 使用JSP/Servlet技术开发新闻发布系统---JSP数据交互(二)

    JSP内置对象application application对象 JSP常用的内置对象 对象的作用域 作用的分类 对象的作用域 page作用域 实例 //页面1 <% String name = ...

  7. win32通用控件

    1.标准控件 可以在win32窗口程序中添加资源脚本来给程序添加标准控件: 具体操作为:新建资源脚本    ->在.rc文件中添加控件    ->给控件绑定事件:   常用的标准控件:   ...

  8. 批量清理harbor镜像

    #! /bin/bash # 通过Harbor提供的API来批量删除镜像,人工删除费时费力 # 经过测试发现,通过接口去删除时提供的是的标签,但实际上删除的时候通过的是镜像的IMAGE_ID,也就是说 ...

  9. 003_硬件基础电路_LM2596

    以下内容全部从文档中获取有用信息的 链接:https://pan.baidu.com/s/1fEbtY616bJWsuaDOZ0CUjw提取码:1byu 复制这段内容后打开百度网盘手机App,操作更方 ...

  10. MongoDB 副本集主从切换方法

    一.方法一rs.setpDown() 将Primary节点降级为Secondary节点 myapp:PRIMARY> rs.stepDown() 这个命令会让primary降级为Secondar ...