各地图API坐标系统比较

各地图API坐标系统比较

简单记录一下各家坐标系

  • WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS84地理坐标系,谷歌地图采用的是WGS84地理坐标系(中国范围除外);
  • GCJ02坐标系:即火星坐标系,由WGS84坐标系经加密后的坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统,并要求在中国使用的地图产品使用的都必须是加密后的坐标。如高德、腾讯、谷歌中国地图和搜搜中国地图采用的是GCJ02地理坐标系;
  • BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标系,官方解释是为了进一步保护用户隐私;
  • 搜狗坐标系、图吧坐标系等,估计也是在GCJ02基础上加密而成的。

计算两点距离 java

  private static final double EARTH_RADIUS = 6378.137;
  
  public static double calculateDistance(
      double longitude1, double latitude1, double longitude2, double latitude2) {
    double radLat1 = rad(latitude1);
    double radLat2 = rad(latitude2);
    double diffLat = radLat1 - radLat2;
    double diffLon = rad(longitude2) - rad(longitude1);
    double s =
        2
            * Math.asin(
                Math.sqrt(
                    Math.pow(Math.sin(diffLat / 2), 2)
                        + Math.cos(radLat1)
                            * Math.cos(radLat2)
                            * Math.pow(Math.sin(diffLon / 2), 2)));
    s = s * EARTH_RADIUS * 1000;
    return s;
  }

  private static double rad(double d) {
    return d * Math.PI / 180.0;
  }

posted @ 2019-05-29 19:06  春卷要炸着吃  阅读(379)  评论(0编辑  收藏  举报