Algorithmes spatiaux scipy

Algorithmes spatiaux scipy

Les langages de programmation de haut niveau sont principalement construits sur les structures de données et les modules orientés objet. La structure de programmation orientée objet permet aux développeurs beaucoup plus faciles d'écrire les codes optimisés, simples et structurés. Les données spatiales ou les algorithmes sont également une forme de structure de données qui représente les données dans un espace géométrique. Les algorithmes spatiaux sont très couramment utilisés pour calculer les triangulations et les coques convexes d'un ensemble de points. Ces algorithmes sont également utilisés pour calculer la distance entre les différentes matrices et fournir les implémentations de Kdtree pour les requêtes ponctuelles du voisin le plus proche. Ce guide est conçu pour explorer les algorithmes spatiaux Scipy pour comprendre comment gérer les données dans l'espace géométrique.

Qu'est-ce que les données spatiales?

Les données qui sont représentées dans un espace géométrique, comme des points sur un système de coordonnées, sont communément appelées données spatiales. De nombreuses tâches peuvent être effectuées lorsqu'ils traitent des données spatiales dans le système de coordonnées. Scipy est l'une des bibliothèques incroyables Python qui est couramment utilisée pour les fonctions mathématiques et statistiques et propose le scipy.emballage spatial. Il est fréquemment utilisé pour les données spatiales et les algorithmes. Comme nous en avons discuté, les algorithmes spatiaux sont utilisés pour effectuer une triangulation, la mise en œuvre de Kdtree pour les requêtes ponctuelles du voisin le plus proche, le diagramme voronoi, etc. Alors, expliquons chaque calcul à l'aide d'exemples.

Exemple 1:

Dans cet exemple, nous expliquerons comment effectuer la triangulation avec le scipy.emballage spatial. Considérez cet exemple et découvrez comment l'algorithme spatial fonctionne pour calculer la triangulation de Delaunay. Voir l'exemple de code dans l'extrait de code suivant:

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt
de Scipy.Importation spatiale Delaunay
tableaux = np.Array ([[3, 4], [0, 2],
[1, 4], [2, 0],
[3, 2], [4, 3]])
Simpls = delaunay (tableaux).simplices
PLT.TripLot (Arrays [:, 0], Arrays [:, 1], Simpls)
PLT.disperser (tableaux [:, 0], tableaux [:, 1], color = 'g')
PLT.montrer()

Le programme commence par l'importation de la bibliothèque Numpy en tant que NP et Matplotlib.package pyplot comme plt. Ensuite, le scipy.Le forfait spatial est importé comme le Delaunay. Après avoir importé tous les packages du programme, un tableau est déclaré et stocké dans la variable «tableau». Après avoir défini les points de tableau, la variable «Arrays» est transmise à la fonction Delaunay pour calculer les simplices. Pour tracer les points de données, les fonctions de triplot et de diffusion sont utilisées. Pour afficher les points tracés, le PLT.La fonction show () est utilisée. Maintenant, voyons quel graphique pour la triangulation de Delaunay est produit par le scipy.spatial.Fonction Delaunay. Voir la sortie suivante:

Exemple 2:

Une autre tâche qui peut être effectuée par le scipy. La fonction spatiale est de trouver la coque convexe de l'ensemble de points. Les points donnés qui font le plus petit polygone sont connus sous le nom de coques convexes. Pour faire les coques convexes, Python fournit la fonction convexhull () du scipy.emballage spatial. Dans cet exemple, nous rédigerons le code qui intègre la fonction convexhull () pour vous aider à comprendre comment vous pouvez utiliser cette fonction dans votre programme en fonction de vos besoins. Considérez l'exemple de code dans l'extrait de code suivant:

Importer Numpy comme NP
Importer Matplotlib.pypllot comme plt
de Scipy.importation spatiale convexhull
tableaux = np.Array ([[3, 4], [0, 2],
[1, 4], [2, 0],
[3, 2], [4, 3]])
ch = convexhull (tableaux)
chp = ch.simplices
PLT.dispersion (tableaux [:, 0], tableaux [:, 1])
pour Simplex en CHP:
PLT.tracé (tableaux [simplex, 0], tableaux [simplex, 1], 'k-')
PLT.montrer()

