spatial reference: datasets that have projected spatial reference datum transformations: datasets with projections that don’t need transformations (method GetElevationAtLonLat) Z values: datasets where the Z values are in the same units as the XY Raster or Mosaic layer in the map: Map Service with at least one elevation layer; the elevation layer must be a single band Raster Layer or Mosaic Layer Capabilities: Select the operations you want to allow for the SOE
Properties:
interpolationCount: Number of points to interpolate along a geometry; used in the GetElevations operation when the input geometry is a polyline or polygon. maxDataValues: Maximum number of values to send back; used in the GetElevationData operation and is calculated by multiplying the Rows and Columns input values.
Resources:
ElevationLayers: A list of Raster or Mosaic layers in the map.
Operations:
GetElevationAtLonLat:
Info: Get the elevation at a location. <b><font color='#FF0000'>Input geometry (lon,lat) are projected to the elevation source dataset but transformations are not supported</font></b> Inputs:
lon: (double) The longitude of the location in WGS84 coordinates. Value must be between -180.0 and 180.0 lat: (double) The latitude of the location in WGS84 coordinates. Value must be between -90.0 and 90.0
Outputs:
elevation: (double) Elevation at input location
GetElevations:
Info: Get the elevations along a set of geometries. Supported geometries are point, multipoint, polyline and polygon. To learn more about formatting the input geometries, please visit the 'Geometry Objects' section of the ArcGIS Server REST documentation. Inputs:
geometries: (geometry[]) The array of geometries
Outputs:
geometries: (geometry[]) The array of interpolated geometries which are densified and contain Z values at each vertex or point.
GetElevationData:
Info: Get interpolated elevation values within an extent. Inputs:
extent: (extent) The interpolation extent rows: (int) Number of rows. Note: (rows * columns) must be less than maxDataValues as defined by admin columns: (int) Number of columns; Note: (rows * columns) must be less than maxDataValues as defined by admin
Outputs:
nCols: (int) Number of columns nRows: (int) Number of rows xLLCenter: (double) X coordinate of the center of the lower left cell yLLCenter: (double) Y coordinate of the center of the lower left cell cellSize: (double) Cell size of the interpolated raster noDataValue: (number) 'No Data' value spatialReference: (SpatialReference) Spatial reference of the interpolated raster data: (number[]) Interpolated elevation values as array of numbers rasterProperties:
isInteger: (boolean) Are the values integers datasetMin: (number/NaN) The minimum value of the entire elevation dataset datasetMax: (number/NaN) The maximum value of the entire elevation dataset
GetLineOfSight:
Info: Computes the visibility of a line-of-sight from the observer to the target. Inputs:
geometry: (geometry) The line of sight between two points, an observer and target (end points of line) offsetObserver: (double/NaN) optional offset of observer from surface offsetTarget: (double/NaN) optional offset of target from surface applyCurvature: (boolean) optional true to have earth curvature taken into consideration. The default is false. It can be set to true if the surface has a defined projected coordinate system that includes defined ZUnits applyRefraction: (boolean) optional true to have refraction of visible light taken into consideration. The default is false. It can be set to true if the surface has a defined projected coordinate system that includes defined ZUnits refractionFactor: (number/NaN) optional The default refraction factor is 0.13
Outputs:
pointObstruction: (geometry) the location of the first obstruction point visibleLines: (geometry) represent that which is seen from the observation point invisibleLines: (geometry) represent that which isn't seen from the observation point isVisible: (boolean) whether the target is visible
GetSteepestPath:
Info: Returns the steepest downhill path, the direction of steepest slope, from the specified query point. It will start at the query point and end in a pit or the edge of the surface. The returned polyline will be 3D. Inputs:
geometry: (geometry) Point
Outputs:
geometry: (geometry) Polyline The steepest downhill path. The resulting polyline pointer will be set to Nil (nothing) if the query point falls outside the surface or on a flat area
GetContour:
Info: Returns the contour and height corresponding to a specified query point. Inputs:
geometry: (geometry) Point
Outputs:
geometry: (geometry) Polyline The contour elevation: (number) double/NaN The height corresponding to a specified query point.
GetSlope:
Info: Returns the slope at the specified location in percent or degrees or radians. Inputs:
geometry: (geometry) Point units: (string) percent|degrees|radians Optional(default:percent)
Info: Returns the relief of a line using the min/max elevations of the line. Inputs:
geometries: (geometry[]) The array of geometries
Outputs:
relief: (double) Relief
GetAspect:
Info: Returns the aspect at the specified location in degrees or radians. Aspect is defined as the direction of steepest slope. The possible range of values falls between 0.0 and 360. 0.0 represents a north facing slope with increasing values changing aspect in a clockwise direction. For example, 90 degrees is due east, 180 degrees due south, and 270 degrees due west Inputs:
geometry: (geometry) Point units: (string) degrees|radians Optional(default:degrees)
Info: Returns the 3D length of the polyline by interpolating heights from the surface and calculating the sum of 3D distances between the vertices. Portions of the line falling outside the interpolation zone are excluded from the calculation Inputs:
geometry: (geometry) Polyline stepSize: (double/NaN) Generally, the smaller the interval the greater the detail (unless smaller than 1/2 cellsize), but at an increased cost in processing time and size of resulting geometry. The default stepSize for raster based surface is set equal to the cellsize
Outputs:
surfaceLength: (double) Returns the 3D length of the polyline by interpolating heights from the surface and calculating the sum of 3D distances between the vertices
GetNormal:
Info: Returns the normal vector corresponding to a specified query point. Inputs:
geometry: (geometry) Point
Outputs:
geometry: (geometry) input location vector3D: (array) double Components (x,y,z) of vector normal (versor)
GetLocate:
Info: Returns the intersection of the query ray (origin: start point of line) and the surface Inputs:
geometry: (geometry) Line offsetFromPoint: (double/NaN) offset from surface. If NaN uses Z from start point line offsetToPoint: (double/NaN) offset from surface. If NaN uses Z from end point line hint: (int/NaN) Optional Default = 0
Outputs:
geometry: (geometry) point location
GetLocateAll:
Info: Returns the distances of intersections of the query ray (origin: start point of line) and the surface. Inputs:
geometry: (geometry) Line offsetFromPoint: (double/NaN) offset from surface. If NaN uses Z from start point line offsetToPoint: (double/NaN) offset from surface. If NaN uses Z from end point line hint: (int/NaN) Optional Default = 0
Outputs:
distances: (array double) The distances of intersections of the query ray (origin: start point of line) and the surface