featuresetstats.js 2.2 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.24/esri/copyright.txt for details.
  4. */
  5. import{p as n,y as t,l as r,b as e,n as a,C as i}from"../../chunks/languageUtils.js";import{calculateStat as u}from"./fieldStats.js";import{WhereClause as c}from"../../core/sql/WhereClause.js";async function o(n,e,o,f,l,d){if(1===f.length){if(r(f[0]))return u(n,f[0],i(f[1],-1));if(a(f[0]))return u(n,f[0].toArray(),i(f[1],-1))}else if(2===f.length){if(r(f[0]))return u(n,f[0],i(f[1],-1));if(a(f[0]))return u(n,f[0].toArray(),i(f[1],-1));if(t(f[0])){const t=await f[0].load(),r=await s(c.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),e.abortSignal)}}else if(3===f.length&&t(f[0])){const t=await f[0].load(),r=await s(c.create(f[1],t.getFieldsIndex()),d,l);return f[0].calculateStatistic(n,r,i(f[2],1e3),e.abortSignal)}return u(n,f,-1)}async function s(n,t,r){const e=n.getVariables();if(e.length>0){const a=[];for(let n=0;n<e.length;n++){const i={name:e[n]};a.push(await t.evaluateIdentifier(r,i))}const i={};for(let n=0;n<e.length;n++)i[e[n]]=a[n];return n.parameters=i,n}return n}function f(i){"async"===i.mode&&(i.functions.stdev=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("stdev",t,r,e,n,i)}))},i.functions.variance=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("variance",t,r,e,n,i)}))},i.functions.average=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("mean",t,r,e,n,i)}))},i.functions.mean=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("mean",t,r,e,n,i)}))},i.functions.sum=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("sum",t,r,e,n,i)}))},i.functions.min=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("min",t,r,e,n,i)}))},i.functions.max=function(n,t){return i.standardFunctionAsync(n,t,(function(t,r,e){return o("max",t,r,e,n,i)}))},i.functions.count=function(u,c){return i.standardFunctionAsync(u,c,(function(i,u,c){if(n(c,1,1),t(c[0]))return c[0].count(i.abortSignal);if(r(c[0])||e(c[0]))return c[0].length;if(a(c[0]))return c[0].length();throw new Error("Invalid Parameters for Count")}))})}export{f as registerFunctions};