Как получить длину линии внутри многоугольника

13

Как я могу получить длину (коричневая отмеченная часть) "Дороги 7" внутри красного многоугольника?

занятый кот

Мой старт:

SELECT ST_Length(way) FROM lines WHERE road = "Road 7" AND ST_Intersects(line, polygon)?

С этим я получаю только общую длину :( У кого-то есть идея?

np00
источник

Ответы:

15

Необходимо рассчитать фактическое пересечение, например, http://postgis.net/docs/ST_Intersection.html

SELECT ST_Length(ST_Intersection(line,polygon)) 
Подземье
источник
Ты подтолкнул меня на это. +1 это должно сделать.
ГИС-Джонатан