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

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

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

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


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


Ответы (3)


arrow_upward
1
arrow_downward

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

pip install pyclipper
person greginvm    schedule 02.04.2015

arrow_upward
0
arrow_downward

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

person Angus Johnson    schedule 20.08.2012

arrow_upward
0
arrow_downward

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

person jamesshuang    schedule 16.09.2013