Разрезать линии в точках пересечений
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Разрезать линии в точках пересечений
Есть слой пересекающихся линий. Подскажите, пожалуйста, как можно во всех точках пересечения разорвать (split) линии открытыми инструментами. Спасибо.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Разрезать линии в точках пересечений
недавно решали тоже самое и не решили, разбили в Arcinfo Workstation, надо расширение писать, но задача разовая, поэтому пока не будем
пристегивайтесь, турбулентность прямо по курсу
- Mavka
- Гуру
- Сообщения: 2060
- Зарегистрирован: 14 мар 2008, 17:36
- Репутация: 9
Re: Разрезать линии в точках пересечений
OrbisGIS
Имеем три пересекающиеся линии. Берем функцию ST_ToLineNoder (см. доки)
и получаем 7 отдельных линий.
Имеем три пересекающиеся линии. Берем функцию ST_ToLineNoder (см. доки)
Код: Выделить всё
SELECT ST_ToLineNoder(the_geom) FROM orbis_test
и получаем 7 отдельных линий.
Последний раз редактировалось Mavka 13 фев 2012, 10:41, всего редактировалось 3 раза.
лангольеры под окном жрали время ом-ном-ном
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Разрезать линии в точках пересечений
Отлично.
А если 100 шейпов, тоже грузить в OrbisGIS ?
Кстати, ведь наверняка в PostGIS нарубить линии можно, а? Database-гуру должны знать.
А если 100 шейпов, тоже грузить в OrbisGIS ?
Кстати, ведь наверняка в PostGIS нарубить линии можно, а? Database-гуру должны знать.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Разрезать линии в точках пересечений
Можно-можно. И в QGIS тоже можно.amuriy писал(а):Кстати, ведь наверняка в PostGIS нарубить линии можно, а? Database-гуру должны знать.
P.S. не Database-гуру и вообще не гуру
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Re: Разрезать линии в точках пересечений
Mavka, спасибо, буду пробовать!
Voltron, подскажи, пожалуйста, как в QGIS порезать можно?
Voltron, подскажи, пожалуйста, как в QGIS порезать можно?
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Разрезать линии в точках пересечений
Я имел в виду не готовое решение, а вообще саму возможность. Все необходимые функции есть в АПИ.
-
- Активный участник
- Сообщения: 153
- Зарегистрирован: 14 окт 2009, 05:07
- Репутация: 0
- Откуда: Красноярск
- Контактная информация:
Re: Разрезать линии в точках пересечений
Можно в Грасс сделать модуль v.clean
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Re: Разрезать линии в точках пересечений
Видео на тему v.clean + QGIS - http://youtu.be/rb4iqRmcxHY
Подскажите, пожалуйста, в PostGIS через любой GUI можно как-то подобную порезку провернуть?
И, если не GUI, то в какую сторону искать. Спасибо.
Подскажите, пожалуйста, в PostGIS через любой GUI можно как-то подобную порезку провернуть?
И, если не GUI, то в какую сторону искать. Спасибо.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Разрезать линии в точках пересечений
Гуй тут зачем? Это через SQL должно решатся, вроде бы в 2.0 ST_Split делает то, что надо
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Re: Разрезать линии в точках пересечений
Для упрощения работы "простого" пользователя ГИС. Спасибо.Voltron писал(а):Гуй тут зачем?
Если в QGIS сделать "Vector > Analysis Tools > Line Intersections", то в gvSIG можно воспользоваться "SEXTANTE > Tools for line layers > Split lines with points layer".
GRASS, gv, Q... Пролетарии OpenGIS всех стран - ... !
Последний раз редактировалось oleg 12 фев 2012, 00:10, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 2627
- Зарегистрирован: 29 мар 2007, 14:12
- Репутация: 34
- Откуда: Ukraine
Re: Разрезать линии в точках пересечений
Похожий модуль для QGIS давно в разработке. Единственная проблема — времяoleg писал(а):Если в QGIS сделать "Vector > Analysis Tools > Line Intersections", то в gvSIG можно воспользоваться "SEXTANTE > Tools for line layers > Split lines with points layer".
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Re: Разрезать линии в точках пересечений
v.clean.break разрезает только часть линий в Т-образных соединениях, часть же остается целыми линиями. Подскажите, пожалуйста, есть ли путь для порезки всех линий в GRASS\gvSIG\QGIS, спасибо.Trace писал(а):Можно в Грасс сделать модуль v.clean
- Вложения
-
- t.png (2.06 КБ) 13497 просмотров
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Разрезать линии в точках пересечений
Модуль <v.clean> с опцией "break" разрезает только пересекающиеся линии. Значит, среди ваших линий есть непересекающиеся.oleg писал(а): v.clean.break разрезает только часть линий в Т-образных соединениях, часть же остается целыми линиями.
Редактор материалов, модератор форума
-
- Завсегдатай
- Сообщения: 460
- Зарегистрирован: 03 фев 2005, 11:46
- Репутация: 15
- Контактная информация:
Re: Разрезать линии в точках пересечений
amuriy, спасибо! Всё верно, обнаружил "микроразывы" порядка миллиметров. Источник пока не выявил, похоже на специфику инструментов. При создании данных использовали прилипание - QGIS 1.7.3 00624b3.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей