zoukankan      html  css  js  c++  java
  • Web墨卡托坐标与WGS84坐标互转

    在WebGIS的开发中经常用到的地图投影为Web墨卡托和WGS84,故歌地图,bingmaps,百度地图,mapabc,mapbar,以及ArcGIS online上的大部分地图为Web墨卡托地图,ArcGIS online上最开始发布的地图投影为WGS84。
    在开发过程中很多时候会遇到不同坐标系之间互转的问题,特别是底图使用Web墨卡托,定位(GPS,wifi等)信号坐标为WGS84坐标的时候,那么通用解决方案就是写一个坐标参考系的转换库,类似于proj4,但一般情况下很少用到那么多的参考系之间的互转,并且在客户端实现或者调用proj4都是一件很困难或者麻烦的事情,大多数情况下我们实现Web墨卡托坐标与WGS84坐标互转就可以了。
    下面是使用objective-c实现的Web墨卡托坐标与WGS84坐标互转程序,当然也可以使用其他语言来实现,使用起来比较简单和方便。

    CODE:

    //经纬度转墨卡托
    -(CGPoint )lonLat2Mercator:(CGPoint ) lonLat
    {
        CGPoint  mercator;
        double x = lonLat.x *20037508.34/180;
        double y = log(tan((90+lonLat.y)*M_PI/360))/(M_PI/180);
        y = y *20037508.34/180;
        mercator.x = x;
        mercator.y = y;
        return mercator ;
    }
    //墨卡托转经纬度
    -(CGPoint )Mercator2lonLat:(CGPoint ) mercator
    {
        CGPoint lonLat;
        double x = mercator.x/20037508.34*180;
        double y = mercator.y/20037508.34*180;
        y= 180/M_PI*(2*atan(exp(y*M_PI/180))-M_PI/2);
        lonLat.x = x;
        lonLat.y = y;
        return lonLat;
    }

  • 相关阅读:
    jar包和war包的介绍和区别
    Oracle中rownum的基本用法
    深入理解JVM—JVM内存模型
    Oracle数据库中序列(SEQUENCE)的用法详解
    jvm主内存与工作内存
    jvm虚拟机
    java 冒泡排序
    java二分查找
    java中split()特殊符号"." "|" "*" "" "]"
    java map的实现原理
  • 原文地址:https://www.cnblogs.com/101rico/p/3213294.html
Copyright © 2011-2022 走看看