Domanda

Sto usando GEOS (In Python/Django) per manipolare alcuni elementi 3D. Tutte le operazioni topologiche funzionano perfettamente in 2D. Quindi, ho creato un semplice MultiPolygon con poligoni 3D (molto semplice in effetti, è solo una raccolta di aerei verticali) e a LineString che è anche 3D. Ora volevo semplicemente l'intersezione di quelli (che credo sarebbe stato un elenco di punti 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

Quindi ok, GEOS non supporta le operazioni topologiche con dati 3D ... beh, ci devono essere molte librerie là fuori che possono farlo per me giusto ??? Quindi ho cercato su Google e non riesco a trovarne uno solo !!! Quindi se qualcuno ha un puntatore, sarebbe fantastico ...

MODIFICARE

C'è una domanda simile a Intersezioni di poligoni 3D in Python, ma questo non dà alcuna risposta soddisfacente (vedi commento).

È stato utile?

Soluzione

Ancora non credo che ci sia una singola "buona scelta" di una biblioteca per farlo a Python, ma un certo numero di progetti promettenti sono in lavorazione, tra cui il primo migliorato CGAL-Bindings sul codice di Google.

Le nuove condizioni di licenza di CGAL dalla versione 4 in poi (GPL/LGPL) rendono anche alcune parti dell'originale domanda su questo argomento obsoleto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top