Я использую GEOS (в Python/Django) для манипулировать некоторыми 3D-элементами. Все топологические операции отлично работают в 2D. Итак, я создал простой MultiPolygon
с 3D-полигонами (на самом деле очень простой, это просто набор вертикальных плоскостей) и LineString
, который также является 3D. Теперь я просто хотел, чтобы их пересечение (которое, я считаю, было бы списком 3D-точек):
>>> l = LineString([0, 0, 0], [1, 1, 1])
>>> p = Polygon([[1, 0, 0], [0, 1, 0], [0, 1, 1000], [1, 0, 1000], [1, 0, 0]])
>>> p.intersects(l)
False
Итак, геос не поддерживает топологические операции с 3D-данными ... Ну, должно быть много библиотек, которые могут сделать это для меня, верно ??? Так что я гуглил, и я просто не могу найти ни одного !!! Так что, если у кого-то есть указатель, это было бы здорово...
ИЗМЕНИТЬ
Существует аналогичный вопрос, как пересечения трехмерных полигонов в python, но это не не дают удовлетворительного ответа (см. комментарий).
MultiPolygons
иLineString
: будет очень неэффективно перебирать все полигоны, все сегменты линии и вычислять сегмент полигона INTER для каждого из них. - person sebpiq   schedule 18.02.2012