如何计算表示非直线线串几何的轴承?

例如,鉴于此线串:

LINESTRING(-100.06372406847015 25.4583895045113,-95.14184906847015 30.197590679284158,-100.67895844347015 33.335334871825495,-95.40552094347015 36.576044042090466,-100.59106781847015 39.14304403636714,-95.40552094347015 41.61974326920709,-100.15161469347015 43.56067943577098,-95.66919281847015 45.87106856382069,-110.08325531847015 48.44030667059785,-85.38598969347015 48.73100364391479)

您可以在此处可视化:http://arthur-e.github.io/Wicket/sandbox-gmaps3.html

sql - 线串的平均方位-LMLPHP

起点(线串中的第一个点)在 map 的底部(从墨西哥开始)。

我希望该线的平均/总体方位角指向北(〜0度)

直线方位的大多数计算只是采用线串的起点和终点,并以此方式进行计算。这对于只有2点的直线是正确的。

我认为对线串执行此操作的方法是计算每个POINT对的方位并对其取平均值?

我不确定该方法是否正确,或者是否有更好的方法(内置函数或算法)

最佳答案

当您像您一样排列线段时,每个线段代表一个 vector ,总线就是一个合成 vector 。您可以找到 vector 的角度,找到起点和终点之间的角度。

在以下情况下可以计算制图方位角(以十进制度为单位)
在平面上已知2点的坐标(制图
坐标):

sql - 线串的平均方位-LMLPHP

资料来源:https://en.wikipedia.org/wiki/Azimuth

08-07 03:37