Pregunta

Estoy usando geos (en Python/Django) para manipular algunos elementos 3D. Todas las operaciones topológicas funcionan perfectamente en 2d. Entonces, creé un simple MultiPolygon con polígonos 3D (de hecho, muy simple, es solo una colección de planos verticales) y un LineString que también es 3D. Ahora simplemente quería la intersección de aquellos (que creo que habría sido una lista de puntos 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

Así que está bien, Geos no admite operaciones topológicas con datos 3D ... bueno, debe haber muchas bibliotecas que puedan hacer eso por mí, ¿verdad? ¡Así que busqué en Google y no puedo encontrar uno solo! Entonces, si alguien tiene un puntero, sería genial ...

EDITAR

Hay una pregunta similar a la Intersecciones de polígonos 3D en Python, pero esto no da ninguna respuesta satisfactoria (ver comentario).

¿Fue útil?

Solución

Todavía no creo que haya una sola "buena opción" de una biblioteca para hacer esto en Python, pero se están preparando una serie de proyectos prometedores. enlaces cgal en el código de Google.

Las nuevas condiciones de licencia de CGAL de la versión 4 en adelante (GPL/LGPL) también hacen algunas partes del original pregunta Sobre este tema desactualizado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top