@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.63 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{createRasterFunction as e}from"./utils.js";import{getColorRampName as r}from"../../../../renderers/support/colorRampUtils.js";function t(r){const{raster:t,outputPixelType:o}=r;return e("Aspect",{raster:t},o)}function o(r){const{raster:t,zFactor:o,removeEdgeEffect:p,outputPixelType:a="unknown"}=r,u="degree"===r.slopeType?1:"percent-rise"===r.slopeType?2:3,c={raster:t,slopeType:u,zFactor:o,removeEdgeEffect:p};return 3===u&&(c.psPower=r.pixelSizePower,c.psZFactor=r.pixelSizeZFactor),e("Slope",c,a)}function p(r){const{raster:t,zFactor:o,outputPixelType:p="unknown"}=r,a="standard"===r.curvatureType?0:"planform"===r.curvatureType?1:2;return e("Curvature",{raster:t,curvatureType:a,zFactor:o},p)}function a(r){const{raster:t,zFactor:o,altitude:p=45,azimuth:a=315,removeEdgeEffect:u,outputPixelType:c="u8"}=r,n="adjusted"===r.scalingType?3:1,i={raster:t,hillshadeType:"multi-directional"===r.hillshadeType?1:0,altitude:p,azimuth:a,slopeType:n,zFactor:o,removeEdgeEffect:u};return 3===n&&(i.psPower=r.pixelSizePower,i.psZFactor=r.pixelSizeZFactor),e("Hillshade",i,c)}function u(t){const{functionArguments:o}=a(t),{outputPixelType:p="u8"}=t,u=t.colorRamp;if(u){const r="toJSON"in u?u.toJSON():u;return e("ShadedRelief",{...o,colorRamp:r},p)}const c=t.colorRampName;if(c){const t=r(c);return e("ShadedRelief",{...o,colorRamp:t},p)}const n=t.colormap;return e("ShadedRelief",{...o,colormap:n},p)}export{t as aspect,p as curvature,a as hillshade,u as shadedRelief,o as slope};