Tout d'abord, nous importons la bibliothèque Numpy en tant que NP dans le programme et Matplotlib.package pyplot comme plt. Nous convertissons également le scipy.Ensemble spatial pour importer le module ConvexHull. Les points de tableau sont déclarés dans la variable «tableaux» et transmis à la fonction convexhull (). Après cela, le module Simplices est appelé. Pour tracer les points de tableau, la fonction Scatter () est appelée. Une boucle «pour» est utilisée pour tracer chaque point dans l'espace géométrique. Les points de traçage sont affichés dans l'espace géométrique à l'aide de la fonction show (). Voir le graphique tracé suivant:

Exemple 3:

La fonction suivante qui est offerte par le scipy.Le forfait spatial est l'implémentation de Kdtree pour les requêtes ponctuelles du voisin le plus proches. Maintenant, écrivons un programme qui utilise la méthode Kdtree du Scipy.Emballage spatial pour trouver le voisin le plus proche dans l'espace géométrique donné.

de Scipy.importation spatiale kdtree
PNTS = np.aléatoire.Rand (50,3)
kdt = kdtree (pnt)
res = kdt.requête ((2, 1, 5))
imprimer (res)

Tout d'abord, nous appelons le scipy.Package spatial pour importer le module Kdtree dans le programme. Ensuite, nous définissons les points pour l'espace géométrique. Ici, nous utilisons la fonction aléatoire pour obtenir les points pour l'espace géométrique et transmettre ces points à la fonction KDTree () pour trouver le voisin le plus proche dans l'espace géométrique donné. Maintenant, voyons quel résultat est produit par la fonction kdtree. Voir le résultat dans la capture d'écran suivante:

Exemple 4:

La prochaine fonctionnalité du scipy.le package spatial que nous allons expliquer est des points de coplanaire. Les points de coplanaire sont les points qui sont tracés dans le même plan. Ils peuvent avoir au moins trois points ou plus trois points. Maintenant, écrivons un programme qui trace les points de coplanaire dans l'espace géométrique.

Importer Numpy comme NP
de Scipy.Importation spatiale Delaunay
tableaux = np.Array ([[0, 0], [0, 0], [1, 1],
[1, 1], [0, 1], [1, 0],
])
COP = Delaunay (tableaux)
imprimer (flic.simplices)
print ('\ n')
imprimer (flic.Coplanar)

Encore une fois, les bibliothèques requises sont importées dans le programme d'exécution. La première bibliothèque est Numpy et la deuxième bibliothèque est Scipy. Le package Delaunay est importé dans le programme afin que la fonction coplanaire puisse être utilisée. Les points de données sont déclarés dans le tableau qui est transmis à la fonction Delaunay. Ensuite, le module coplanaire est appelé pour obtenir les points de coplanaire de l'espace géométrique. Les points de coplanaire sont donnés dans la capture d'écran suivante. Voir la sortie dans ce qui suit:

Exemple 5:

Le scipy.L'ensemble spatial est également utilisé pour calculer les mesures de distance à distance euclidienne, science des données, etc. La matrice de distance fait référence non seulement à la distance entre deux points, mais elle fait également référence à l'angle ou aux étapes de l'unité. Les performances de divers algorithmes d'apprentissage automatique comme K-means, K-Dearest Neeight, etc. dépend fortement de la valeur des matrices de distance. Calculons la métrique de distance avec la fonction de distance euclidienne. Considérez l'exemple de code suivant:

de Scipy.spatial.Distance Import Euclidienne
Point1 = (10, 5)
Point2 = (2, 6)
matrice = Euclidide (Point1, Point2)
Imprimer (matrice)

Le module euclidien est fourni par le scipy.spatial.Distance de distance afin qu'il soit importé dans le programme en conséquence. Les deux points pour trouver les matrices de distance sont définis dans les variables Point1 et Point2. Les points définis sont transmis à la fonction euclidienne et affichés avec la commande d'impression. Voir la valeur de matrice de distance calculée suivante:

Conclusion

Dans cet article, nous avons programmé les données spatiales Scipy avec l'aide de quelques exemples. Nous avons exploré quelles sont les données spatiales SCIPY et comment elles peuvent être utilisées dans les programmes Python pour obtenir les points de données dans l'espace géométrique. Ces exemples sont très faciles à comprendre et vous aideront à écrire vos codes de structure de données pour l'espace géométrique. Pratiquez ces exemples à plusieurs reprises pour maîtriser la structure des données spatiales et les algorithmes.