首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >polygon.contains()返回虚值

polygon.contains()返回虚值
EN

Stack Overflow用户
提问于 2022-06-02 10:58:45
回答 1查看 62关注 0票数 0

我构造了一个具有以下形状的shapely多边形

代码语言:javascript
复制
POLYGON ((28 0, 28 68, 44 68, 44 58, 46 0, 38 45, 46 0, 41 34, 46 0, 42 24, 46 0, 46 7, 46 0, 28 0))

我编写了一个代码来检查某个点是否包含在多边形中。由于某些原因,点的消去过程并不能移除多边形以外的所有点。

输出如下:虚线表示多边形角。

例如,44.5,44.5点在多边形之外,但仍未被消除。

代码语言:javascript
复制
    def getFieldGridPoints(pitchX, pitchY, poly):
    gridPoints = []
    for i in range(1, pitchX + 1, 1):
        for j in range(1, pitchY + 1, 1):
            gridPoints.append(geometry.Point(i - 0.5, j - 0.5))
    finalGrid = []
    for p in gridPoints:
        if poly.contains(p):
            finalGrid.append([p.x, p.y])
    print(finalGrid)
    return finalGrid

getFieldGridPoints之后执行的代码只考虑到finalGrid中的网格点。由于点,例如44.5,44,5没有消除,着色过程发生。

对带有poly.contains(p)p = geometry.Point(44.5,44.5)的单数调用返回False。所以我不明白为什么它在循环中没有被激活。

EN

回答 1

Stack Overflow用户

发布于 2022-06-02 11:17:20

多边形的第五个拐角是不正确的。这就是为什么它没有正确地作图。问题解决了。

对于POLYGON ((28 0, 28 68, 44 68, 44 58, 38 45, 46 0, 41 34, 46 0, 42 24, 46 0, 46 7, 46 0, 28 0)),它起了作用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72475115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档