Publish the World Elevation services

The World Elevation services, Terrain and Terrain 3D image services, are available with all product options on Collection B. If you want to use the Terrain and Terrain 3D services, you need to publish the services on ArcGIS Desktop and ArcGIS Server 10.6.1 or later with ArcGIS Image Server.

Terrain

The components for setting up the Terrain image service are organized under the WorldElevation folder at \\<server-ip>\CollectionB_source_documents\data, where <server-ip> is the network IP or server name of the data appliance.

Prepare the Terrain image service

The mosaic datasets and auxiliary files are prepared using the default path V:\WorldElevation.

Follow the preparation steps below before you publish the service:

  1. Map the network location \\<server-ip>\CollectionB_source_documents\data as V: drive. If your system does not allow mapping the network location as V:, perform the following steps to repair the paths for mosaic datasets located under \\<server-ip>\CollectionB_source_documents\data\WorldElevation\MD\:
    1. Click Open to open the Catalog window in ArcMap and browse to \\<server-ip>\CollectionB_source_documents\data\WorldElevation\scripts\.
    2. In the Catalog Tree window, expand WorldElevation.tbx and double-click the Repair mosaic dataset paths tool.

      Catalog Tree window with WorldElevation.tbx expanded

      The Repair mosaic dataset paths dialog box appears.

    3. In the GDB Full Path field, insert the UNC path, for example \\<server-ip>\CollectionB_source_documents\data\WorldElevation\MD\WorldElevation.gdb, where <server-ip> is the network IP or server name of the data appliance.
    4. In the Old Path field, insert V:. For the New Path, insert the UNC path, for example, \\<server-ip>\CollectionB_source_documents\data, where <server-ip> is the network IP or server name of the data appliance.

      Repair Mosaic Dataset window showing GDB Full Path, Old Path, and New Path

    5. Click OK to apply the changes.

      The tool repairs paths for the S_EGM2008, D_HollandFix, R_WorldDTMHillshade and D_WorldDTM mosaic datasets.

    6. In a text editor, open Terrain_ElevationTintedHillshade_HollandFix.rft, located under .\WorldElevation\Parameter\RasterFunctionTemplates. Find and replace all occurrences of V:\WorldElevation with the new path location, for example, \\<server-ip>\CollectionB_source_documents\data\WorldElevation.
    7. In a text editor, open OrthometricToEllipsoidalHeightEGM2008.rft, located under .\WorldElevation\Parameter\RasterFunctionTemplates. Find and replace all occurrences of V:\WorldElevation with the new path location, for example, \\<server-ip>\CollectionB_source_documents\data\WorldElevation.
  2. Open the Catalog window, browse to .\WorldElevation\MD\WorldElevation.gdb and expand the geodatabase. Drag the D_WorldDTM mosaic dataset to the ArcMap window. It should draw as elevation (DTM) for the whole world.

    Elevation (DTM) for the world

  3. As a quick check, drag the R_WorldDTMHillshade mosaic dataset to ArcMap. You should see the hillshade visualization of elevation.

    Hillshade visualization of elevation

Publish the Terrain image service

