Your sample data, when drawn as quadrangles and labeled with the `totHg` values, look like this: ![Figure][1] (It is simple to create a GIS polygon layer from these data, as I did in order to make this illustration, but would likely require a little programming in Python or `R` due to the idiosyncratic nature of this data format.) These might have been collected on a regular grid in some other coordinate system, but (if they are currently in lon-lat as stipulated) they clearly are not on a 2.5 degree grid. Presumably the data records not shown would fill in this row and describe adjacent rows of data, too. But maybe not--maybe many of the apparent cells are missing. There are three general approaches to creating raster representations of such data: 1. Assume the values represent measurements of some hypothetical underlying "surface" of such measurements. These could be mercury concentrations in air at a particular time, for instance: the concentrations at unsampled locations at that time will exist but are unknown and should be *predicted* from the measurements. This calls for spatial *prediction* ("interpolation"). For this purpose the measurements might be assumed to take place at the center of each polygon. A variant of this supposes these are average concentrations within the extents of each polygon, not just at single points. About the only way to interpolate such data is by applying "change of support" formulas to Kriging in a method called ["area-to-point Kriging"](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2518693/). 2. The values are what they are: attributes of polygonal regions on the earth's surface. Just divide the map up into a regular array of rows and columns and transfer this picture onto that array. That means most of the cells in the array will have missing values; all those whose centers are located within the "8.5" polygon will get the value 8.5; all those whose centers are located within the "9.02" polygon will get the value 9.02; and so on. 3. Assume the values shown represent some aggregate amounts of something that you would like--for cartographic or analytic purposes--to spread within surrounding areas without "losing" any of the total. This is done with a [kernel density](https://gis.stackexchange.com/questions/14374/interpretation-of-arcgis-kernel-density-legend-parameters/14376#14376) calculation. An "area-to-point" version of the kernel density can be obtained via convolution, using a Fast Fourier Transform. Many applications don't worry about this and just assume the data values are located at the centers of their polygons, then spread the values from their centers. To reduce the loss of information when discretizing these data into a raster, it is a good idea to use a small resolution. In the figure, the spacing between adjacent cells looks like it's about 0.5 degree. Consider using something around 0.1 degree or less. That is practicable, because the entire world can be covered by an 1800 by 3600 grid, which today is considered only small or medium in size and can be post-processed fairly quickly. Another possibility is to find out *precisely* what coordinate system was used for the original grid and reproject these data into that coordinate system, where (presumably) they will already lie on a regular square array. If you do not know the coordinate system already, that is often a difficult process. [1]: https://i.sstatic.net/C03K3.png