@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.05 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";function t(t){const{rasters:l,weights:s,outputPixelType:a}=t,r=t?.fields??l.map((()=>"Value"));return e("WeightedSum",{rasters:l,fields:r,weights:s},a)}function l(t){const{rasters:l,weights:s,outputPixelType:a,minScale:r,maxScale:i,valueToScaleMaps:n,noDataValues:u,restrictedValues:o}=t,p=s.reduce(((e,t)=>e+t)),h=1===p?s:s.map((e=>e/p)),m=t?.fields??l.map((()=>"Value")),f=l.map((()=>[]));if(n?.length)for(let e=0;e<f.length;e++)n[e]?.length&&f[e].push(...n[e].map((e=>e.join(" "))));if(u?.length)for(let e=0;e<f.length;e++)u[e]?.length&&f[e].push(...u[e].map((e=>`${e} NODATA`)));if(o?.length)for(let e=0;e<f.length;e++)o[e]?.length&&f[e].push(...o[e].map((e=>`${e} Restricted`)));const g=f.map((e=>e.join(",")));return e("WeightedOverlay",{rasters:l,fields:m,influences:h,remaps:g,evalFrom:r,evalTo:i},a)}export{l as weightedOverlay,t as weightedSum};