如何解决如何计算给定中心和方位角的扇区点的地理坐标
我有中心点的地理坐标,半径和方位角以及扇形角也是已知的。基于这些参数,我想计算扇区点的 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,azimuth+(beamWidth/2),distance)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。