Je cherche un algorithme, une solution de haut niveau, ou même une bibliothèque qui peut m'aider à déterminer si deux polygones se croisent, en Python.
J'ai les sommets des deux polygones (ce sont des polygones monoblocs sans trous) dans deux tableaux différents. Les polygones sont 2D (c'est-à-dire uniquement les coordonnées X et Y)
Je voudrais faire une fonction qui retournera un booléen indiquant si ces deux polygones se croisent.
Veuillez noter que je ne peux pas utiliser arcpy
, ni aucun arcgis
composant de celui-ci.
Pouvez-vous suggérer un algorithme ou une bibliothèque pour ce faire?
la source
Si vous connaissez ou êtes intéressé à apprendre R, il a quelques paquets spatiaux utiles. http://cran.r-project.org/web/views/Spatial.html Il existe un module Python pour interagir avec R (RPy *)
la source
Je sais que c'est une vieille question, mais j'ai écrit une bibliothèque python pour gérer les collisions entre les polygones concaves et convexes, ainsi que les cercles.
C'est assez simple à utiliser, c'est parti!
Exemple:
Vous pouvez également lui faire générer une réponse, qui comprend:
https://github.com/QwekoDev/collision
la source
si vous voulez connaître le niveau, vous pouvez l'utiliser. Comme argument, vous pouvez donner une liste de polygones. Et comme valeur de retour, vous obtenez une liste de niveaux. Dans la liste des niveaux, il y a les polygones.
la source