CSVORO - calculate Voronoi polygons for data on a sphere.
CALL CSVORO (NPTS, RLATI, RLONI, NI, NF, IWK, RWK,
NC, RLATO, RLONO, RC,
NCA, NUMV, NV, IER)
- (integer,input) The number of input data points (NPTS > 3).
- (real, input) An array containing the latitudes of the input data, expressed in degrees. The first three points must not be collinear (lie on a common great circle).
- (real, input) An array containing the longitudes of the input data, expressed in degrees.
- (integer, input) The index of the input coordinate for which you want to determine the Voronoi polygon (1 .LE. NI .LE. NPTS).
- (integer, input) Flag indicating if this is the first call to CSVORO to retrieve Voronoi polygons for this dataset (1=yes, 0=no). Calls subsequent to the first call for a given dataset are much faster than the first call.
- (integer, input) Integer work space dimensioned for 27*NPTS.
- (double precision, input) A work space dimensioned for 9*NPTS. Note that RWK must be typed DOUBLE PRECISION.
- (integer, input) The maximum size of the output arrays RLATO, RLONO, and RC. NC should be 2*NPTS.
- (real, output) The latitudes for the vertices of the Voronoi polygons. These are circumcenters of circles passing through the Delaunay triangles. If a coordinate is a boundary point, then the circle may pass through certain "pseudo points" that have been added to the original dataset in order to complete the Voronoi polygon.
- (real, output) The longitudes for the vertices of the Voronoi polygons.
- (real, output) Array containing circumradii (arc lengths in degrees of the angle between a circumcenter and its associated triangle vertices).
- (integer, output) The actual number of circumcenters returned in RLATO and RLONO. This number may be larger than NPTS if the input dataset has boundary points since certain "pseudo points" may have been added to the original dataset in order to complete the Voronoi polygon set.
- (integer, output) The number of vertices in the Voronoi polygon enclosing the coordinate (RLATI(NI),RLONI(NI)).
- (integer, output) An array (dimensioned for NPTS) containing NUMV indices for the Voronoi polygon enclosing the coordinate (RLATI(NI),RLONI(NI)). The indices returned in this array refer to the coordinates returned in RLATO, RLONO, and RC. For example, if the integer "J" is an element of the NV array, then (RLATO(J),RLONO(J)) is a vertex of the Voronoi polygon enclosing (RLATI(NI),RLONI(NI)). The indices in NV list out the vertices of the Voronoi polygon in counter-clockwise order.
- (integer, output) An error return value. If IER is returned as 0, then no errors were detected. If IER is non-zero, then refer to the man page for cssgrid_errors for details.
CSVORO is called if you want to determine the Voronoi polygons for data randomly positioned on a sphere. Each call to CSVORO calculates the vertices for the Voronoi polygon surrounding a specified input point.
To use CSVORO, load the NCAR Graphics library ngmath.
css_overview, csstri, cssgrid.
Complete documentation for Cssgrid is available at URL
Copyright (C) 2000
University Corporation for Atmospheric Research
The use of this Software is governed by a License Agreement.