Image server and nodata values

2996
2
04-24-2010 02:52 PM
NeoGeo
by
Occasional Contributor III
I have some Landsat7 imagery with no data value of 1,1,1 so if you create an image service out of it, all the black areas are in included in the service overview.  In the advanced menu, I tried edit raster properties and set the nodata value, but this had no effect.  At this point I spent two days using the ArcToolbox clip command to manually clip each frame just inside the actual image extent, so now the images come into ArcMap with no bounding black areas and you don't have to set a nodata value; however, if I make an image service out of these, it still treats them as if the outside areas are data values totally ruining the service.  If i identify the exterior portion of one of these clipped images it just says nodata.  So, what's the deal?  Why can't image server handle these correctly?

update:
tried to generate a seamline by radiometry but it gives me this weird set of triangles that has no resemblance to what it should be.
0 Kudos
2 Replies
NeoGeo
by
Occasional Contributor III
I guess it is just another bug that it is treating nodata values as data values.  Also it seems to be the consensus that calculating anything by radiometry doesn't work in this version, even if you convert it to 2 bit first.

I am in a time crunch but luckily I don't have a huge number of frames so my workaround for now (which would never work if I had alot of frames, is to generate seamline by copying the footprint, then edit the invidual footprint of each frame (in the seamline), set seamline as the only mosaic method and rebuild.  This will take a couple days to do but I tried it on a couple of frames to make sure it would work.  Hopefully I will find a better way to accomplish this in the future.
0 Kudos
PeterBecker
Esri Regular Contributor
Title should be 'Using recompute footprint by radiometry and related geometry'
For imagery where NoData values are unique and cover the outside of an image the recompute footprint by radiometry should work. From what you have described I would suggest setting Image Types as 'Rotated rectangle' and non compressed imagery. Then in advanced set Minimum data value to 2. If you are still getting junk, then the issue is probably related to the number of bands. The solution to this is to temporarily define service process that changes the service to a 1 band service. Either use extract bands (extract only one band) or use Spectral Matrix (with on band as output, Band gain 1, Band offset 0, Band Weights 1,1,1). You would need to Build, with only the Compute Output Pixel Properties (so that the system knows to change the output to 1 band). Run the recompute footprint by radiometry and then remove the service process and Build again with only Compute Output Pixel Properties. In V10 the functionality of the (part of Build Footprints) has been improved. With imagery that has overlap and the edge pixels are not so important consider running Recompute footprint by shrinking to bring the footprints in a bit.
There is also a good possibility that you may already have some definition of the required footprints from another source. Landsat scenes have a well defined scene footprint. You could get an index of Landsat scenes as a Shape file then join the footprint to this shape file based on an attribute such as scene ID. The recompute footprint by related geometry can be used to copy the geometry over. The reason footprints are used to clip such imagery is that this solution is very scalable. In cases where there are lots of overlapping images the system can determine which pixels from which image to display by geometrically intersecting the footprints. If NoData is used then the system would need to evaluate each pixel to determine if it transparent and if so check the pixel below and if so ...... Have a  stack of overlapping images and you can imagine how much time is lost in such analysis every time you pan or zoom.
0 Kudos