Model builder filter with raster data

713
4
06-05-2013 09:20 AM
chelseamartin
New Contributor
I am building a model that uses several raster datasets as input. Each raster dataset contains ranges of data that are of particular interest.

For example, I have a raster that details the percent of each cell that is impervious.

I am interested in grabbing the values that fall between 0 and 20, 20 and 40 and so on to continue on to further analysis. Ideally, I would be able to create a filter through model properties that allows me to do this. I am unsure whether it is possible to create a variable pick list with raster data. If not, is there any way around this? Any suggestions are greatly appreciated.
0 Kudos
4 Replies
MarkBoucher
Occasional Contributor III
Have you tried \Spatial Analyst Tools.tbx\Reclass\Reclassify?
0 Kudos
chelseamartin
New Contributor
Thanks for your reply. Yes, I can "Reclassify", but that only works if I am intersted in only one field. Some of my raster data has more than one field that I am interested in being able to query. In addition, I have a lot of data was formerly polygon data.

I can select by field (either within a raster or when I excecute the polygon to raster function) but then if I go to reclassify that field, I cannot get unique values because it doesn't populate that reclassify window on-the-fly. 

Any ideas?
0 Kudos
MarkBoucher
Occasional Contributor III
This is beyond my experience. However...

According to this piece (http://webhelp.esri.com/arcgisserver/9.3.1/java/index.htm#geodatabases/raster_da22029934.htm) a raster can have one or more "bands". In images there are typically three bands (red, blue, green I believe).

Maybe there is a way to create more bands with each one having data from you different raster datasets.

After reading it a bit more, maybe what you want is a raster catalog (good link in second paragraph of the link above). You could convert your polygon layers to rasters so that all the data will fit in one catalogue with the rest of the rasters.

Again, I have never done this, so someone else will have to jump in and guide you beyond this.
0 Kudos
ChrisSnyder
Regular Contributor III
How about using the Con() function? In v10.0 + raster calculator syntax you have to use the Lookup() function to access fields other than the VALUE field. For example, this expresion will return a value of 1 if the NST field value is >= 50 and the DEM_FLAG field value is 0 (otherwise it returns NoData.

arcpy.sa.Con((arcpy.sa.Lookup(nstGrd, "NST") >= 50) & (arcpy.sa.Lookup(nstGrd, "DEM_FLAG") == 0), 1)
0 Kudos