【问题标题】:Point inside polygon多边形内的点
【发布时间】:2014-02-07 04:37:43
【问题描述】:

我正在寻找一种方法来使用 NumPy/SciPy 确定特定点是否在给定顶点的多边形内。

我在网上找不到。有没有办法使用 NumPy/SciPy 做到这一点?

【问题讨论】:

  • 你已经问过这个问题here。如果你对我给你的答案不满意,你应该不接受它并评论解释原因,而不是打开另一个问题。
  • 不是一个理智的问题,最后一个是关于裁剪这是关于多边形中的点。
  • 基本的基本问题是相同的 - 您的“裁剪”区域是一个多边形,您想要索引落在多边形内的点。 arkottke 的回答和我的回答都解决了这个问题。
  • 然而不同的问题

标签: numpy scipy


【解决方案1】:

你考虑过Shapely吗?只需创建一个Polygon 并检查多边形contains 是否为一个点。

>>> from shapely.geometry import Point
>>> from shapely.geometry.polygon import Polygon

>>> point = Point(0.5, 0.5)
>>> polygon = Polygon([(0, 0), (0, 1), (1, 1), (1, 0)])
>>> polygon.contains(point)
True
>>> point2 = Point((10, 10))
>>> polygon.contains(point2)
False

【讨论】:

  • 嗯,有趣!虽然我希望 numpy/scipy 能做这件事而不是安装一个新模块。顺便问一下:你知道任何可以让我在图像上绘制顶点的工具吗?
  • @Highschooler 我会使用该图像作为 matplotlib 图形的背景,然后使用event handling 来选择点。
  • Shapely 不幸没有附带 pip pip installs shapely :(
  • @user1767754 现在可以了,只是显然不适用于 Windows pypi.org/project/Shapely
猜你喜欢
  • 2010-10-28
  • 1970-01-01
  • 2014-06-16
  • 2015-02-19
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多