How to partition (discretize) the space around points using Voronoi Diagram?

5 vues (au cours des 30 derniers jours)
David Franco
David Franco le 24 Avr 2020
Commenté : HG le 14 Juin 2021
I have a problem:
The plot shows a 399 cities locations and the Voroni Diagram (in latitude and longitude coordinates).
The question is, if a have a new coordinate pair and I want to assign it to some os the 399 cities how to find out which Voronoy cell it is in?
The coordinates file are attached.
Thanks in advance!

Réponse acceptée

Sean de Wolski
Sean de Wolski le 24 Avr 2020
Modifié(e) : Sean de Wolski le 24 Avr 2020
  • Create a polyshape for each voronoi cell.
  • Loop over cells and test isinterior for each, you can short circuit when you find a match. To be even smarter, you could calculate distance to each cell's centroid using pdist or hypot, sort it ascending, and start testing isinterior in that order.
NOTE: You should really project your lat/lon data into a cartesian coordinate system. Lat/Lon are measured on the surface of a sphere so the lengths of the voronoi cell edges are not in a linear unit. Look at mfwdtran or https://www.mathworks.com/help/map/ref/map.rasterref.geographiccellsreference.geographictointrinsic.html

Plus de réponses (0)

Catégories

En savoir plus sur Voronoi Diagram dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by