![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
simplifyBoost , Chapter 1. Geometry , simplify
|
Тип |
Концепция |
Имя |
Описание |
---|---|---|---|
Геометрия конст & | Любой тип, выполняющий концепцию геометрии | Геометрия | Вводная геометрия, упрощенная |
Геометрия и лампа; | Любой тип, выполняющий концепцию геометрии | из | выходная геометрия, упрощенный вариант входной геометрии |
Расстояние конст & амп; | числовой тип (int, double, ttmath, ...) | max_distance | расстояние (в единицах входных координат) вершины до других сегментов, подлежащих удалению |
Либо
#include <boost/geometry.hpp>
Либо
#include <boost/geometry/algorithms/simplify.hpp>
Упрощение функций не определяется OGC.
![]() | Note |
---|---|
PostGIS содержит алгоритм с тем же названием и той же функциональностью. См. документациюPostGIS. |
![]() | Note |
---|---|
SQL Сервер содержит алгоритм Reduce() с той же функциональностью. См. документациюMSDN. |
Упрощение выполняется с помощьюДугласа-Пеукера(если используется стратегия по умолчанию).
![]() | Note |
---|---|
Геометрия может стать недействительной с помощью упрощения. Процесс упрощения может создавать самопересечения. |
Пример, показывающий, как упростить строку
#include <iostream> #include <boost/geometry.hpp> #include <boost/geometry/geometries/linestring.hpp> #include <boost/geometry/geometries/point_xy.hpp>#include <boost/assign.hpp> using namespace boost::assign; int main() { typedef boost::geometry::model::d2::point_xy<double> xy; boost::geometry::model::linestring<xy> line; line += xy(1.1, 1.1), xy(2.5, 2.1), xy(3.1, 3.1), xy(4.9, 1.1), xy(3.1, 1.9);
// Simplify it, using distance of 0.5 units boost::geometry::model::linestring<xy> simplified; boost::geometry::simplify(line, simplified, 0.5); std::cout << " original: " << boost::geometry::dsv(line) << std::endl << "simplified: " << boost::geometry::dsv(simplified) << std::endl; return 0; }
Результат:
original: ((1.1, 1.1), (2.5, 2.1), (3.1, 3.1), (4.9, 1.1), (3.1, 1.9)) simplified: ((1.1, 1.1), (3.1, 3.1), (4.9, 1.1), (3.1, 1.9))
Статья simplify раздела Chapter 1. Geometry simplify может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
реклама |