Friday, February 12, 2016

New tool - Create Sampling Grid from Points for ArcGIS v. 1.0

With the advent of high-precision GPS spatially-explicit sampling designs have taken on an increasing importance in ecology and natural resource management. Spatially-explicit sampling regimes are useful for understanding processes such as attraction and repulsion that can be described using point pattern processes. This tool also opens up the possibility of random sampling within a larger grid. For example, users may want to collect field data to scale up to Landsat or MODIS pixels. It may be infeasible to collect data for an entire pixel, so some random sampling of the pixel may be necessary. Similarly there may be vegetation polygons or agricultural fields that the researcher wishes to sample in a random or a systematic manner. Finally, even if the researcher wishes to sample the entire grid having the ability to load center points or corner points onto a GPS and navigate to them may expedite field sampling. The creation of this tool was inspired by the needs of a current ongoing pygmy rabbit research project here in Nevada, Oregon, and Idaho.

This tool allows for the creation of polygons and centroids of polygons based on known points. The known points can be random locations, centroids of features of interest (e.g. polygons of agricultural fields or vegetation polygons), or regular gridded points across a landscape. This tool differs from existing tools, such as the Fishnet tools in ArcGIS, because it does not create a single grid for the entire landscape, but rather creates a local grid centered on each point in the input shapefile. It uses the following formula to achieve this:
(-1*(d/2) - 0.5) + i where d is the dimensions parameter and i is the iteration number. The two images below illustrate a grid with an even number of dimensions (6 on the left) and one with an odd number of dimensions (7 on the right). Both sampling grids are centered on points provided by the user, but the the one on the left has the original point (green) falling on a grid corner. The one on the right has the original point (provided by the user, in green) falling in the center of an individual grid tile.  The maroon points were created using the 'Feature Vertices to Points' tool, a standard ArcGIS tool with the advanced license.


  1. Hi Tom, Just been reading this blog and followed the link to the tool. I have a few suggestions about this tool, I hope you don't mind me feeding these back? Don't see it as an attack, just making a very useful tool even better! I used the 10_3 tool. You had put together a help file but none of that help was within the tool. As I clicked on each parameter it showed the default "No description available". To help users you should put the help there too. You had no filters applied on the parameters so I was able to select polygon datasets as inputs! It blew up when my points were an IN_MEMORY dataset, in fact it seems only to work with shapefiles, why limit it to that format? It blew up if I chose a layer name and not a full path to a shapefile. Finally performance, it slowed down as it processed, I only threw 200 points at it. I think what I have suggested are fairly minor tweaks which enhances the overall user experience.

  2. Hi Hornbydd, your suggestions would be easy to implement and I'd be happy to work on the ones that I know how to do offhand. The help and the filters would be especially quick. I've had the problem with full paths for all of my tools, so if you've got any tips in that department I'd appreciate it. The same goes with performance. In a past tool (Generate points around points) I tiled the data for improved speed, so maybe I should consider that this time too. Shapefiles seemed like a natural to go to csv where most of the data processing is taking place, but it need not be so. I can look into expanding it to a wider range of data types.