Функция "Объединение выделенных объектов": линии

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Neo
Интересующийся
Сообщения: 46
Зарегистрирован: 13 фев 2010, 21:41
Репутация: 0

Функция "Объединение выделенных объектов": линии

Сообщение Neo » 28 фев 2010, 15:58

Данная функция наконец-то объединяет две и более линии (в слое). Ура!
Но только логически! В один логический объект.
А рисуется как две и более.
Вот я две линии объединил, а конечные их точки так и не объединились отрезком, т.е. осталась пустота,
хотя выделяются как один объект.
Вложения
Об_две_линии.JPG
две синие линии - одна река, а между ними пустота...
Об_две_линии.JPG (102.13 КБ) 12592 просмотра

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: Функция "Объединение выделенных объектов": линии

Сообщение Denis Rykov » 28 фев 2010, 16:05

Для физического объединения двух линий служит инструмент Join lines, находится в репозитории гислаба.
Spatial is now, more than ever, just another column- The Geometry Column.

Neo
Интересующийся
Сообщения: 46
Зарегистрирован: 13 фев 2010, 21:41
Репутация: 0

Re: Функция "Объединение выделенных объектов": линии

Сообщение Neo » 28 фев 2010, 17:12

Название кнопки "Merge...". что в переводе - "объединить", а линии эта кнопка только "группирует".
При объединении линий нужно создавать единый список координат точек, а не группу линий, тогда и пробела не будет.
Это недочет разработчиков, по-моему!

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Функция "Объединение выделенных объектов": линии

Сообщение Mavka » 28 фев 2010, 17:26

В ГИС есть такое понятие как мультилиния, мультиполигон (в WKT: MULTILINESTRING, MULTIPOLYGON). Это именно отдельные линии (полигоны), которые существуют как цельный объект.
лангольеры под окном жрали время ом-ном-ном

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Функция "Объединение выделенных объектов": линии

Сообщение Максим Дубинин » 28 фев 2010, 21:20

Neo писал(а):Это недочет разработчиков, по-моему!
Это не недочет разбработчиков, это функция создающая комплексный объект геометрии, мультилинию, она может содержать пустоты. Физическое объединение требует алгоритма изменения информации (добавления сегментов, добавления/удаления узлов), текущий инструмент этим не занимается, что вполне резонно.

Попробуйте сделать тоже самое в Arcgis или Arcview, получите точно такое же поведение.

Для физического объединения (с некоторым изменением геометрии) попробуйте моё расширение Joinlines.
Читайте также http://gis-lab.info/blog/2010-02/python-console-qgis/
пристегивайтесь, турбулентность прямо по курсу

Neo
Интересующийся
Сообщения: 46
Зарегистрирован: 13 фев 2010, 21:41
Репутация: 0

Re: Функция "Объединение выделенных объектов": линии

Сообщение Neo » 01 мар 2010, 11:48

Только окончил изучение дисциплины "Основы ГИС"
и знаю как, например, в Shape-файлах хранятся точечные, линейные и полигональные объекты.
А в моем проекте как раз и есть такой слой (реки).

А линии хранятся примерно так:
ID Coordinates
1 x1,y1;x2,y2;...x10,y10
2 x11,y11;x12,y12;...x23,y23

PS
... - множество координатных пар (может даже триад 3-d)

А функция объединения, по-моему, должна сделать из двух линий примерно такое:
ID Coordinates
1 x1,y1;x2,y2;...x10,y10;x11,y11;x12,y12;...x23,y23

И если можно сдвинуть вершину линии, всю линию, и даже удалить линии, то для реализации этого не нужно и ничего нового придумывать:
просто дописать в первую линию координаты 2-й, 3-й и т.д. объединяемых линий, а эти линии( №2, №3 и т.д.) удалить из Shape-файла слоя.
Вот и все дела.
That's all!
PS2
А группирование иначе как логическим объединением и не назовешь, ведь это не целое получается, а совокупность.
Последний раз редактировалось Neo 01 мар 2010, 12:04, всего редактировалось 1 раз.

Neo
Интересующийся
Сообщения: 46
Зарегистрирован: 13 фев 2010, 21:41
Репутация: 0

Re: Функция "Объединение выделенных объектов": линии

Сообщение Neo » 01 мар 2010, 11:53

А инструмент доработать можно! И не сложно!
Я так считаю.
Особенно тем, кто разбирается в работе со слоями.

Или его стоит переименовать в "Группирование выделенных объектов",
и создать реальный инструмент объединения объектов, а не "мнимый".

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Функция "Объединение выделенных объектов": линии

Сообщение Mavka » 01 мар 2010, 13:23

Neo
Функция Merge выполняет очень нужную и правильную работу. Я уже писал, что для получаемого результата даже созданы специальные типы геометрии. Они действительно нужны именно такими - отдельными но объединенными в группу. Не нужно ее переделывать. Для вашей задачи есть другой инструмент - Join lines.
лангольеры под окном жрали время ом-ном-ном

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: Функция "Объединение выделенных объектов": линии

Сообщение Voltron » 01 мар 2010, 17:56

Neo
Комплексные объекты нужны. Может они не нужны вам лично, но это не повод объявлять их неправильными, "мнимыми".

Если вам кажется, что инструмент работает не правильно - сделайте свой, работающий как надо. Сообщество только благодарно будет.

Neo
Интересующийся
Сообщения: 46
Зарегистрирован: 13 фев 2010, 21:41
Репутация: 0

Re: Функция "Объединение выделенных объектов": линии

Сообщение Neo » 01 мар 2010, 23:15

С Яндекса:
Комплекс Брокгауз и Ефрон
Комплекс - лат., совокупность однородных предметов, составляющих одно целое.
А для чего нужны комплексные? Слой - та же совокупность однородных объектов (одного типа).
сделайте свой, работающий как надо
Как изучу основы С++ и работу с QGIS API (может и с GDAL/OGR), так и сделаю.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя