[英]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.