Extract Multi Values to Points and Mosaic Dataset

6010
25
07-05-2016 04:08 PM
ChuckWerstak1
New Contributor II

Hi everyone,

I have a question about geoprocessing tools and Mosaic Dataset. Can the Extract Multi Values to Points tool (or the like e.g., Sample etc.) be used to extract pixel values from a Mosaic Dataset comprised of individual raster images in a stack (monthly climate values) and across non-overlapping tiles (for example, 1x1 degree tiles)?

I’ve tried several different extraction tools but not matter what I do, the same cell value gets extracted for each point location. Further, the value that gets extracted is not contained in any of the raster images. My only suspicion for this later issue is that it’s calculating a summary statistic i.e., mean of the monthly values for the pixels that are coincident with the X, Y coordinate location.

I’m fairly new to using Mosaic Datasets so perhaps it’s merely operator error however; I would expect this to be a standard operation as I have already been performing this using points and individual images with this tool.

Thanks,

Chuck

0 Kudos
25 Replies
XanderBakker
Esri Esteemed Contributor

I think this should work...

The Month field should actually follow the post fix of the name to indicate which month it referres to, but I suppose the field would not even be necessary (at least not for the extraction of the raster values to the points).

You could load the mosaic 12 times and specify a different definition query for each mosaic in the TOC, like:

Name = '%ppt1'

This would filter all the rasters to show only those that refer to January (if naming is consistent).

If you would run the Extract Multi Values to Points tool with these 12 mosaics, you would be able to get the 12 dates for all the points. Be sure to change the names of the layers to reflect the month of the definition query, since the tool will show these names and it will allow you to easy define the output field for each raster (month).

0 Kudos
ChuckWerstak1
New Contributor II

Xander,

I am able to run the extractions without specifying each raster in a query and have it return all 12 values from the layer stack (12 band image). The step I was hoping to avoid was creating layer stacks for hundreds of tiles each comprised of 12-13 different bands (30-year climate normals in months and the average). Is this what you were thinking could be done if I don't stack the images but, have a field in the mosaic dataset that represents each month?

Thanks,

Chuck

0 Kudos
XanderBakker
Esri Esteemed Contributor

If for you the easiest way is to create a single mosaic dataset with only 1 band and the definition query works for you, than that would be the way to go. The alternative is to script (using python) the creation of the multi band mosaic dataset. Either way you will be able to extract the values. What is more important is how you would like to have your data for any later analysis.

The additional field in the mosaic dataset could be used to create temporal (time-aware) visualizations, but if the names of the rasters, for the entire collections of raster tiles, are as you showed in the screenshot, you will not need to create an additional field. The definition query as I mentioned before will extract all rasters corresponding to a single month (not a single raster).

ChuckWerstak1
New Contributor II

Hey Xander,

After looking at how R processes images/arrays, it would be more efficient for me to create layer stacks for each 1x1 degree tile consisting of 12+ images (representing months or the like). I will look into scripting that in Python. As for the field names, I just quickly created them. I will likely use a text field or perhaps a blob and simply populate it with the image name e.g.,

n42w111ppt1. Will that work?

Thanks,

Chuck

0 Kudos
XanderBakker
Esri Esteemed Contributor

If you are willing to share some tiles, I can have a look if the concept works and what Python code would be required to create the Mosaic Dataset.

0 Kudos
ChuckWerstak1
New Contributor II

Hi Xander,

I ended up creating layer stacks for the climate data each consisting of 12 bands and then ran the extractions which worked just fine. If you want to see if this can be done using the attribute table method, I believe you could try it on any multiband image and it should work just the same. If not, I can easily send you a small subset stack.

Thanks,

Chuck

0 Kudos