Привязка Python для Clipper

Есть ли привязка Python к библиотеке Clipper?
Мне нужна функция OffsetPolygons. Я пытался преобразовать код C++ Clipper в Python, и до определенного момента мне это удавалось, но затем это становится слишком сложным — и кажется, что я должен преобразовать в Python полный файл Clipper — а это огромная работа.

Некоторый простой код для смещения границ полигонов с помощью Python доступен здесь, но это не решает проблему универсально - когда расстояния смещения большие и некоторые углы исчезают или появляются новые.

Приветствуются любые предложения по другим решениям на основе Python для смещения полигонов.


person Marija Velickovic    schedule 20.08.2012    source источник


Ответы (3)


Вы можете попробовать pyclipper (source) — это оболочка для C++ версии библиотеки Clipper (v6.2.1). Он предоставляет доступ ко всем общедоступным методам Clippers. Установка через пип:

pip install pyclipper
person greginvm    schedule 02.04.2015

В настоящее время нет привязки Python к Clipper. Чтобы избежать понятной сложной задачи перевода, я предлагаю создать файл .dll или .so, который экспортирует функцию OffsetPolygons.

person Angus Johnson    schedule 20.08.2012

Shapely реализует процедуру parallel_offset, которая делает то, что вы хотите, и предлагает простую интеграцию python/numpy: http://toblerity.org/shapely/manual.html#object.parallel_offset

person jamesshuang    schedule 16.09.2013