繁体   English   中英

使用GeoDjango的点到线的垂直投影

[英]Perpendicular Projection of point onto line using GeoDjango

我有一个点C和一个线串AB ,都带有SRID 4326 我想找到CB上的垂直投影,该投影就是D点。

在此处输入图片说明

我目前使用单位向量对此垂直投影进行2D实现。 但是它不会在世界地图上返回正确的点(因为它是2D)。 在这里找到: 垂直于给定点的线段

我想到了两种使用PostGIS的方法:

1)创建一条从C到点E的线,其中CE平行于AB 然后将CEC旋转90度,找到应该为D的交点。

2)在此处找到类似于Google Maps几何库的方位角和距离方法( computeOffset方法: https : //developers.google.com/maps/documentation/javascript/geometry

我将如何使用GeoDjango方法做到这一点。 它似乎没有公开ST_AZIMUTHST_ROTATE

GeoDjango使用原始SQL似乎也是一种反模式。 但是在这种情况下,似乎我需要比GeoDjango API所允许的更精细的控制。

任何帮助,将不胜感激。

对于PostGIS返回的点和LineString最接近点, ST_ClosestPoint http://postgis.net/docs/ST_ClosestPoint.html将是点到LineString上的正交投影

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM