Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I know it is possible to use tools like ArcGis's 'extract sample' tool to extract values at a given number of points. I would like to sample every pixel in a raster, and drill down through all other rasters (which have the same extent and resolution). How could I do this? I can use QGIS, Arc, or Idrisi.

Would the best way be to generate regular points at a spacing of 'RESOLUTION' and an initial offset of 'RESOLUTION/2'?

share|improve this question
    
Is the conversion to point step really necessary? What is your actual goal? –  blah238 Jan 3 '13 at 23:41

4 Answers 4

up vote 3 down vote accepted

The Raster to Point tool in ArcGIS will create a point at the centre of each cell. Then you can use Sample.

You could change the resolution of your raster and create points for that with RESOLUTION/2 and combine the points. But I don't see the need. Any point created with resolution/2 will fall within the original pixel. Or on the edge of two pixels.

share|improve this answer
    
Great, thanks Fezter. –  stuckGIS Jun 20 '12 at 11:30
1  
@stuckGIS No problem. If it worked for you, please accept the answer so others can benefit. –  Fezter Jun 21 '12 at 11:54

Consider creating a fishnet (Data Management) specific to your resolution requirements. From there, zonal statistics (spatial analyst) will allow you to analyze your raster within the confines of your fishnet cells. Good luck.

share|improve this answer

I'm not sure precisely what you're trying to do, but I suspect you could accomplish it in Arc without leaving the raster, with some combination of:

Map algebra / raster calculator (which you can use for pixels directly overlapping each other)

The Neighborhood statistics toolset (which you can use to sample pixels in the vicinity of a given pixels) with a kernel file (which you can use to specify which pixels to sample, allowing offsets).

The Resample tool (which you can use to make rasters line up or change the resolution)

If that isn't enough, the Fishnet & Raster to Point tools mentioned above should work well, combined with Spatial Joins. A large raster is going to be much, much faster than the equivalent number of points in a vector dataset, and that is despite Arc being pretty slow with large rasters.

share|improve this answer

As you suggest, creating a point layer and sampling at each point would work. Here's how you can do it in QGIS

  • Create a point layer representing each pixel of the raster. You can do this via Vector -> Research Tools -> Regular Points. Use number of points as x_size * y_size. So for a raster of 100 px width x 100px height, use 10000. Specify an offset of (pixel resolution)/2 , so you are sampling a the center of the pixel.
  • Next, install the Point Sampling plugin. Using this plugin, you can sample the raster at all of the 10000 points and get an attribute value which is the pixel value.

For drilling down to all rasters, you'll need to do the above for all layers. There's a useful setting where you can query across all layers in QGIS. View profile. Settings -> Options -> Map Tools -> Identify and change the mode to 'Top Down'

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.