文档章节

根据经纬度,计算两点之间的距离

SunnyGo
 SunnyGo
发布于 2016/05/25 09:16
字数 150
阅读 16
收藏 1
go
import "math"

const EARTH_RADIUS = 6371000;
/**
 * 此处是函数
 */
 
 
func get_two_points_distance(oldLL model.Longlati,newLL model.Longlati)(int){
    lng1  :=oldLL.GetLong() * math.Pi/180
    lat1  :=oldLL.GetLati() * math.Pi/180
    lng2  :=newLL.GetLong() * math.Pi/180
    lat2  :=newLL.GetLati() * math.Pi/180
    calcLongitude := lng2-lng1
    calcLatitude  := lat2-lat1
    stepOne := math.Pow(math.Sin(calcLatitude / 2), 2) + math.Cos(lat1) * math.Cos(lat2) * math.Pow(math.Sin(calcLongitude / 2), 2)
    stepTwo := 2 * math.Asin(math.Min(1, math.Sqrt(stepOne)))
    calculatedDistance := EARTH_RADIUS * stepTwo;
    return int(calculatedDistance+0.5)
}

model部分

package model
import "strconv"
type Longlati struct {
    Long float64 
    Lati float64 
}
 
 
func (l *Longlati) GetLong() float64 {
    return l.Long
}
func (l *Longlati) SetLong(value float64) {
    l.Long = value
}
func (l *Longlati) SetLongFromString(value string) {
    f,_ := strconv.ParseFloat(value, 64)
    l.Long= f
}
func (l *Longlati) GetLati() float64 {
    return l.Lati
}
func (l *Longlati) SetLati(value float64) {
    l.Lati = value
}
func (l *Longlati) SetLatiFromString(value string) {
    f,_ := strconv.ParseFloat(value, 64)
    l.Lati = f
}

 

© 著作权归作者所有

共有 人打赏支持
SunnyGo
粉丝 7
博文 28
码字总数 8249
作品 0
东城
技术主管
私信 提问
php 计算两点地理坐标的距离

功能:根据圆周率和地球半径系数与两点坐标的经纬度,计算两点之间的球面距离。 获取两点坐标距离: <?php/** * 计算两点地理坐标之间的距离 * @param Decimal $longitude1 起点经度 * @par...

蜗牛奔跑
2016/03/07
11
0
根据给定点的经纬度和特定距离取范围类的数据

一、计算两个经纬度的距离 根据经纬度计算距离 R为地球半径,可取平均值 6371km; φ1, φ2 表示两点的纬度; Δλ 表示两点经度的差值。 二、根据某一经纬度和距离计算附近的经纬度 R为地球...

南烟阁
2017/11/28
0
0
通过地图上两个点的经纬度测算两点的距离

根据两点经纬度计算距离 这些经纬线是怎样定出来的呢?地球是在不停地绕地轴旋转(地轴是一根通过地球南北两极和地球中心的假想线),在地球中腰画一个与地轴垂直的大圆圈,使圈上的每一点都...

niceguy_php
2015/01/27
0
0
[算法系列]算法一 地理空间距离计算优化

1. 地理空间距离计算面临的挑战 打开美团app,不管是筛选团购还是筛选商家,默认的排序项都是“离我最近”或者“智能排序”(如下图所示): 不管是“离我最近”还是“智能排序”,都涉及到计...

sjf0115
2017/11/15
0
0
记录两个函数--1.计算某个经纬度的周围某段距离的正方形的四个点。2.根据两点间的经纬度计算距离

前些日子在做手机网站开发的时候碰到这样一个需求,用某度地图的定位功能查看自己现在所在的位置,同时要显示出以自己为圆心,周围1000米以内的商家。功能很简单,拿到自己的经纬度,算出四个...

嗜学如命的小蚂蚁
2015/09/16
620
0

没有更多内容

加载失败,请刷新页面

加载更多

kubernetes 二进制包安装

环境 角色 主机名 内网 IP 集群 IP 操作系统 服务 执行目录 部署机 k8s-master master120 10.0.4.120 - CentOS kube-apiserver kube-scheduler kube-controller-manager /opt/kubernetes/ et......

Colben
14分钟前
0
0
瑞达利欧的《原则》读后感作文2400字

瑞达利欧的《原则》读后感作文2400字: 拿到同事送的书读了几十页后,我意识到自己犯了一个错误:之前以为像《原则》这个书名,配上最成功的对冲基金经理、受用终身的教诲、傅盛引用并盛赞,...

原创小博客
31分钟前
1
0
java内存占用异常问题常见排查流程(含堆外内存异常)

先初步介绍一下内存组成: java进程占用内存 约等于 Java永久代 + Java堆(新生代和老年代) + 线程栈+ Java NIO,其它部分占用内存较小, 详细可以参考这篇文章 https://my.oschina.net/h...

小海bug
37分钟前
1
0
成为架构师需要学习哪些技能?阿里P9架构师为你解答

不想当将军的兵不是好兵,就程序猿不想当架构师就不是好的程序员! Java架构师主要需要做哪些工作呢? 1、负责设计和搭建软件系统架构(平台、数据库、接口和应用架构等),解决开发中各种系...

别打我会飞
41分钟前
0
0
使用xtrabackup备份数据库

使用xtrabackup备份数据库 提供一个参考文档:http://xtra.aminglinux.com mysqldump对于导出几个G的数据库或几个表,还是不错的,速度并不慢。一旦数据量达到几十上百G,无论是对原库的压力...

wzb88
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部