Estoy tratando de identificar dónde se cruzan las carreteras, y hacer un punto en esta intersección, con el número de carreteras que forman la intersección enumerados.
Me preguntaba si habría alguna forma de utilizar ST_NumPoints para conseguirlo, pero no acabo de entender qué debo hacer. Lo que he hecho es crear una tabla de puntos donde se cruzan las líneas utilizando el siguiente código:
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);
Si lo ejecuto en una muestra de carreteras, obtengo la siguiente cuadrícula de puntos (las carreteras se muestran a título ilustrativo):
Si inspecciono uno de los puntos, veo que hay muchos puntos apilados unos encima de otros:
El GID aquí es la identificación de la carretera, pero no entiendo por qué hay tantos puntos. Puedo entender que se cuenten 4 puntos para una intersección central de carreteras, pero aquí aparecen 12 puntos. ¿Hay una mejor manera de realizar este cálculo en PostGIS?