簡體   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