GRID_SPHERE Function
Returns a gridded, 2D array containing radii, given random longitude, latitude, and radius values.
Usage
Input Parameters
points—A (3, n) array containing the random longitude, latitude, and radius coordinates to be gridded.
grid_x—The x dimension of the grid. The longitude values are scaled to fit this dimension (unless the XMin or XMax keywords are set).
grid_y—The y dimension of the grid. The latitude values are scaled to fit this dimension (unless the YMin or YMax keywords are set).
Returned Value
result—A gridded, 2D array containing radius values.
Keywords
Degrees—If present and nonzero, reads the input coordinates in degrees instead of in radians.
Order—The order of the weighting function to use for neighborhood averaging. Points are weighted by the function:
w = 1.0 / (dist ^ Order)
where dist
is the distance to the point. (Default: 2)
Radius—Radius of the sphere to grid on. The minimum allowable radius is 0.5. (Default: 1.0). With a smaller radius, data points are closer together and more smoothing occurs. A larger radius causes less smoothing.
XMax—The longitude of the right edge of the grid. Should be in the range –π to +π radians (–180 to +180 degrees). The XMax value is assumed to be in radians unless the Degrees keyword is set. If XMax is omitted, then a longitude of π is mapped to the right edge of the grid.
XMin—The longitude of the left edge of the grid. Should be in the range –π to +π radians (–180 to +180 degrees). The value is assumed to be in radians unless the Degrees keyword is set. If XMin is omitted, then a longitude of –π is mapped to the left edge of the grid.
YMax—The latitude of the top edge of the grid. Should be in the range –π/2 to +π/2 radians (–90 to +90 degrees). The YMax value is assumed to be in radians unless the Degrees keyword is set. If YMax is omitted, then a latitude of π/2 is mapped to the top edge of the grid.
YMin—The latitude of the bottom edge of the grid. Should be in the range –π/2 to +π/2 radians (–90 to +90 degrees). The YMin value is assumed to be in radians unless the Degrees keyword is set. If YMin is omitted, then a latitude of –π/2 is mapped to the bottom edge of the grid.
Discussion
GRID_SPHERE uses an inverse distance averaging technique to interpolate missing data values. The gridded array returned by GRID_SPHERE is suitable for use with the POLY_SPHERE function.
The longitude values are assumed to be in the range –π to +π (–180 to +180 if the Degrees keyword is set). The latitude values are assumed to be in the range –π/2 to +π/2 (–90 to +90 if the Degrees keyword is set).
To grid on a portion of a sphere rather than on an entire sphere, use the XMin, XMax, YMin, and YMax keywords.
Examples
These commands show spherical gridding.
; Generate the data. ; Random longitude, latitude and radius points. sphere = FLTARR(3, 6) sphere(*, 0) = [ 33.0, -64.0, 0.2] sphere(*, 1) = [280.0, 5.0, 1.8] sphere(*, 2) = [350.0, 41.0, 1.9] sphere(*, 3) = [310.0, 83.0, 0.3] sphere(*, 4) = [ 67.0, -16.0, 1.6] sphere(*, 5) = [133.0, -75.0, 0.2] sphere(0, *) = sphere(0, *) - 180.0 ; Grid the resulting sphere. sphere = GRID_SPHERE(sphere, 32, 32, $ /Degrees, Order=4.0, Radius=20.0) ; Generate the polygons representing the spherical surface. POLY_SPHERE, sphere, 32, 32, vertex_list, polygon_list ; Set up the viewing window and load the color table. WINDOW, 0, Colors=128, XSize=800, YSize=600 LOADCT, 3 CENTER_VIEW, Xr=[-2.0, 2.0], Yr=[-2.0, 2.0], $ Zr=[-2.0, 2.0], Ax=(-40.0), Az=0.0, $ Zoom=1.0, Winx=800, Winy=600 ; Specify the shading and display the resulting ; spherical surface. SET_SHADING, Light=[-0.5, 0.5, 1.0] TVSCL, POLYSHADE(vertex_list, polygon_list, /T3d)
For another example, see the sphere_demo3
demonstration program in:
(UNIX) <wavedir>/demo/arl
(WIN) <wavedir>\demo\arl
Where <wavedir>
is the main PV‑WAVE directory.
See Also
FAST_GRID2, FAST_GRID3, FAST_GRID4, GRID_2D, GRID_3D, GRID_4D, POLY_SPHERE