Я намагаюся визначити, де дороги перетинаються між собою, і зробити точку на цьому перехресті з вказаною кількістю доріг, що утворюють перехрестя.
Мені було цікаво, чи існує якийсь спосіб використання 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 - це ідентифікатор дороги, але я не розумію, чому є багато точок. Я можу зрозуміти, що 4 пункти зараховуються до центрального перехрестя дороги, але тут перераховано 12 пунктів. Чи є кращий спосіб виконати цей розрахунок у PostGIS?