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

length (with strategy)

Boost , Chapter 1. Geometry , length

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

Расчет длины геометрии с использованием указанной стратегии.

Description

Длина свободной функции рассчитывает длину (сумма расстояний между последовательными точками) геометрии с использованием указанной стратегии. Причины для определения стратегии включают в себя: использование другой системы координат для расчетов; заранее конструировать стратегию (например, с радиусом Земли); выбрать стратегию, когда есть более одной доступной для расчета.

Synopsis

template<typename Geometry, typename Strategy>
default_length_result<Geometry>::type length(Geometry const & geometry, Strategy const & strategy)

Parameters

Тип

Концепция

Имя

Описание

Geometry const &

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

геометрия

Модель указанной концепции

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

стратегия

Returns

Расчетная длина

Header

Или

#include <boost/geometry.hpp>

Или

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

Conformance

Длина функции реализована из OGC Simple Feature Specification.

Behavior

Дело

Поведение

areal (например, многоугольник)

Complexity

Линейный

Examples

Следующий пример показывает длину, измеренную над сферой, выраженную в километрах. Для этого радиус сферы должен быть указан в конструкторе стратегии.

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/linestring.hpp>
int main()
{
    using namespace boost::geometry;
    typedef model::point<float, 2, cs::spherical_equatorial<degree> > P;
    model::linestring<P> line;
    line.push_back(P(2, 41));
    line.push_back(P(2, 48));
    line.push_back(P(5, 52));
    double const mean_radius = 6371.0; 1
    std::cout << "length is "
        << length(line, strategy::distance::haversine<float>(mean_radius) )
        << " kilometers " << std::endl;
    return 0;
}

Результат:

length is 1272.03 kilometers

PrevUpHomeNext

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




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



:: Главная :: length ::


реклама


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

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