网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 golang与php实现计算两个经纬度之间距离的方法
范文
    本文实例讲述了golang与php实现计算两个经纬度之间距离的方法。分享给大家供大家参考,具体如下:
    golang版本:
    package main
    import (
        "fmt"
        "math"
    )
    func main() {
        lat1 := 29.490295
        lng1 := 106.486654
        lat2 := 29.615467
        lng2 := 106.581515
        fmt.Println(EarthDistance(lat1, lng1, lat2, lng2))
    }
    // 返回值的单位为米
    func EarthDistance(lat1, lng1, lat2, lng2 float64) float64 {
        radius := float64(6371000) // 6378137
        rad := math.Pi/180.0
        lat1 = lat1 * rad
        lng1 = lng1 * rad
        lat2 = lat2 * rad
        lng2 = lng2 * rad
        theta := lng2 - lng1
        dist := math.Acos(math.Sin(lat1) * math.Sin(lat2) + math.Cos(lat1) * math.Cos(lat2) * math.Cos(theta))
        return dist * radius
    }
    php版本:
    <?php
    // 返回值的单位为米
    function pc_sphere_distance($lat1, $lon1, $lat2, $lon2, $radius = 6371000) {
      $rad = doubleval(M_PI/180.0);
      $lat1 = doubleval($lat1) * $rad;
      $lon1 = doubleval($lon1) * $rad;
      $lat2 = doubleval($lat2) * $rad;
      $lon2 = doubleval($lon2) * $rad;
      $theta = $lon2 - $lon1;
      $dist = acos(sin($lat1) * sin($lat2) + cos($lat1) * cos($lat2) * cos($theta));
      return $dist * $radius * 1000;
    }
    $lat1 = 29.490295;
    $lon1 = 106.486654;
    $lat2 = 29.615467;
    $lon2 = 106.581515;
    echo pc_sphere_distance($lat1, $lon1, $lat2, $lon2);
    希望本文所述对大家Go语言程序设计有所帮助。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/15 3:16:43