Access Raster Function Template in ArcGIS Online

7510
10
12-16-2015 10:44 AM
GregBacon
New Contributor II

Hi all.

I've published an image service of a LiDAR digital surface model (DSM) that uses a raster function to default to a shaded relief view. When added to an ArcGIS Online web map, I'm not getting access to the renderer dropdown menu to switch templates.  I'm following the steps here​, but clicking More Options (Step 3) does not give me an Image Display menu item to access the renderer. I had this working once before and don't know what is different this time.

Thank you for your help.

0 Kudos
10 Replies
CodyBenkelman
Esri Regular Contributor

Greg

You had me stumped for a while - I could not understand how you got that menu without the Display options - but I think I figured it out.

I believe you saved an MXD and then pulled down File/Share As (see screenshot) - is that correct?

PublishMapService.png

That publishes a MAP service, not an Image service.  If you check your service endpoint, (see screenshot) you'll see "MapServer" not "ImageServer"  (see my 4th service, vs. the 2nd one).

ServiceDirectory.png

To publish an image service, you can select the Mosaic Dataset or image file in ArcCatalog and then right click  to "Share as Image Service".  (In the UI for publishing the Image Service, you'll see "Functions" where you can add more functions onto the service if you did not add them onto the Mosaic Dataset prior to publishing)

Let me know if you need more detail


Cody B.

0 Kudos
GregBacon
New Contributor II

Cody,

Thank you for your quick reply. The image service was published from the catalog window as you describe in your last paragraph. I added the raster function in the UI and set it to draw the shaded relief by default. I think the problem may be that I already have a shaded relief function on my mosaic dataset to begin with and probably didn't need to add it again on the image service.

By the way, some of your presentations and documentation are what got me this far, so thank you for that!ImageService.jpg

0 Kudos
CodyBenkelman
Esri Regular Contributor

If my previous guess was wrong, then it appears you must have selected "Draw this image service using tiles from cache" in the caching tab when you published it.  Can you confirm? 

CachedImageService.png

This generates raster tile cache, which is the same as the imagery seen in ArcGIS base maps (as well as Google, Bing, etc.) - this is the fastest mode for serving imagery, but it's fast because the imagery is pre-rendered and the server simply looks up the tiles and transmits them.  It is no longer a dynamic image service, so changing raster functions is no longer possible. 

In either a map service or a cached image service, under the layer, there are 3 dots to pull down "more options", but none of the other modes that appear on a dynamic image service - e.g. see below - where you would have icons for "Show Legend", "Show Table", "Filter" and also the 3 dots for "more options" where you'll be able to select any server raster functions that are available.

LayerOptions.png

I should verify - is the shaded relief working properly, and your concern is that you'd like to be able to disable it, or select other functions?  If you need other functions, you'll need to republish as a dynamic image service (and you may want to find and delete the cache that had been generated).  If all you will ever want is the shaded relief, the cached service should work for you.

Cody

0 Kudos
GregBacon
New Contributor II

Thank you for looking into this. I'm not sure what is different from 2-3 weeks ago when this was working. ArcMap has no problem accessing the functions through Properties-->Server Functions tab as long as Enable Cache View Mode is off.

0 Kudos
GregBacon
New Contributor II

Cody,

I changed my image service back to dynamic display and the renderer is now available in the ArcGIS Online map. Is this the only way to get access to the renderer? Performance is decent without using the cache, but I'd like this to be as fast as possible.

Thanks.

0 Kudos
GregBacon
New Contributor II

I have a question related to my previous GeoNet thread on
image services and functions. I’ve published an image service of a digital
surface model that has a function to change the view to height above ground.
The popup has been configured to show the Item Pixel Value but that always
seems to return the raw LiDAR point value instead of the height above ground
(calculated through an arithmetic function as surface model height minus bare
earth elevation multiplied by 3.28 to convert meters to feet). For example, the
building shown in the attached image is 16 feet tall. The 77.05 shown is the top of
building height plus ground elevation in meters, so my arithmetic
functions are being ignored.ItemPixelValue.jpg

My question is, when changing from one image service
function to another in a web map, is it possible to have the Item Pixel Value
change in order to reflect the new pixel values? I appreciate any help you can
offer. 

0 Kudos
CodyBenkelman
Esri Regular Contributor

Greg

Good question!  Yes you can do this.

You want the SERVICE pixel value, not the ITEM pixel value.  The Service value includes any functions which are applied - so in your case the value returned is Height Above Ground.  In the screenshot below, you set the popup to "Display a list of field attributes and then select "Configure attributes" to get the UI shown, then turn on the Service pixel value.  (I left the ITEM pixel value on as well).

ServicePixelValue.png

notice that the default label is "Service Pixel Value" but in my second screenshot, you see that text can be selected and changed, so the popup will be labeled "HeightAboveGround"

Relabel_Field.png

In the AGOL World Elevation service, we don't have height above ground, so below I show a similar example but reporting the slope in degrees as well as the ground elevation:

identify_slope.png

0 Kudos
GregBacon
New Contributor II

The values are not coming through correctly for Height Above Ground when I use a shaded relief function. I must be missing something here. Should any functions be set on the mosaic dataset or should everything be stored in an rft.xml file and published with the image service? ESRI technical support provided the workflow below for a bare earth hillshade and a surface model hillshade to report elevations in feet, but it doesn't seem to work for height above ground. Also, all functions in the provided workflow are applied on the mosaic datasets, not the image services. I'll admit it, I'm confused. Thanks for sticking with me here.

Hey Greg,

I just want to know that I was able to follow those instructions that I sent in
the previous email to publish an image service as a hillshade display, but
still reference the feet - meter function pixel values referenced from
the  mosaic dataset. The way to do this is outlined in the workflow, but
some main points to take note of are as follows:


- Mosaic 1 needs to have the feet to meters function applied to it.

- Mosaic 2 needs to contain mosaic 1 (ie. Add rasters to mosaic 2 > Add type
as Table > Load Mosaic 1)

- Created referenced mosaic dataset from mosaic 2 and apply hillshade function
to referenced mosaic.

- Publish referenced mosaic as image service. Set referenced image in service
editor under "Catalog" to mosaic 2.


The result will be a hillshade effect, but pixel value in identify will have
the elevation values display properly.



As mentioned, this workflow can be found here: http://desktop.arcgis.com/en/arcmap/latest/manage-data/raster-and-images/wkflw-elevation-part3.htm

0 Kudos
PaulLohr
Occasional Contributor III

Hi Greg,

Not sure if you have this resolved yet. I have had some issues with image services and raster function templates in ArcGIS Online. Not sure if this is related to your issue, but I noticed that ArcGIS Online does not display the correct cell values if a raster function template has been applied to the image service and chosen in AGOL. Feel free to send a private message if you have questions.

Paul Lohr

0 Kudos