4

I have 18 raster datasets which I need to publish through ArcGIS online to allow users to turn on/off each layer and toggle transparency. I have the data stored in a file gdb as below:

enter image description here

I am looking at ways of doing this more efficiently than publishing 18 separate services for each layer. The service will be shared to ArcGIS Server Manager.

Can anybody help?

6
  • do you plan on caching the imagery or publishing it as a dynamic service?
    – MDHald
    Jan 27, 2016 at 13:54
  • Caching only, yet I need to be able to toggle between layers
    – MyFamily
    Jan 27, 2016 at 14:45
  • I guess the only other question I have (before I respond) is if you have ArcGIS for Server to store your imagery? Or are you using ArcGIS Online to act as your storage space (this will use credits and cost a pretty penny)
    – MDHald
    Jan 27, 2016 at 14:58
  • @MDHald yes, ArcGIS Server (thankfully)
    – MyFamily
    Jan 27, 2016 at 16:11
  • 1
    "Discreet layers" are usually sold by outfits like Victoria's Secret. Although you probably intended "discrete," it's unclear what distinction this adds to "separate."
    – whuber
    Jan 27, 2016 at 23:06

2 Answers 2

4
  1. Add all your imagery to one Map Document. ( I have used Mosaic Datasets in this image - but there will be no difference in how your imagery acts in this process)

enter image description here

  1. Share your Map Document to your Server via File>Share As>Service.

enter image description here

  1. Setup all the requirements in terms of name, location, settings and cache.enter image description here - Wait for the cache to complete and then navigate to your server web address. (e.g. http://[yournamehere]/arcgis/rest/services)

  2. Navigate to your Services section and click the link to the imagery service you published (the name you established in the Service Editor.

enter image description here

  1. Click the name of the image you would like to add as a 'separate' layer to ArcGIS Online.

enter image description here

  1. After you have clicked through your webpage should look like the one below

enter image description here

  1. go to the top of the page and capture the URL. This will give you a direct link which you can add in ArcGIS Online.

enter image description here

  1. copy this link and head over to ArcGIS Online. Click Map>Add>Add Layer From Web. enter image description here

    1. paste your link (e.g. http://[yournamehere]/arcgis/rest/services/[servicename]/MapServer/[serviceid]) into the Add Layer From Web Window

enter image description here

  1. click add. Repeat steps 5 - 9 for each image you would like to control transparency and toggle.
0
1

Script it with ArcPy! You can create a script which loops through the gdb and publishes each raster it finds.

Here is an example of a update feature service on AGOL script which you can edit for your needs. https://blogs.esri.com/esri/arcgis/2013/04/23/updating-arcgis-com-hosted-feature-services-with-python/

You can find more information over here: https://geonet.esri.com/message/316359#316359

4
  • This is an automated way of publishing 18 separate services. Is there no way of uploading the raster datasets as separate layers in one service, as with vector files?
    – MyFamily
    Jan 27, 2016 at 11:12
  • It depends on what your goal is. You can indeed automatically publish them in one mxd-file and you can call them seperately, but is it enough?
    – Stefan
    Jan 27, 2016 at 12:19
  • How can I call them separately though from one mxd?
    – MyFamily
    Jan 27, 2016 at 14:43
  • 1
    You can call them seperatly with the rest-url. Take a look at the following url: sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/…. You'll see that this service contains 3 layers. When you publish all the rasters in 1 webmap the interface will look the same.
    – Stefan
    Jan 27, 2016 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.