Estoy tratando de identificar dónde se cruzan las carreteras entre sí, y hacer un punto en esta intersección, con el número de carreteras que forman la intersección enumerada.
Me preguntaba si había alguna forma de usar ST_NumPoints para lograr esto, pero no puedo entender qué debería hacer. Lo que he hecho es crear una tabla de puntos donde las líneas se cruzan usando 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 ejecuto esto en una muestra de carreteras, obtengo la siguiente cuadrícula de puntos (las carreteras se muestran a modo de ilustración):
Si inspecciono uno de los puntos, veo que hay muchos puntos apilados uno encima del otro:
El GID aquí es la identificación de la carretera, pero no entiendo por qué hay muchos puntos. Puedo entender que se cuentan 4 puntos para una intersección de carretera central, pero hay 12 puntos enumerados aquí. ¿Hay una mejor manera de realizar este cálculo en PostGIS?