我正在尝试确定道路相交的位置,并在此相交处定点,并列出构成该相交处的道路数量。
我想知道是否有使用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);
如果我在道路样本上运行此代码,则会得到以下点网格(道路仅供参考):
如果检查这些点之一,就会发现有很多点彼此叠放:
这里的GID是道路ID,但我不明白为什么会有很多点。我可以理解中央道路交叉路口被计算出的4个点,但是这里列出了12个点。有没有更好的方法在PostGIS中执行此计算?