Python 37 - shapely - ошибка при создании полигона

Я использую python37 под Windows 64 бит, я скачал и установил колесо: Shapely-1.6.4.post1-cp36-cp36m-win_amd64.whl без проблем.

Но когда я пытаюсь создать многоугольник, как в руководстве пользователя:

from shapely.geometry import Polygon
polygon = Polygon([(0, 0), (1, 1), (1, 0)])

Я получаю следующую ошибку:

Traceback (последний вызов был последним): файл "", строка 1, в файле "C:\Users\toto\AppData\Local\Programs\Python\Python37\lib\site-packages\shapely\geometry\polygon.py", строка 240, в init ret = geos_polygon_from_py (оболочка, дыры) Файл "C:\Users\toto\AppData\Local\Programs\Python\Python37\lib\site-packages\shapely\geometry\polygon.py", строка 494, в geos_polygon_from_py ret = geos_linearring_from_py(shell) Файл "shapely\speedups_speedups.pyx", строка 234, в shapely.speedups._speedups.geos_linearring_from_py AttributeError: у объекта 'list' нет атрибута 'array_inter

Я понятия не имею, почему я получаю эту ошибку. Это звучит так очевидно, что я уверен, что сделал большую ошибку. Но где?

Через неделю... Наконец, после нескольких дней тестирования, я узнал, как это сделать. Я добавил каждую точку в список (как и должно быть), но я преобразовал ее в массив numPy следующим образом:

polygon = Polygon(array(PointList))

Это работает, это нормально. Но если кто-то может объяснить, почему...

В то же время, поскольку я хотел объединить полигоны, которые "обычно" являются смежными, я добавил к нему небольшой буфер и прямое соединение:

polygon = Polygon(array(PointList)).buffer(0.001, join_style=2)

0 ответов

Другие вопросы по тегам