问题标签 [clipperlib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
340 浏览

ios - WhirlyGlobe 的 Cocoapods Clipper 安装错误

我正在尝试使用 cocoapods 在我的项目中安装 WhirlyGlobe,但我收到“安装 Clipper 时出错”。我在 podfile.xml 中添加了以下几行。

执行命令时出现以下错误pod install

0 投票
1 回答
241 浏览

polygon - Clipperlib 多边形差异问题

我无法计算两个简单多边形之间的差异。

这是出现问题时我正在测试的案例的绘图 在此处输入图像描述

左边的红色多边形是主题多边形 黄色多边形是裁剪多边形 右边的多边形是使用裁剪器库多边形差异后的结果。

而不是有 2 个正方形(中间形状的红色正方形),我有这个(右侧的红色多边形)。我用相交操作进行了测试,它给了我黄色的多边形,这很好,所以相交没有问题。我还测试了 XOR 操作,其输出应该与这种特定情况下的差异相同,实际上它是相同的(错误的)输出。

有没有人经历过这个?

编辑:好的,实际上输出多树包含 1 个多节点,轮廓为 8 个点。(2,2) 点在此轮廓中出现两次。我记录下面的轮廓: (2,2) (3,2) (3,3) (2,3) (2,2) (1,2) (1,1) (2,1)

所以我想这没问题,我可以通过更改我的绘图方法(比如使用 ClipperLib SimplifyPolygon 方法)来处理输出数据以绘制 2 个正方形

0 投票
1 回答
740 浏览

c++ - 在 Clipper 库中剪切打开的路径

Clipper中,给定一个开放路径(黑色)和一个闭合多边形(蓝色),我如何剪裁开放路径,以便使用多边形轮廓完成剪裁部分,并且在可能的情况下,保留一条路径而不是不相交的段?
什么 Clipper 操作可以实现这一点?

在此处输入图像描述

请注意,裁剪多边形不一定是示例中的矩形,因此完成的线段本身可能是折线。

0 投票
1 回答
582 浏览

python - pyclipper:在琐碎的情况下崩溃(“终止称为抛出异常”)

我正在尝试使用Clipper Python绑定来使用多边形剪裁一条线。但是该进程在绑定或裁剪器库中崩溃:

当我运行上述代码时,进程在调用期间终止,pc.Execute()并将以下消息写入标准错误:

我在 OS X 10.8.5 上使用 Python 3.4.3,在 PyPI 上使用最新版本的 pyclipper (0.9.3b0),它使用 Clipper 6.2.1。

我做错了什么还是这是 Clipper 或 pyclipper 中的错误?

0 投票
0 回答
433 浏览

c# - 对多面体进行联合时,Clipperlib 的行为不符合预期

我正在尝试合并一个多面体,但效果不佳,如下图所示:

在此处输入图像描述

我正在使用的代码是:

我真正希望联合的 oucome 看起来像下面这样,所以中间的任何交叉点都应该被忽略,并且应该创建一个覆盖两个形状的区域:

在此处输入图像描述

原来的形状是: 在此处输入图像描述

0 投票
0 回答
178 浏览

c# - Clipper 如何让所有多边形连接到给定点

我目前正在做一个项目,我必须在一组剪裁器多边形中找到连接到给定坐标集的所有点。所以这意味着我有以下内容:

并希望返回 List> 包含每个多边形的返回值,该多边形具有不间断连接到开始。

会变成

将保持自由

多边形都是封闭的,有些可能重叠。

有人知道怎么做吗?

0 投票
1 回答
571 浏览

clipperlib - 在 GeoJson 形状中打孔 - clipperLib

我有几个重叠的形状。我希望能够在包含所有较小形状的最大形状上打孔。这些孔将代表较大形状中的较小形状。

示例图片: 在此处输入图像描述

我正在使用 C# 版本的 ClipperLib:

但返回的形状是上图中最大的形状。

GeoJson 文件: http ://s000.tinyupload.com/download.php?file_id=62259172894067221043&t=6225917289406722104327028

0 投票
0 回答
427 浏览

c++ - 如何在 Clipperlib 中添加开放路径

Clipper 的文档说“主题”路径可能是开放的(线)或封闭的(多边形),甚至是两者的混合。然而,当我尝试在 ClipperLib::Clipper 类中添加开放路径时,它总是得到错误。源码如下:

ClipperLib::Clipper splitArea; //Declare an object of Clipper splitArea.Clear(); ClipperLib::Path Sub; //Declare an object of path Sub<<ClipperLib::IntPoint(-1000*1000000,0*1000000) <<ClipperLib::IntPoint(0*1000000,1000*1000000); //add a line in path splitArea.AddPath(Sub,ClipperLib::ptSubject,false); //this line is error ...

0 投票
0 回答
162 浏览

c# - ClipperLib - 几个网格的联合(剪辑或主题?)

我正在使用 ClipperLib(C# 版本)。

我想要实现的是,对于几个网格的给定坐标,我将它们联合起来作为答案。对于两个相交的网格和第三个(完全分开的),我预测得到两个元素的答案:

  1. 相交网格的联合
  2. 第三个网格的坐标(分隔一个)。

但是,我实际上得到的是一些奇怪的答案,缺少相交网格的坐标。

我所做的:

我将这 3 个网格的坐标添加到剪辑中,然后执行此操作。我想知道这是否与空的主题路径有关。如果有人遇到这样的问题,我将不胜感激。

0 投票
1 回答
365 浏览

polygons - 防止裁剪器合并多边形?

当我计算两个相互接触的形状之间的差异时(例如,一个较大的矩形 B 中的一个矩形 A,在矩形 A 上有一个孔)和一个剪辑形状(矩形 C),这两个接触的形状被合并,因为它们共享相同的边缘然后执行剪辑。

剪裁时是否可以避免合并触摸形状?

这是两个形状(绿色的A和红色的B)和一个剪辑(所以操作是:A&B - Clip)之间差异的示例,它返回蓝色的形状:

用夹子区分(蓝色)两个接触的形状(绿色 A 和红色 B)

而不是蓝色矩形,我想有这两种形状:

预期结果

交叉点会给出:

路口

这会给我我想要的四种形状:

预期结果

我知道我可以分别对每个形状执行操作,但恐怕会更昂贵。

笔记

这是 XOR 的结果:

异或