道路が交差する場所を特定し、交差点を形成する道路の数をリストして、この交差点でポイントを作成しようとしています。
これを達成するためにST_NumPointsを使用する方法があるかどうか疑問に思っていましたが、私は何をすべきかを理解できません。次のコードを使用して、線が交差するポイントのテーブルを作成しました。
CREATE TABLE test_points as
SELECT
ST_Intersection(a.geom, b.geom),
a.gid
FROM
roads as a,
roads as b
WHERE
ST_Touches(a.geom, b.geom);
道路のサンプルでこれを実行すると、次の点のグリッドが得られます(道路は説明のために示されています)。
ポイントの1つを調べると、多くのポイントが積み重なっていることがわかります。
ここのGIDは道路IDですが、なぜ多くのポイントがあるのか理解できません。中央の道路の交差点で4つのポイントがカウントされることは理解できますが、ここには12ポイントがリストされています。PostGISでこの計算を実行するより良い方法はありますか?