獲取線的中間點 postgis

2021-09-10 02:42:06 字數 551 閱讀 8138

前言:qgis沒找到對應功能,只有mean coordinate(s),但不能滿足要求,最後找到了 postgis 的相關方法。

函式詳情

select st_astext(st_lineinterpolatepoint (st_linemerge(geom)

,0.5))

from line

這樣就能獲取中間點了。

st_linemerge是將multlinestring 轉成 linestring,即多線格式轉為單線。

這個函式前提條件:線幾何圖形要求必須是單線(多段時也是首尾相連),即存在多段斷開的multlinestring,那麼就會報錯

select st_astext(st_closestpoint(geom, st_centroid(geom)))

from line

這個只能獲取到近似中間點

原理是獲取到中心點,再獲取中心點離該線最近的那個點。線越是直的,那麼越逼近中間點。這個不受多線的限制

利用PostGIS將離散的點連成線

遇到這樣乙個需求,資料如下圖所示,將下面的點連成線,經分析後資料沒有有用的字段資訊。首先想到arcgis或qgis中有points to line的演算法,但是要求選擇排序字段,資料中沒有可排序的字段,經分析後資料的fid也不是按照路徑的走勢排序的,故不能使用此方法。大概思路如下 資料匯入postg...

點與線的關係

專案中需要到判斷點與線段的關係,發現使用向量外積來判斷容易些,惡補了一下向量的知識。向量外積,又稱叉積,是向量代數 解析幾何 中的乙個概念。兩個向量v1 x1,y1 和v2 x2,y2 的外積v1 v2 x1y2 y1x2。如果由v1到v2是順時針轉動,外積為負,反之為正,為0表示二者方向相同 平行...

點與線的關係處理

這裡我們使用向量來進行判斷 定義 平面上三點a x1,y1 b x2,y2 c x3,y3 組成的面積 含正負,取絕對值為面積 是 s a,b,c x1 x3 y2 y3 y1 y3 x2 x3 那麼,當abc逆時針順序時s為正的,順時針則s為負值。所以,對於有向線段ab和點c 如果s a,b,c ...