![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
area (with strategy)Boost , Chapter 1. Geometry , area
|
Тип |
Концепция |
Имя |
Описание |
---|---|---|---|
Геометрия const & | Любой тип, выполняющий концепцию геометрии | геометрия | Модель указанного понятия |
Любой тип реализации концепции стратегии | стратегия
| Стратегия, которая будет использоваться для расчета площади |
Расчетная площадь
Либо
#include <boost/geometry.hpp>
Либо
#include <boost/geometry/algorithms/area.hpp>
Функциональная область реализует функцию Area из OGC Simple Feature Specification.
Дело |
Поведение |
---|---|
ареал (например, полигон) | Возвращает область |
Картезиан | Возвращает область в те же единицы, что и входные координаты. |
Возвращает область на единичную сферу (или другую сферу, если она указана в качестве таковой в конструкторе стратегии) | |
Геометрия |
Статус |
---|---|
![]() | |
Сегмент | ![]() |
Коробка | ![]() |
![]() | |
Кольцо | ![]() |
![]() | |
![]() | |
MultiLinestring | ![]() |
![]() | |
Варианты | ![]() |
Линейный
Вычислите площадь полигона
#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
Статья area (with strategy) раздела Chapter 1. Geometry area может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
реклама |