![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
strategy::area::huillerBoost , Chapter 1. Geometry , Strategies
|
Параметр |
по умолчанию |
Описание |
---|---|---|
Имя типа PointOfSegment | точечный тип сегментов колец/полигонов | |
Типовое имя Расчет Тип | пустота | числовой тип для расчета (например, высокая точность); еслипустота, то он автоматически извлекается из координатного типа и (при необходимости) перемещается в плавающую точку |
Функция |
Описание |
Параметры |
---|---|---|
huiller(calculation_type radius = 1.0)
| вычисление_тип:радиус: |
Функция |
Описание |
Параметры |
Возвращение |
---|---|---|---|
void apply(PointOfSegment const & p1, PointOfSegment const & p2, excess_sum & state)
| PointOfSegment const &:p1: PointOfSegment const &:p2: excess_sum &:состояние: | ||
return_type result(excess_sum const & state)
|
excess_sum const &: state: |
#include <boost/geometry/strategies/spherical/area_huiller.hpp>
Вычислите площадь полигона
#include <iostream> #include <boost/geometry.hpp> #include <boost/geometry/geometries/point_xy.hpp> #include <boost/geometry/geometries/polygon.hpp> namespace bg = boost::geometry;int main() { // Calculate the area of a cartesian polygon bg::model::polygon<bg::model::d2::point_xy<double> > poly; bg::read_wkt("POLYGON((0 0,0 7,4 2,2 0,0 0))", poly); double area = bg::area(poly); std::cout << "Area: " << area << std::endl; // Calculate the area of a spherical polygon (for latitude: 0 at equator) bg::model::polygon<bg::model::point<float, 2, bg::cs::spherical_equatorial<bg::degree> > > sph_poly; bg::read_wkt("POLYGON((0 0,0 45,45 0,0 0))", sph_poly); area = bg::area(sph_poly); std::cout << "Area: " << area << std::endl; return 0; }
Результат:
Area: 16 Area: 0.339837
Статья strategy::area::huiller раздела Chapter 1. Geometry Strategies может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Strategies ::
реклама |