【问题标题】:moving coordinate point by X meters in certain direction将坐标点沿某个方向移动 X 米
【发布时间】:2019-02-14 11:39:24
【问题描述】:

我有一个存储在 postgresql 中的坐标点,例如 33.215, 35.124 ...我的方位角向量的方向(与北方的角度)为 55,我希望将点在方位角的方向上移动 20米,我怎样才能做到这一点?

谢谢

【问题讨论】:

    标签: mysql postgresql geolocation coordinate-systems


    【解决方案1】:

    如果你已经安装了PostGIS扩展,你可以使用ST_Project

    SELECT ST_AsText(ST_Project('POINT(35.124 33.215)'::geography, 20, radians(55.0)));
    

    【讨论】:

    • 谢谢!似乎完成了这项工作!小问题,在你的例子中,55 是度数并被转换为弧度,对吧?
    • 正在尝试这个我们手动计算的示例(78.4437,-0.31399,移动 100m,方位角 30),我们的结果是 -78.4432,-0.313211,而在上述方法中它是 -78.4432508354379 -0.319116793293144 ,方向不同,请指教?谢谢 (SELECT ST_AsText(ST_Project('POINT(-78.4437 -0.3199)'::geography, 100, 弧度(30.0)));)
    • @roynaufal 您/函数认为方位角 0 度可能有所不同。请参阅提供的链接中的文档。
    • @roynaufal 是的,该函数需要一个以弧度表示的方位角
    猜你喜欢
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 2011-11-08
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多