[英]Perpendicular Projection of point onto line using GeoDjango
我有一个点C
和一个线串AB
,都带有SRID 4326
。 我想找到C
在B
上的垂直投影,该投影就是D
点。
我目前使用单位向量对此垂直投影进行2D实现。 但是它不会在世界地图上返回正确的点(因为它是2D)。 在这里找到: 垂直于给定点的线段
我想到了两种使用PostGIS的方法:
1)创建一条从C
到点E
的线,其中CE
平行于AB
。 然后将CE
绕C
旋转90度,找到应该为D
的交点。
2)在此处找到类似于Google Maps几何库的方位角和距离方法( computeOffset
方法: https : //developers.google.com/maps/documentation/javascript/geometry
我将如何使用GeoDjango
方法做到这一点。 它似乎没有公开ST_AZIMUTH
或ST_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.