Это вариация Shapely содержит (точка) всегда дает False , а не дубликат
Я хочу определить, создана ли точка внутри определенной фигуры из множества точек, но для началаПросто я делаю этот тест, который не проходит.Я определяю квадрат 2x2, и первая точка должна быть внутри, а вторая снаружи, но оба вызова возвращают False
import unittest
from shapely.geometry import LineString,Point,LinearRing
class TestTools(unittest.TestCase):
def test_isInside(self):
points = [
[0,0],
[2,0],
[2,2],
[0,2]
]
ring=LinearRing(points)
print(ring)
print(Point(1,2))
self.assertEqual(ring.contains(Point(1,1)),True)
self.assertEqual(ring.contains(Point(3,3)),False)
Выход составляет
LINEARRING (0 0, 2 0, 2 2, 0 2, 0 0)
POINT (1 2)
======================================================================
FAIL: test_isInside (__main__.TestTools)
----------------------------------------------------------------------
Traceback (most recent call last):
File "test_tools.py", line 17, in test_isInside
self.assertEqual(ring.contains(Point(1,1)),True)
AssertionError: False != True
Так что, очевидно, я 'я делаю что-то (простое?) неправильно.