问题标签 [polygon]

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 回答
5441 浏览

polygon - 如何从凹面 Delaunay 三角剖分中切出三角形?

我正在使用 Delaunay 对凹多边形进行三角剖分,但它填充了凹面。如何自动删除多边形边界之外的三角形?

0 投票
3 回答
16809 浏览

polygon - 在 PostGIS 中,如何找到多边形内的所有点?

我正在使用带有 GIS 扩展的 PostgreSQL 以及 OpenLayers、GeoServer 等来存储地图数据。给定一个多边形,例如一个社区,我需要找到存储在某个表(例如交通灯、餐馆)中的所有 LAT/LONG 点在多边形内。或者,给定一组多边形,我想在每个多边形内找到一组点(如 GROUP BY 查询,而不是遍历每个多边形)。

这些功能是我需要编程的,还是可用的功能(作为扩展 SQL)?请详细说明。

同样对于我拥有的简单 2D 数据,我真的需要 GIS 扩展(GPL 许可证是一个限制)还是 PostgreSQL 就足够了?

谢谢!

0 投票
3 回答
6029 浏览

mysql - 在 MySQL 中获取接近 lat,long 的多边形

有谁知道在距点的给定距离内获取 MySQL 数据库中所有多边形的方法?实际距离并不那么重要,因为它是稍后为每个找到的多边形计算的,但是仅对“接近”的多边形进行该计算将是一个巨大的优化。

我查看了 MBR 并包含函数,但问题是一些多边形不包含在围绕该点绘制的边界框中,因为它们非常大,但它们的一些顶点仍然很接近。

有什么建议么?

0 投票
2 回答
4822 浏览

python - 多边形与 Shapely 接触不止一个点

我有一个 Python 中的 Shapely 多边形列表。要找出哪个多边形触摸很容易,请使用该.touches()方法。但是,我需要True仅当多边形共享多个点(换句话说共享边界)时才返回的东西。让我举例说明:

在这种情况下,多边形 0 和 1 共享两个点(整个边界)。多边形 1 和 2 仅共享一个点。我正在寻找的是一个函数,它会给我True, False,False在上面的例子中或者只是返回触摸点数量的东西,然后我可以自己做剩下的逻辑。

当然,任何不涉及手动迭代所有点的解决方案都是最佳的 - 如果我需要这样做,它有点违背了使用 Shapely 的目的:-)

0 投票
3 回答
1919 浏览

geometry - 指向自相交/复杂多边形

我已阅读如何确定 2D 点是否在多边形内?但我不确定该解决方案是否适用于中间被内部段划分的多边形。想想一个正方形的数字 8,或者只是两个相互堆叠的正方形。任何一个正方形内的点肯定会在多边形“内部”,但交叉计数会根据您前进的方向(以及您是否越过该内部段)而有所不同。

样本多边形

我想解决这个问题的一种方法是将多边形视为两个单独的多边形......(在这种情况下,我需要一种算法将一个复杂的多边形划分为一组更简单的多边形?)

或者是否对光线投射算法或其他多边形点算法进行了改进,以处理我描述的情况?

0 投票
3 回答
1993 浏览

math - 使用鼠标缩放 2D 多边形

我开发了一个基于 Python 的绘图程序 Whyteboard ( https://launchpad.net/whyteboard )

我正在开发功能以允许用户旋转和缩放他们绘制的多边形。这是我的问题:

我有一个 Polygon 类,其中包含所有点的列表,最后是“关闭”的。用户可以在我的程序中选择绘制的形状,“突出显示”它们,在每个点绘制选择句柄。这些点可以被“抓取”以改变其位置,并改变多边形的形状。

我有一个问题:我需要弄清楚如何计算调整大小的“比例”以应用于多边形。例如,(在按住鼠标的情况下),用户将鼠标从形状上移开应该是一个“增长”动作,而将鼠标移向形状应该会缩小它。

我有代码来执行缩放(我相信这是正确的),但我无法创建一个“好的”缩放因子。下面的代码是我根据答案提出的

/edit - 这是解决的代码。

目前,这段代码似乎可以迅速将我的多边形缩小到零,并且没有多少鼠标移动会使它重新长出来。有时它会适得其反,迅速成长;但不退缩。

0 投票
3 回答
2067 浏览

geospatial - 创建封闭空间多边形

我需要为测试目的创建一组(大)空间多边形。是否有一种算法可以创建一个随机形状的多边形,使其保持在边界包络内?我正在使用 OGC Simple 的东西,所以创建众所周知的文本的例程是最有用的,选择的语言是 C#,但它并不那么重要。

0 投票
2 回答
9021 浏览

opengl - 如何让多边形抗锯齿工作?

我正在使用这些函数调用:

它不起作用,也不会渲染。

它不抗锯齿。

0 投票
4 回答
21576 浏览

c# - 在 C# 中计算不规则多边形的面积

我已经设法编写了一个'for dummies' 如何在 C# 中计算不规则多边形的面积,但我需要它对于任何数量的顶点都是动态的

有人可以帮忙吗?

班级:

表单加载:

dataGridView1.DataSource = verticies;

按下按钮时计算的代码:(硬编码为 4 点多边形 - 应该是任何数量...)

示例输出:

X1 = 930.9729 Y1 = 802.8789

X2 = 941.5341 Y2 = 805.662

X3 = 946.5828 Y3 = 799.271

X4 = 932.6215 Y4 = 797.0548

X5 = 930.9729 Y5 = 802.8789

面积 = 83.2566504099523

0 投票
6 回答
8091 浏览

geometry - 确定坐标是否存在于多边形内部

我正在开发一个开源跟踪和地理围栏软件应用程序,并且在弄清楚地理围栏的数学方面有点困难。

我需要确定多边形内部是否存在坐标。然而,棘手的部分是多边形没有固定的边数。我需要能够计算五十面或五面。

我的研究表明,最简单的方法是获取我的点(我将其称为 x)和多边形外的一个点(称为 y)并确定线 ((xx, xy), (yx, yy)) 是否与多边形的边界。如果它相交奇数次,点 x 必须在多边形内。

然而,知道这一点,我无法弄清楚如何在算法中表达这一点。我显然需要遍历构造多边形的各种线,但我所做的检查却让我望而却步。任何人都可以提供帮助吗?请知道我不一定要求解决方案。任何能帮助我找出答案的东西都是巨大的帮助。

非常感激。