MATLAB Answers

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

10 views (last 30 days)
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!

Accepted Answer

Sean de Wolski
Sean de Wolski on 24 Apr 2020
Edited: Sean de Wolski on 24 Apr 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

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!