Итак, вы хотите линейную линию с каждого края многоугольника?Я думаю, что у меня есть ответ, если это правда.
Во-первых: я бы создал представление, в котором все ваши многоугольники имеют линейные линии.Как вы указали, вы можете использовать ST_Boundary.(Так что второй запрос легко писать и читать)
CREATE VEIW my_linestrings as
SELECT id,..., ST_BOUNDARY(the_geom)
FROM <yourtable>
Второй: поскольку это линейная строка, вы можете использовать ST_POINTN для получения n-й точки и ST_MAKELINE для создания двухсегментной линии.
SELECT id,..., ST_MakeLine(ST_PointN(the_geom,x),ST_PointN(the_geom,x+1))
FROM my_linestrings
ST_MakeLine даст вам ваш сегмент линейных линий.Вы можете сделать цикл в Python, чтобы повторить все точки.Если это то, что вам нужно сделать, вероятно, было бы лучше создать новую таблицу с этими сегментами.
Кроме того, присоединяйтесь к нам на gis.stackexchange.com;) Этот вопрос аналогичен вашему и использует SQL для создания серии для цикла по всем геометриям (вместо python).