Boost.Геометрия достаточно зрелая? - программирование
Подтвердить что ты не робот

Boost.Геометрия достаточно зрелая?

Недавно я был нанят компанией ГИС, чтобы переписать их старые библиотеки геоматики. Поэтому я сейчас ищу хорошую библиотеку вычислительной геометрии. Я видел CGAL, и это потрясающе, но мой босс хочет чего-то свободного.

Итак, теперь я проверяю Boost.Geometry. Эта библиотека кажется отличной, но также кажется, что она очень быстро меняется. Многие вещи еще не реализованы, и в списке рассылки обсуждается множество проблем.

Следовательно, мой вопрос: Boost.Geometry достаточно зрелая, поэтому я могу что-то построить на ней? Или дизайн все еще будет развиваться?

Спасибо

4b9b3361

Ответ 1

В зависимости от ваших потребностей вы можете посмотреть GEOS, который используется PostGIS для своей геометрии операций, среди прочих, и более зрелый, чем boost:: geometry. Тем не менее, это трудно расширить, что вам придется делать самостоятельно, если вы хотите поддерживать более чем простые функции.

Где boost:: geometry светит, на мой взгляд, это его способность адаптироваться к существующим (устаревшим) библиотекам, что означает, что вы должны иметь возможность хранить некоторые из ваших структур данных работодателя (или любой другой существующей геометрической библиотеки) и опираться на них с помощью boost:: geometry.

Boost:: geometry набирает зрелость и расширенные функции довольно быстро, но я не думаю, что дизайн сильно изменился с прошлого года (когда он был принят в boost). Я бы спросил в списке рассылки - авторы очень активны и полезны.

Ответ 2

Это зависит от ваших потребностей.

Boost - одна из самых эффективных, опытных и зрелых библиотек С++, но когда дело доходит до геометрии, лучше всего использовать geos, я попробовал оба из них в проекте 3D-оптимизации данных.

Boost-Geometry Плюсы: -Performant -Настроенный API

Geos Плюсы: -Accurate -Mature