</>
Skip to content
SciPy lessons (17/25)

SciPy — Spatial Data

Distance calculations

from scipy.spatial.distance import euclidean, cityblock
import numpy as np

point1 = np.array([1, 2, 3])
point2 = np.array([4, 5, 6])

print(f"Euclidean: {euclidean(point1, point2):.2f}")
print(f"Manhattan: {cityblock(point1, point2):.2f}")

Distance matrix

from scipy.spatial.distance import cdist
import numpy as np

points1 = np.array([[0, 0], [1, 1]])
points2 = np.array([[2, 2], [3, 3]])

distances = cdist(points1, points2)
print(f"Distance matrix:\n{distances}")

Voronoi diagram

from scipy.spatial import Voronoi, voronoi_plot_2d
import numpy as np

points = np.array([[0, 0], [1, 0], [0, 1], [1, 1]])
vor = Voronoi(points)

Convex hull

from scipy.spatial import ConvexHull
import numpy as np

points = np.array([[0, 0], [1, 0], [0, 1], [1, 1], [0.5, 0.5]])
hull = ConvexHull(points)
print(f"Hull vertices: {hull.vertices}")

KD-Tree

from scipy.spatial import KDTree
import numpy as np

points = np.array([[0, 0], [1, 0], [0, 1], [1, 1]])
tree = KDTree(points)

# Find nearest neighbors
dist, idx = tree.query([0.5, 0.5], k=2)
print(f"Nearest: {idx}, distances: {dist}")

Delaunay triangulation

from scipy.spatial import Delaunay
import numpy as np

points = np.array([[0, 0], [1, 0], [0, 1], [1, 1]])
tri = Delaunay(points)
print(f"Triangles:\n{tri.simplices}")

Mini Practice

  1. Calculate distances between points
  2. Build a KD-Tree
  3. Create a convex hull
  4. Perform Delaunay triangulation

Up Next

Continue with Image Processing - Image manipulation.

Related Topics

Frequently Asked Questions about Spatial Data

What is Spatial Data in SciPy?

Spatial Data is a fundamental concept in SciPy. This lesson explains it step by step with clear examples, making it easy for beginners to understand.

How do I learn Spatial Data?

Start by reading the explanation above, then try the code examples. Practice by modifying the examples and experimenting with different values. Hands-on practice is the best way to learn Spatial Data.

Why is Spatial Data important in SciPy?

Spatial Data is essential for SciPy development. Understanding this concept will help you write better code and solve real-world problems more effectively.