Sto cercando di identificare dove si intersecano le strade e di stabilire un punto a questo incrocio, con il numero di strade che formano l'incrocio elencato.
Mi chiedevo se ci fosse un modo per usare ST_NumPoints per raggiungere questo obiettivo, ma non riesco proprio a capire cosa dovrei fare. Quello che ho fatto è creare una tabella di punti in cui le linee si intersecano usando il seguente codice:
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);
Se eseguo questo su un campione di strade ottengo la seguente griglia di punti (le strade sono mostrate a scopo illustrativo):
Se ispeziono uno dei punti, vedo che ci sono molti punti uno sopra l'altro:
Il GID qui è l'ID della strada, ma non capisco perché ci siano alcuni punti. Riesco a capire che 4 punti vengono contati per un incrocio stradale centrale, ma ci sono 12 punti elencati qui. Esiste un modo migliore per eseguire questo calcolo in PostGIS?