The Terrain image service is created by publishing the JSON file to ArcGIS Server using the publishing script provided.

  1. Open the Catalog window and make the ArcGIS Server connection to localhost with publisher or administrator credentials.
  2. Make sure ArcGIS Server has read permission on the WorldElevation folder and register the V:\WorldElevation folder as Data Store.
    1. Open ArcGIS Server Manager and sign in.
    2. Click Site > GIS Server > Data Stores.

      Data Stores dialog box

    3. Click the Register drop-down arrow and choose Folder.
    4. In the Register Folder window, fill out the Name and Publisher Folder Path. Then uncheck the Same as publisher folder path check box and type the UNC path of the WorldElevation folder for the server folder path, for example, \\<server-ip>\CollectionB_source_documents\data\WorldElevation.
      Note:

      If you repaired the paths for the mosaic datasets in step 1 of Prepare the terrain image service above, both the publisher and server folders will point to the UNC location, for example, \\<server-ip>\CollectionB_source_documents\data\WorldElevation.

      Register Folder window

  3. In a text editor, browse to .\WorldElevation\Parameter\json and open Terrain.txt.
    1. Find and replace \\\\server-ip\\CollectionB_source_documents\\data with \\\\user-server-ip\\CollectionB_source_documents\\data where user-server-ip is the network IP or server name of the data appliance.

      The paths for the mosaic dataset in "path": and the raster function templates in "rasterFunctions": update to the new path.

      Note:

      Make sure paths contain double backslashes (\\\\).

    2. Save the changes.
      Note:

      Default paths in JSON are UNC (\\\\server-ip\\CollectionB_source_documents\\data), and you need to replace this path with the location to the WorldElevation folder on your server.

  4. In a text editor, browse to .\WorldElevation\batchfiles, and open Publish_Services.bat.
    1. Syntax for publishing the script is PYTHON.EXE SCRIPTNAME HOSTNAME USERNAME PWD JSON_DEFN.TXT SERVICENAME SOURCE_MD SERVERFOLDER.

      For example: C:\PYTHON27\ArcGIS10.x\python.exe V:\WorldElevation\scripts\PublishService.py localhost username password V:\WorldElevation\Parameter\json\Terrain.txt

      Note:

      SERVICENAME, SOURCE_MD, and SERVERFOLDER are optional parameters. Location for source mosaic dataset (SOURCE_MD) and service name (SERVICENAME) is defined using the Terrain.txt "path": and "serviceName": variables, respectively, when not provided in syntax.

    2. Make necessary path changes to PublishService.py and Terrain.txt. If Python is installed at a location other than C:\Python27\ArcGIS10.x\python.exe, edit the path to reflect the change.
      Note:

      The .bat file contains example syntax for mapped network drive and UNC path options.

  5. Run the .bat file from the command window, and the terrain image service will be published under the root folder.
    Note:

    HTTP access must be enabled on your ArcGIS Server to publish the terrain imagery service.

  6. Open ArcMap and click Add to add the terrain service. By default, the service will render as an elevation (DTM) raster.
  7. Right-click Terrain and click Properties > Processing Templates.
  8. From the Function drop-down list, choose one of the functions defined on the service.
  9. Click OK.

    Layer Properties window

    The Raster function will dynamically render the elevation derivative selected from the drop-down list.

  10. Go to the REST endpoint of the Terrain service, for example, http://localhost:6080/arcgis/rest/services/Terrain/ImageServer.
  11. Click ArcGIS Online Map Viewer.

    The Terrain service opens in Map Viewer in a browser. By default, it will render as elevation (DTM).

  12. Click Terrain > More Options > Image Display > Renderer to choose from the server functions defined on the service.

    Image Display option
    Note:

    Elevation tinted hillshade has a known bug on ArcGIS Server10.6.1. There is a hot fix you need to install.

Add the Multi-Directional Hillshade raster function

Multi-Directional Hillshade (https://esriurl.com/NextGenHillshade), available from the ArcGIS Online World Elevation services, is a custom raster function. If you want to add it as a server function on the terrain service that you just published on your local server, it is available to install on your server. You can download the function from https://esriurl.com/MultidirHillshadeFunction, which contains all setup files with installation documentation. Follow the instructions carefully after unzipping the .zip file. Once installed, you can add the raster function template (refer to the documentation on saving as a raster function template) to the terrain service. Follow the instructions on how to save a raster function template (RFT) in the installation document. You can save the .rft file at the same location where other RFTs reside, for example, \WorldElevation\Parameter\RasterFunctionTemplates.

Publish the Terrain 3D service

Follow the steps detailed under Publish basemap and reference layer services to publish the Terrain3D service on your ArcGIS Server.