【发布时间】:2015-07-13 21:58:31
【问题描述】:
我有一个点 C 和一个线串 AB,两者都具有 SRID 4326。我想找到C 到B 的垂直投影,即点D。
我目前有一个使用单位向量的垂直投影的 2D 实现。但它不会在世界地图上返回正确的点(因为它是 2D 的)。在这里找到:Perpendicular on a line segment from a given point
我已经想到了两种使用 PostGIS 的方法:
1) 创建一条从C 到点E 的线,其中CE 平行于AB。然后将CE绕C旋转90度,找到交点,应该是D。
2)在这里找到类似于谷歌地图几何库的方位和距离方法(computeOffset方法:https://developers.google.com/maps/documentation/javascript/geometry
我将如何使用 GeoDjango 方法做到这一点。好像没有暴露ST_AZIMUTH或者ST_ROTATE?
在GeoDjango 中使用原始 SQL 似乎也是一种反模式。但在这种情况下,我似乎需要比GeoDjango API 允许的更精细的控制。
任何帮助将不胜感激。
【问题讨论】:
标签: python gis postgis geodjango