From a75db22cb4ac1706d1e091fad4efc8f36be055a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 4 Jul 2024 18:24:20 +0800 Subject: [PATCH] 1 --- utils/utils.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/utils/utils.go b/utils/utils.go index 69852f6d..a004458b 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -6,6 +6,7 @@ import ( "fmt" "git.rosy.net.cn/baseapi" uuid "github.com/satori/go.uuid" + "math" "net/http" "reflect" "strings" @@ -263,6 +264,24 @@ func FilterEmoji(content string) string { return newContent.String() } +// BaiDuCoord2Gaode2 将百度坐标转换为高德坐标 +func BaiDuCoord2Gaode2(baiduCoordinat []string) []string { + gaoCoordinat := make([]string, 0, 0) + + for _, v := range baiduCoordinat { + var XPI = math.Pi * 3000.0 / 180.0 + coords := strings.Split(v, ",") + var x = Str2Float64(coords[0]) - 0.0065 + var y = Str2Float64(coords[1]) - 0.006 + var z = math.Sqrt(x*x+y*y) - 0.00002*math.Sin(y*XPI) + var theta = math.Atan2(y, x) - 0.000003*math.Cos(x*XPI) + var gg_lng = z * math.Cos(theta) + var gg_lat = z * math.Sin(theta) + gaoCoordinat = append(gaoCoordinat, fmt.Sprintf("%.6f,%.6f", gg_lng, gg_lat)) + } + return gaoCoordinat +} + func TrimBlankChar(str string) string { return strings.Trim(str, "\u202C\n\r\t ") }