当前位置: 首页 > news >正文

使用boost::geometry::union_ 合并边界(内、外)- 方案一

使用boost::geometry::union_ 合并边界(内、外):方案一

结合 boost::geometry::read_wkt() 函数

#include <iostream>
#include <vector>#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>#include <boost/foreach.hpp>int main()
{typedef boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> > polygon;polygon polygon1, polygon2;std::string str_points_of_cur_frame_data = "POLYGON((1.500000 1.500000,1.500000 2.500000,2.500000 2.500000,2.500000 1.500000,1.500000 1.500000))";std::string str_points_of_compared_frame_data = "POLYGON((1.000000 1.000000,1.000000 2.000000,2.000000 2.000000,2.000000 1.000000,1.000000 1.000000))";boost::geometry::read_wkt(str_points_of_cur_frame_data, polygon1);boost::geometry::read_wkt(str_points_of_compared_frame_data, polygon2);std::vector<polygon> output;boost::geometry::union_(polygon1, polygon1, output);//通过验证:与传入的顺序无关,均返回相同的结果。std::vector<Point> vctr_combined ;if (!r.empty())//有结果返回{for (auto & pt : output.outer()){vctr_combined.push_back(pt);}}    std::cout << "vctr_combined.size()  = " << vctr_combined.size() << std::endl;for(auto iter : vctr_combined){std::cout << "iter.x  = " << iter.x << ", iter.y  = " << iter.y << std::endl;}return 0;
}

合并结果:

  • P1、P5 为新增自动生成的交叉点
  • P1为首位重合点
  • P1 ~ P8 ~ P8 为顺时针顺序

在这里插入图片描述

http://www.lryc.cn/news/149871.html

相关文章:

  • 面向高速公路车辆切入场景的自动驾驶测试用例生成方法
  • Java:SpringBoot整合SSE(Server-Sent Events)实现后端主动向前端推送数据
  • cmd命令行设置 windows 设置环境变量
  • 基于负载均衡的在线OJ实战项目
  • Opencv手工选择图片区域去水印
  • 《向量数据库》——向量数据库跟大模型是什么关系呢?
  • 通过这 5 项 ChatGPT 创新增强您的见解
  • W5500-EVB-PICO主动PING主机IP检测连通性(十)
  • 解释基本的3D理论
  • C# 练习题
  • 解决Linux报错:Swap file “xxxxxx.swp“ already exists
  • 基于飞桨图学习框架的空间异配性感知图神经网络
  • Springboot整合JWT
  • 如何使用Python和正则表达式处理XML表单数据
  • LA@方阵相似@相似矩阵的性质
  • ZLMediaKit 各种推拉流
  • 行业追踪,2023-08-29
  • 【简单】228. 汇总区间
  • Mysql高级语句
  • Python中 re.compile 函数的使用
  • 【分布式搜索引擎es】
  • 单片机的ADC
  • 如何把pdf文件合并?分享最新pdf合并方法
  • 笙默考试管理系统-MyExamTest----codemirror(11)
  • Spring MVC 五 - Spring MVC的配置和DispatcherServlet初始化过程
  • Ramp 有点意思的题目
  • 算法通关村14关 | 堆在数组中找第k大的元素应用
  • Unity 顶点vertices,uv,与图片贴图,与mesh
  • Shell编程之函数
  • 10.物联网LWIP之TCP状态转变