Russian Qt Forum
Ноябрь 24, 2024, 08:59
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Пространственная обработка (полигоны, линии, точки...)
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Пространственная обработка (полигоны, линии, точки...) (Прочитано 26093 раз)
phpCoder
Гость
Пространственная обработка (полигоны, линии, точки...)
«
:
Август 10, 2015, 14:25 »
Добрый день.
Есть ли на Qt (или на C++) библиотеки для пространственной обработки объектов (полигоны, линии, точки...) - пересечение, разность, объединение и прочее. Т.е. те инструменты, которые имеют ГИС системы? Может быть это умеет делать и сам Qt из коробки...
Очень нужно, спасибо.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #1 :
Август 10, 2015, 14:39 »
Цитата: phpCoder от Август 10, 2015, 14:25
Есть ли на Qt (или на C++) библиотеки для пространственной обработки объектов (полигоны, линии, точки...) - пересечение, разность, объединение и прочее. Т.е. те инструменты, которые имеют ГИС системы? Может быть это умеет делать и сам Qt из коробки...
Ну губу раскатали, уж и "из коробки"
Для начала 3D объекты надо иметь - и это не так уж просто. "пересечение, разность, объединение" называется "3D boolean", для этого есть неск неплохих open sources, но с ними надо заниматься. О каких-то популярных, стандартных (очевидных) решениях мне ничего не известно. Не исключено что в "ГИС системах" используются платные решения которых тоже немало.
В общем, проскочить на шару пых-пых товарищу вряд ли удастся
Конкретизируйте задачу
Записан
phpCoder
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #2 :
Август 10, 2015, 14:42 »
Знаете ли Вы (и другие читающие эту тему) библиотеки для обработки пространственных данных? Вопрос предельно простой.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #3 :
Август 10, 2015, 15:07 »
Цитата: phpCoder от Август 10, 2015, 14:42
Знаете ли Вы (и другие читающие эту тему) библиотеки для обработки пространственных данных? Вопрос предельно простой.
Это Вы считаете его простым
Умолкаю, пусть пых-пых резвость перекипит, а там посмотрим
Записан
phpCoder
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #4 :
Август 10, 2015, 15:09 »
Если библиотек не знаете - не пишите.
А ответ простой: да, знаю, например эта, эта и эта.
Или - нет не знаю.
Все.
Записан
Hrundel
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #5 :
Август 10, 2015, 20:43 »
Цитата: Igors от Август 10, 2015, 15:07
Цитата: phpCoder от Август 10, 2015, 14:42
Знаете ли Вы (и другие читающие эту тему) библиотеки для обработки пространственных данных? Вопрос предельно простой.
Это Вы считаете его простым
Умолкаю, пусть пых-пых резвость перекипит, а там посмотрим
Даже Игоря пробило!
Цитата: phpCoder от Август 10, 2015, 15:09
Если библиотек не знаете - не пишите.
А ответ простой: да, знаю, например эта, эта и эта.
Или - нет не знаю.
Все.
Умерте пыл. Библиотек таких на халяву не было и нет.
Могу вам посоветовать только три гениальные книги для решения подобных задач.
Боресков. А.В. Графика трехмерной компьютерной игры на OpenGL
Майкл Лассо. Вычислительная геометрия и компьютерная графика на C++
Павлидис Т. - Алгоритмы машинной графики и обработки изображений
еще не повредит
Поляков, Брусенцев - Методы и алгоритмы компьютерной графики в примерах на Visual C++
Никулин Е.А. - Компьютерная геометрия и алгоритмы машинной графики - Математика 3Д графики
«
Последнее редактирование: Август 10, 2015, 20:46 от Hrundel
»
Записан
phpCoder
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #6 :
Август 10, 2015, 22:54 »
GEOS
За книги спасибо.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #7 :
Август 11, 2015, 06:02 »
Все бы нормально если "на плоскости", т.е. полигон 2D - просто замкнутый контур. Тогда есть прекрасный boost::polygons и в CGAL есть. Но человек говорит "пространственная" - наверное имеет ввиду 3D. Так мрачно, ну пользовал я Cork, но там возни..
Записан
Naihil
Новичок
Offline
Сообщений: 23
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #8 :
Август 11, 2015, 09:41 »
В Qt есть классы для работы с полигонами - QPolygon(F), простейшие пересечения они обрабатывают.
Для полноценной обработки пространственных данных можно использовать уже упоминавшийся GEOS либо подключить библиотеки QGIS, которые по сути тоже используют GEOS.
Записан
phpCoder
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #9 :
Август 11, 2015, 10:06 »
Геометрия на плоскости конечно. В ГИС называется пространственными вычислениями.
В общем задача стандартная. Если два массива полигонов. Они могут быть как выпуклыми, так и невыпуклыми. Требуется первым массивом полигонов порезать второй массив полигонов. На выходе получить массив порезанных полигонов. (стандартная задача из ГИСа)
Смотрю буст сейчас - кто знает, помогите, какие методы нужно использовать для этого?
Записан
Hrundel
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #10 :
Август 11, 2015, 20:54 »
Тоже я смотрел этот GEOS. В него пока вработаешься столько же времени пройдет сколько сам писать будешь.
Записан
Hrundel
Гость
Re: Пространственная обработка (полигоны, линии, точки...)
«
Ответ #11 :
Август 11, 2015, 20:59 »
Цитата: phpCoder от Август 11, 2015, 10:06
Если два массива полигонов. Они могут быть как выпуклыми, так и невыпуклыми.
Правильно говорить конкавными и конвексными.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...