MATLAB Answers

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

11 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!

  0 Comments

Sign in to comment.

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

Translated by