florida_cvt_geo, a Python code which creates a centroidal Voronoi Tessellation (CVT) of the state of Florida, based solely on geometric considerations.

The function florida_sample_geo() can return a set of points drawn uniformly at random from the interior of Florida.

Using the Florida border polygon definition, florida_point_display() can display a set of points representing locations in Florida, specified by their longitude and latitude.

Given a set of points in Florida, florida_voronoi_display() can show the resulting Voronoi diagram. Note that, because of shortcomings in MATLAB's voronoi() command, some tricks had to be used to get a satisfactory plot. In particular, because rays to infinity are not returned, an auxilliary frame of points was added around Florida, which fixes that problem, while causing the display of somewhat spurious cell boundary lines well outside of the region of interest.

Given a set of points in Florida, florida_centroid_geo() can estimate the centroids of the "in-Florida" Voronoi cells.

The function florida_cvt_geo() can estimate the location of generator points corresponding to a centroidal Voronoi tessellation of the geometric information in Florida.

The function florida_district_reader() can read a file containing a list of Florida's 27 congressional districts and the location of a representative town in each district.


The computer code and data files described and made available on this web page are distributed under the MIT license


florida_cvt_geo is available in a MATLAB version and a Python version.

Related Data and codes:

cvt_1d_lloyd, a Python code which constructs a CVT in one dimension using Lloyd's method.

cvt_2d_sampling, a Python code which computes an N-point Centroidal Voronoi Tessellation (CVT) within the unit square [0,1]x[0,1], under a uniform density, using sampling to estimate the Voronoi regions.

florida_cvt_pop, Python codes which explore the creation of a centroidal Voronoi Tessellation (CVT) of the state of Florida, based on population density.


  1. Qiang Du, Vance Faber, Max Gunzburger,
    Centroidal Voronoi Tessellations: Applications and Algorithms,
    SIAM Review,
    Volume 41, Number 4, December 1999, pages 637-676.
  2. Lili Ju, Qiang Du, Max Gunzburger,
    Probabilistic methods for centroidal Voronoi tessellations and their parallel implementations,
    Parallel Computing,
    Volume 28, 2002, pages 1477-1500.

Source Code:

Last revised on 05 November 2016.