如何计算给定中心和方位角的扇形点的坐标

how to calculate geo cordinates of sector points given center and azimuth

我有中心点的地理坐标,半径和方位角以及扇形角也是已知的。基于这些参数,我想计算扇区点的 GEO 坐标。请检查图像是否存在确切问题。

我检查了以下问题,但不完全是我要找的。我完全了解GEO空间几何。

How to calculate endPoint using initial point, distance and azimuth?

以下应为您提供所需的端点。我参考了 Geo Distance with Azimuth。 您只需要更改扇区点的方位角。

type GeoPoint struct {
    Longitude float64
    Latitude  float64
}

findEndPoint(lon float64, lat float64, azimuth float64, distance float64) GeoPoint {
    b := distance / 6371.0

    a := math.Acos(math.Cos(b)*math.Cos(convertToRadians(90-lat)) + math.Sin(convertToRadians(90-lat))*math.Sin(b)*math.Cos(convertToRadians(azimuth)))
    B := math.Asin(math.Sin(b) * math.Sin(convertToRadians(azimuth)) / math.Sin(a))

    lat2 := 90 - convertToDegrees(a)
    lon2 := convertToDegrees(B) + lon

    return GeoPoint{lon2, lat2}
}

point1 := findEndPoint(lon, lat, azimuth-(beamWidth/2), distance)
point2 := findEndPoint(lon, lat, azimuth+(beamWidth/2), distance)