{
    "$schema": "http://json-schema.org/draft-04/schema",
    "additionalProperties": false,
    "description": "ElevationLayer is a tile layer used for rendering elevation in web scenes.",
    "esriDocumentation": {
        "examples": [
            {
                "code": {
                    "baseMap": {
                        "baseMapLayers": [],
                        "elevationLayers": [
                            {
                                "id": "globalElevation",
                                "layerType": "ArcGISTiledElevationServiceLayer",
                                "title": "Terrain3D",
                                "url": "http://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer",
                                "visibility": true
                            }
                        ],
                        "title": "elevation-only basemap"
                    }
                },
                "description": "Live sample web scene showing [elevationLayers](https://www.arcgis.com/home/webscene/viewer.html?webscene=a06aa4a2e4264b789686e66a75d863ca)",
                "schema": "baseMap_schema.json",
                "title": "elevationLayer"
            }
        ]
    },
    "properties": {
        "id": {
            "description": "A unique identifying string for the layer",
            "type": "string"
        },
        "itemId": {
            "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
            "type": "string"
        },
        "layerType": {
            "description": "String indicating the layer type",
            "enum": [
                "ArcGISTiledElevationServiceLayer"
            ],
            "type": "string"
        },
        "listMode": {
            "description": "To show or hide the elevation layer in the layer list",
            "enum": [
                "show",
                "hide"
            ],
            "type": "string"
        },
        "title": {
            "description": "A user-friendly string title for the layer that can be used in a table of contents. If this is not included, a title is derived from the service.",
            "type": "string"
        },
        "url": {
            "_format": "uri",
            "description": "The URL to the layer.If the layer is not from a web service but rather a feature collection, then the url property is omitted",
            "type": "string"
        },
        "visibility": {
            "default": true,
            "description": "Boolean property determining whether the layer is initially visible in the web scene.",
            "type": "boolean"
        }
    },
    "required": [
        "id",
        "layerType",
        "title",
        "url"
    ],
    "title": "elevationLayer",
    "type": "object"
}