EPSG:4326是我们熟悉的WGS84,EPSG:3857又称EPSG:900913,是Pseudo-Mercator,互联网地图一般都采用EPSG:3857

参考GitHub项目Gcoord:https://github.com/hujiulong/gcoord

#include<stdio.h>
#include<math.h>
#define PI 3.1415926535897932
double D2R = PI / 180;
double R2D = 180 / PI;
double A = 6378137;
void ESPG3857_To_ESPG4326(double x, double y, double *lon, double *lat){*lon = x * R2D / A;*lat = (PI * 0.5 - 2.0 * atan(exp(-y / A))) * R2D;
}
void ESPG4326_To_ESPG3857(double lon, double lat, double *x, double *y){double adjusted = abs(lon) <= 180 ? lon : lon - (lon < 0 ? -1 : 1) *360;*x = A * adjusted * D2R;*y = A * log(tan(PI * 0.25 + 0.5 * lat * D2R));
}
int main(){double x, y, lon, lat;lon = 121.98625416795976;lat = 39.153783297406605;ESPG4326_To_ESPG3857(lon, lat, &x, &y);printf("%.14lf %.14lf\n", x, y);getchar();
} 

C语言实现EPSG:4326和EPSG:3857的互转相关推荐

  1. GIS坐标系转换(EPSG:4326与EPSG:3857相互转换)

    EPSG:4326(WGS84) WGS84 是目前最流行的地理坐标系统.在国际上,每个坐标系统都会被分配一个 EPSG 代码,EPSG:4326 就是 WGS84 的代码.GPS是基于WGS84的, ...

  2. GIS基础(坐标系、投影的不同表示方法:)EPSG:4326、EPSG:3857

    坐标系 通过椭球体这样的几何模型,定义坐标系来进行描述位置,测量距离等操作,使用相同的坐标系,可以保证同样坐标下的位置是相同的,同样的测量得到的结果也是相同的.通常有两种坐标系 地理坐标系(geogr ...

  3. openlayers6【十】EPSG:3857和EPSG:4326区别详解

    文章目录 1. 写在前面 2. 什么是EPSG:3857坐标系(投影坐标) 3. 什么是EPSG:4326 坐标系(地理坐标) 4. EPSG:4326和EPSG:3857区别(重点) 1. 写在前面 ...

  4. 关于不同坐标地之前的转化(地球坐标系,经纬度坐标系,火星坐标系,EPSG:4326,WGS84,EPSG:3857)

    EPSG:3857转换经纬度(EPSG:4326) // javascript 转换 function mercatorTolonlat(mercator){var lonlat={x:0,y:0}; ...

  5. openlayers中‘EPSG:3857‘与 ‘EPSG:4326‘互转

    1.将坐标从'EPSG:3857'转换到'EPSG:4326' import {transform} from 'ol/proj'; var center = [11135835.4775655,34 ...

  6. 使用openlayers中的ol.proj类实现EPSG:3857和EPSG:4326坐标数据相互转换

    1. 数据形式 cesium开发过程中需要处理接口中的4326和3857坐标系相互转换的问题 4326为地理坐标系 3857为投影坐标系 数据格式如下: [15748903.882937903, 49 ...

  7. OpenLayers5在EPSG:4326投影坐标系下测量长度和面积

    ol/sphere里有getLength()和getArea()可以用来测量距离和区域面积,默认的投影坐标系是EPSG:3857, 其中有个options的参数,可以设置投影坐标系.使用时, 可以先把 ...

  8. OpenLayers5在EPSG:4326下以m为单位画圆

    var circleIn3857 = new Circle(transform([121.4659, 31.2], 'EPSG:4326', 'EPSG:3857'), 1000,'XY'); var ...

  9. 130:vue+openlayers 加载中国边界JSON数据(EPSG:4326)

    第130个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中添加JSON数据,显示的是中国的边界线(EPSG:4326). 直接复制下面的 vue+openlayers源代 ...

  10. EPSG:4326坐标系和EPSG:900913坐标系

    本文转载自:http://zhidao.baidu.com/question/297412286.html EPSG(The European Petroleum Survey Group, http ...

最新文章

  1. python 南京大学_南京大学python课程系列笔记之python基础之第一周:走进python
  2. [转载]静态构造函数
  3. 几种特征选择方法的比较,孰好孰坏?
  4. C#获得网络连接信息 IPGlobalProperties
  5. 【PAT乙级】1014 福尔摩斯的约会 (20 分)【模拟 / 很坑】
  6. 解决svn错误:post-commit hook failed (exit code 1) with output
  7. HDU 6185 2017广西邀请赛:Covering(矩阵快速幂)
  8. 网络_Wake-on-Lan(WoL)软件推荐, 让你不在局域网也能实现网络唤醒
  9. 在龙芯平台上编译jogamp(gluegen)
  10. 菜鸟学Linux 第041篇笔记 常见系统故障排除
  11. 计算机已将连接限制为某网络,提示此计算机当前已将连接限制为xxx的解决办法...
  12. MyEclipse2020中JSP文件光标乱跳
  13. python tkinter 按钮 Button增加图片
  14. 网易我的世界手机版服务器文件在哪个文件夹,网易我的世界手机版怎么导入地图...
  15. 一个C#写的爬虫程序
  16. BDD100K数据集简单解析以及格式转换成voc格式
  17. 王鸿飞原创作品转载请注明出处《软件工程(C编码实践篇)》MOOC课程http://mooc.study.163.com/course/USTC-10000
  18. 虚拟机流量转到服务器,KVM虚拟机获得宿主机指定网卡的流量
  19. 2017网易有道校园招聘笔试题
  20. 完美国际单机修改服务器端,完美国际改国内版单机一键服务端

热门文章

  1. 小米6连接WIFI后无法联网,线刷教程
  2. node读写xlsx文件
  3. [工具]实现文件夹和文件名称批量修改
  4. 802.1x协议身份认证
  5. 泛微OA与SAP通过webservice方式对接数据完整操作
  6. 中投、汇金、四大国有资产管理公司、华融、长城、东方、信达
  7. Hiho1384 倍增+归并排序
  8. html中class类怎么写,HTML class 属性 | 菜鸟教程
  9. 贝叶斯网络和马尔科夫的冷知识
  10. 数据特征分析 正态性检验