UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.44 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{getNamedColor as t,hex2rgba as n}from"../../../../colorUtils.js";import{colormapName as e}from"../../rasterFunctionConstants.js";import{createRasterFunction as o}from"./utils.js";import{colorRampDict as r}from"../../../../renderers/support/colorRampUtils.js";function a(t){return"colormap"in t?s(t):"colorRamp"in t?i(t):u(t)}function s(e){const r=e.colormap.map((e=>{if("value"in e){const o="string"==typeof e.color?t(e.color)??n(e.color):e.color;(e=[e.value,...o])[4]&&e[4]<=1&&(e[4]=Math.round(255*e[4]))}return e})),{raster:a,outputPixelType:s}=e;return o("Colormap",{colormap:r,raster:a},s)}function i(t){const{raster:n,colorRamp:e,outputPixelType:r}=t,a={colorRamp:"toJSON"in e?e.toJSON():e,raster:n};return o("Colormap",a,r)}function u(t){const{colorRampName:n}=t,a=Object.values(e).find((t=>t.toLowerCase()===n?.toLowerCase())),s=r.toJSON(n),{raster:i,outputPixelType:u="unknown"}=t;return o("Colormap",a?{colormapName:a,raster:i}:{colorRampName:s,raster:i},u)}function l(t){const{raster:n,outputPixelType:e="u8"}=t;return o("ColormapToRGB",{raster:n},e)}function p(t){const{raster:n,histograms:e,outputPixelType:r}=t,a=t.statistics?.map((t=>({min:t.min,max:t.max,mean:t.avg,standardDeviation:t.stddev})));return o("StatisticsHistograms",{raster:n,statistics:a,histograms:e},r)}function c(t){const{raster:n,attributeTable:e,outputPixelType:r="unknown"}=t,a="toJSON"in e?e.toJSON():e;return o("Table",{raster:n,attributeTableAsRecordSet:a},r)}function m(t){const{raster:n,outputPixelType:e="unknown"}=t,r={raster:n,missingBandAction:"fail"===t.missingBandAction?1:0};return"bandIds"in t?r.bandIds=t.bandIds:"bandNames"in t?r.bandNames=t.bandNames:"bandWavelengths"in t&&(r.bandWavelengths=t.bandWavelengths),o("ExtractBand",r,e)}function d(t){const{redBand:n,greenBand:e,blueBand:r,raster:a,outputPixelType:s}=t,i="name"===t.method?0:2;return o("CreateColorComposite",{raster:a,method:i,bandIndexesR:n,bandIndexesG:e,bandIndexesB:r},s)}function f(t){const{rasters:n,outputPixelType:e}=t;return o("CompositeBand",{rasters:n},e)}function g(t){const{allowUnmatched:n,raster:e,rangeMaps:r,outputPixelType:a}=t,s=r?.filter((({output:t})=>null!=t)),i=s?.flatMap((({range:t})=>t)),u=s?.map((({output:t})=>t)),l=r?.filter((t=>null==t.output))?.flatMap((({range:t})=>t));return o("Remap",{allowUnmatched:n,raster:e,inputRanges:i,outputValues:u,noDataRanges:l},a)}function b(t){const{inputBitPositions:n,raster:e,fillRaster:r,outputBitPositions:a,outputPixelType:s}=t,i={inputBitPositions:n,outputBitPositions:a,raster:e};return null!=r&&("number"==typeof r?(i.constantFillCheck=!0,i.constantFillValue=r):i.fillRaster=r),o("TransposeBits",i,s)}function x(t){const{raster:n,outputPixelType:e="unknown"}=t,r=t.includedRanges?.flatMap((t=>t)),a=t.noDataValues?.map((t=>t.join(" "))),s="match-all"===t.noDataInterpretation?1:0;return o("Mask",{raster:n,includedRanges:r,noDataInterpretation:s,noDataValues:a},e)}function T(t){const{geometry:n,keepOutside:e,outputPixelType:r="unknown",raster:a}=t,s="declaredClass"in n?n.toJSON():n;return o("Clip",{clippingGeometry:s,clippingType:e?2:1,raster:a},r)}export{T as clip,a 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};