Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

simplify

Boost , Chapter 1. Geometry , simplify

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Упростите геометрию.

Synopsis

template<typename Geometry, typename Distance>
void simplify(Geometry const & geometry, Geometry & out, Distance const & max_distance)

Parameters

Тип

Концепция

Имя

Описание

Геометрия конст &

Любой тип, выполняющий концепцию геометрии

Геометрия

Вводная геометрия, упрощенная

Геометрия и лампа;

Любой тип, выполняющий концепцию геометрии

из

выходная геометрия, упрощенный вариант входной геометрии

Расстояние конст & амп;

числовой тип (int, double, ttmath, ...)

max_distance

расстояние (в единицах входных координат) вершины до других сегментов, подлежащих удалению

Header

Либо

#include <boost/geometry.hpp>

Либо

#include <boost/geometry/algorithms/simplify.hpp>

Conformance

Упрощение функций не определяется OGC.

[Note]Note

PostGIS содержит алгоритм с тем же названием и той же функциональностью. См. документациюPostGIS.

[Note]Note

SQL Сервер содержит алгоритм Reduce() с той же функциональностью. См. документациюMSDN.

Behavior

Упрощение выполняется с помощьюДугласа-Пеукера(если используется стратегия по умолчанию).

[Note]Note

Геометрия может стать недействительной с помощью упрощения. Процесс упрощения может создавать самопересечения.

Examples

Пример, показывающий, как упростить строку

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/linestring.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
1
#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); 2
    // 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;
}

1

В данном примере мы используем Boost. Назначение для добавления баллов

2

С Бустом. назначать

Результат:

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))
Image(s)

svg_simplify_country


PrevUpHomeNext

Статья simplify раздела Chapter 1. Geometry simplify может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: simplify ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 03:42:11/0.014470815658569/1