@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 3.48 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{getNamedColor as t,hexToRgba as e}from"../../../../colorUtils.js";import{colormapName as n}from"../../rasterFunctionConstants.js";import{createRasterFunction as o}from"./utils.js";import{colorRampDict as a}from"../../../../renderers/support/colorRampUtils.js";function r(t){return"colormap"in t?s(t):"colorRamp"in t?i(t):u(t)}function s(n){const a=n.colormap.map((n=>{if("value"in n){const o="string"==typeof n.color?t(n.color)??e(n.color):n.color;(n=[n.value,...o])[4]&&n[4]<=1&&(n[4]=Math.round(255*n[4]))}return n})),{raster:r,outputPixelType:s}=n;return o("Colormap",{colormap:a,raster:r},s)}function i(t){const{raster:e,colorRamp:n,outputPixelType:a}=t,r={colorRamp:"toJSON"in n?n.toJSON():n,raster:e};return o("Colormap",r,a)}function u(t){const{colorRampName:e}=t,r=Object.values(n).find((t=>t.toLowerCase()===e?.toLowerCase())),s=a.toJSON(e),{raster:i,outputPixelType:u="unknown"}=t;return o("Colormap",r?{colormapName:r,raster:i}:{colorRampName:s,raster:i},u)}function l(t){const{raster:e,outputPixelType:n="u8"}=t;return o("ColormapToRGB",{raster:e},n)}function p(t){const{raster:e,histograms:n,outputPixelType:a}=t,r=t.statistics?.map((t=>({min:t.min,max:t.max,mean:t.avg,standardDeviation:t.stddev})));return o("StatisticsHistograms",{raster:e,statistics:r,histograms:n},a)}function c(t){const{raster:e,attributeTable:n,outputPixelType:a="unknown"}=t,r="toJSON"in n?n.toJSON():n;return o("Table",{raster:e,attributeTableAsRecordSet:r},a)}function m(t){const{raster:e,outputPixelType:n="unknown"}=t,a={raster:e,missingBandAction:"fail"===t.missingBandAction?1:0};return"bandIds"in t?a.bandIds=t.bandIds:"bandNames"in t?a.bandNames=t.bandNames:"bandWavelengths"in t&&(a.bandWavelengths=t.bandWavelengths),o("ExtractBand",a,n)}function d(t){const{redBand:e,greenBand:n,blueBand:a,raster:r,outputPixelType:s}=t,i="name"===t.method?0:2;return o("CreateColorComposite",{raster:r,method:i,bandIndexesR:e,bandIndexesG:n,bandIndexesB:a},s)}function f(t){const{rasters:e,outputPixelType:n}=t;return o("CompositeBand",{rasters:e},n)}function g(t){const{allowUnmatched:e,raster:n,rangeMaps:a,outputPixelType:r,replacementValue:s}=t,i=a?.filter((({output:t})=>null!=t)),u=i?.flatMap((({range:t})=>t)),l=i?.map((({output:t})=>t)),p=a?.filter((t=>null==t.output))?.flatMap((({range:t})=>t));return o("Remap",{allowUnmatched:e,raster:n,inputRanges:u,outputValues:l,noDataRanges:p,replacementValue:s},r)}function b(t){const{inputBitPositions:e,raster:n,fillRaster:a,outputBitPositions:r,outputPixelType:s}=t,i={inputBitPositions:e,outputBitPositions:r,raster:n};return null!=a&&("number"==typeof a?(i.constantFillCheck=!0,i.constantFillValue=a):i.fillRaster=a),o("TransposeBits",i,s)}function x(t){const{raster:e,outputPixelType:n="unknown"}=t,a=t.includedRanges?.flatMap((t=>t)),r=t.noDataValues?.map((t=>t.join(" "))),s="match-all"===t.noDataInterpretation?1:0;return o("Mask",{raster:e,includedRanges:a,noDataInterpretation:s,noDataValues:r},n)}function T(t){const{geometry:e,keepOutside:n,outputPixelType:a="unknown",raster:r}=t,s="declaredClass"in e?e.toJSON():e;return o("Clip",{clippingGeometry:s,clippingType:n?2:1,raster:r},a)}export{T as clip,r as colormap,l as colormapToRGB,f as compositeBand,d as createColorComposite,m as extractBand,x as mask,g as remap,p as statisticsHistogram,c as table,b as transposeBits};