Publish a single raster file as an image service with thematic symbology and a readable legend

1445
6
Jump to solution
02-16-2022 03:00 PM
AaronKoelker
Occasional Contributor III

I feel like I've done this in the past, but I'm stuck on how to make this work now with ArcGIS Pro and Server/Portal:

I have a single raster file (a .tif, but have also tried .crf and .cog). It is comprised of a single band containing thematic data. I would like to share this raster/thematic data as an image service via ArcGIS Server/Portal. Currently I have the symbology (colors and value labels) set up as needed via the layer symbology in a map, and have tried exporting that configuration as a raster function template -- but I can not get any of it to stick when sharing it to an image service. I need it so that when a user adds the image service into a new web map, the desired colors are drawn by default and the legend contains the value labels.

The closest I have gotten is to get the correct colors to show using three RGB bands, but then the value labels are gone. I've tried using a colormap as well but I can't get the datasets transparent NoData value to work correctly when doing that, and the value labels don't work with that either.

Can anyone point me in the right direction for how to make this work? It feels like it should be a simple process, but I'm having trouble finding much documentation on the issue. I haven't tried putting it into a mosaic dataset yet, since it's a just single image, but I suppose I'll try that next.

Desired legend when adding service to mapDesired legend when adding service to mapClosest I've gotten, correct colors, no legendClosest I've gotten, correct colors, no legend

-Aaron
0 Kudos
1 Solution

Accepted Solutions
AaronKoelker
Occasional Contributor III

I got the result I was looking for by following the process in the first half of this video -- adding a Red, Green, and Blue short integer field and calculating the colors for each class. I'm not sure if this is the best method or the only method, but it is a method and for now it will work. If you had a ton of classes, manually inputting the RGB values would be a pain.

Hope this helps someone else if they come across this post.

-Aaron

View solution in original post

0 Kudos
6 Replies
AaronKoelker
Occasional Contributor III

I got the result I was looking for by following the process in the first half of this video -- adding a Red, Green, and Blue short integer field and calculating the colors for each class. I'm not sure if this is the best method or the only method, but it is a method and for now it will work. If you had a ton of classes, manually inputting the RGB values would be a pain.

Hope this helps someone else if they come across this post.

-Aaron
0 Kudos
DanaPeterson1
New Contributor II

Having the same issue. I can't believe creating and calculating RGB columns is the only solution. 

0 Kudos
EricWorthington_1
New Contributor

Here's my issue, we have ArcImageServer, I do not want to host this to AGO.  What I'm attempting to symbolize is storm surge, it's broken down from 0-20 feet.  I have combined the symbology down to 4 classifications.  I need to publish this to our Imagery Server via Pro 3.1.  The same thing with a symbolized DEM.  I can follow the steps to publish it from data stored on the server, but I cannot symbolize it.  

This post is so far the best information I've found, but it's not adequate for my needs. 

0 Kudos
AaronKoelker
Occasional Contributor III

Hi Eric,

I was hosting with an Image Server as well, it was just that the end user also needed the service to load into an AGO web map with the default symbology. Is your imagery a digital elevation model? Perhaps you need to actually remap/reclassify the elevation values down to your depth classes first, instead of just using the symbology panel to classify them for you on the fly? In that video I linked, you'll notice his imagery has already been classified and each class can be seen in the attribute table.

I think I also set the image properties to be "thematic", but it's been a while so I don't remember exactly if that was necessary.

-Aaron
0 Kudos
EricWorthington_1
New Contributor

One dataset is a DEM, the other is Flood surge from a possible hurricane.  5 flood categories, with up to 20 values (depths, 1-20 feet).

The issue is in Pro, I don't see where/how to set the symbology and publish what's in the map to the imagery server.  The base data is already on the imagery server data store.

I see your point in creating  a new field with the re-classified depths (or elevations as it were) to simplify the process, but the remaining issue is symbolizing those classifications.  I appreciate your response!

 

Edit: Watched the video, this will work for the Storm Surge, DEM will be another issue though.

0 Kudos
AaronKoelker
Occasional Contributor III

Well normally to symbolize imagery you can just right-click the layer in the table of contents and go to Symbology. That will open the Symbology panel where from the first drop-down you can choose how you want to visualize it (Stretch, Discrete, Classified, Unique Values, etc.). Classify would normally be good for visualizing ranges of depths, but in this particular case you probably want to use Unique Values after you reclassify the data into your 1-20 whole number values. Then you'll have to do what is shown in the video where you need to get the red, green, and blue codes for each color you want to use, and include them in the attribute table. Once they are in the attribute table for the image, you can publish it by first making sure you are logged in to your Portal/Image Server and then right-clicking the image file in Catalog and going to 'Share as Web Layer'.

Writing this all out, I feel there has to be a more straightforward way of accomplishing this. But I've yet to find it.

-Aaron
0 Kudos