123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- import {
- a,
- l
- } from "./chunk-ULSPZIPE.js";
- // node_modules/@arcgis/core/statistics/utils.js
- var t = "<Null>";
- var i = "equal-interval";
- var l2 = 1;
- var a2 = 5;
- var o = 10;
- var r = /\s*(\+|-)?((\d+(\.\d+)?)|(\.\d+))\s*/gi;
- var u = /* @__PURE__ */ new Set(["esriFieldTypeInteger", "esriFieldTypeSmallInteger", "esriFieldTypeSingle", "esriFieldTypeDouble"]);
- var s = ["min", "max", "avg", "stddev", "count", "sum", "variance", "nullcount", "median"];
- function c(n) {
- return null == n || "string" == typeof n && !n ? t : n;
- }
- function m(n) {
- const e = null != n.normalizationField || null != n.normalizationType, t2 = null != n.minValue || null != n.maxValue, i2 = !!n.sqlExpression && n.supportsSQLExpression;
- return !e && !t2 && !i2;
- }
- function f(n) {
- const e = n.returnDistinct ? [...new Set(n.values)] : n.values, t2 = e.filter((n2) => null != n2).length, i2 = { count: t2 };
- return n.supportsNullCount && (i2.nullcount = e.length - t2), n.percentileParams && (i2.median = p(e, n.percentileParams)), i2;
- }
- function d(n) {
- const { values: e, useSampleStdDev: t2, supportsNullCount: i2 } = n;
- let l3 = Number.POSITIVE_INFINITY, a3 = Number.NEGATIVE_INFINITY, o2 = null, r2 = null, u2 = null, s2 = null, c2 = 0;
- const m2 = null == n.minValue ? -1 / 0 : n.minValue, f2 = null == n.maxValue ? 1 / 0 : n.maxValue;
- for (const p2 of e)
- Number.isFinite(p2) ? p2 >= m2 && p2 <= f2 && (o2 += p2, l3 = Math.min(l3, p2), a3 = Math.max(a3, p2), c2++) : "string" == typeof p2 && c2++;
- if (c2 && null != o2) {
- r2 = o2 / c2;
- let n2 = 0;
- for (const t3 of e)
- Number.isFinite(t3) && t3 >= m2 && t3 <= f2 && (n2 += (t3 - r2) ** 2);
- s2 = t2 ? c2 > 1 ? n2 / (c2 - 1) : 0 : c2 > 0 ? n2 / c2 : 0, u2 = Math.sqrt(s2);
- } else
- l3 = null, a3 = null;
- const d2 = { avg: r2, count: c2, max: a3, min: l3, stddev: u2, sum: o2, variance: s2 };
- return i2 && (d2.nullcount = e.length - c2), n.percentileParams && (d2.median = p(e, n.percentileParams)), d2;
- }
- function p(n, e) {
- const { fieldType: t2, value: i2, orderBy: l3, isDiscrete: a3 } = e, o2 = v(t2, "desc" === l3);
- if (0 === (n = [...n].filter((n2) => null != n2).sort((n2, e2) => o2(n2, e2))).length)
- return null;
- if (i2 <= 0)
- return n[0];
- if (i2 >= 1)
- return n[n.length - 1];
- const r2 = (n.length - 1) * i2, u2 = Math.floor(r2), s2 = u2 + 1, c2 = r2 % 1, m2 = n[u2], f2 = n[s2];
- return s2 >= n.length || a3 || "string" == typeof m2 || "string" == typeof f2 ? m2 : m2 * (1 - c2) + f2 * c2;
- }
- function v(n, e) {
- const t2 = e ? 1 : -1, i2 = h(e), l3 = b(e);
- if (!(!!n && ["esriFieldTypeDate", "esriFieldTypeString", "esriFieldTypeGUID", "esriFieldTypeGlobalID", ...u].includes(n)))
- return (n2, e2) => "number" == typeof n2 && "number" == typeof e2 ? i2(n2, e2) : "string" == typeof n2 && "string" == typeof e2 ? l3(n2, e2) : t2;
- if ("esriFieldTypeDate" === n)
- return (n2, e2) => {
- const l4 = new Date(n2).getTime(), a3 = new Date(e2).getTime();
- return isNaN(l4) || isNaN(a3) ? t2 : i2(l4, a3);
- };
- if (u.has(n))
- return (n2, e2) => i2(n2, e2);
- if ("esriFieldTypeString" === n)
- return (n2, e2) => l3(n2, e2);
- if ("esriFieldTypeGUID" === n || "esriFieldTypeGlobalID" === n) {
- const n2 = b(e);
- return (e2, t3) => n2(g(e2), g(t3));
- }
- return e ? (n2, e2) => 1 : (n2, e2) => -1;
- }
- function b(n) {
- return n ? (n2, e) => (n2 = n2 == null ? void 0 : n2.toUpperCase(), e = e == null ? void 0 : e.toUpperCase(), n2 > e ? -1 : n2 < e ? 1 : 0) : (n2, e) => (n2 = n2 == null ? void 0 : n2.toUpperCase(), e = e == null ? void 0 : e.toUpperCase(), n2 < e ? -1 : n2 > e ? 1 : 0);
- }
- function h(n) {
- return n ? (n2, e) => e - n2 : (n2, e) => n2 - e;
- }
- function g(n) {
- return n.substr(24, 12) + n.substr(19, 4) + n.substr(16, 2) + n.substr(14, 2) + n.substr(11, 2) + n.substr(9, 2) + n.substr(6, 2) + n.substr(4, 2) + n.substr(2, 2) + n.substr(0, 2);
- }
- function V(n, e) {
- let t2;
- for (t2 in n)
- s.includes(t2) && (Number.isFinite(n[t2]) || (n[t2] = null));
- return e ? (["avg", "stddev", "variance"].forEach((e2) => {
- null != n[e2] && (n[e2] = Math.ceil(n[e2]));
- }), n) : n;
- }
- function T(n) {
- const e = {};
- for (let t2 of n)
- (null == t2 || "string" == typeof t2 && "" === t2.trim()) && (t2 = null), null == e[t2] ? e[t2] = { count: 1, data: t2 } : e[t2].count++;
- return { count: e };
- }
- function y(n) {
- return "coded-value" !== (n == null ? void 0 : n.type) ? [] : n.codedValues.map((n2) => n2.code);
- }
- function F(n, e, t2, i2) {
- const l3 = n.count, a3 = [];
- if (t2 && e) {
- const n2 = [], t3 = y(e[0]);
- for (const l4 of t3)
- if (e[1]) {
- const t4 = y(e[1]);
- for (const a4 of t4)
- if (e[2]) {
- const t5 = y(e[2]);
- for (const e2 of t5)
- n2.push(`${c(l4)}${i2}${c(a4)}${i2}${c(e2)}`);
- } else
- n2.push(`${c(l4)}${i2}${c(a4)}`);
- } else
- n2.push(l4);
- for (const e2 of n2)
- l3.hasOwnProperty(e2) || (l3[e2] = { data: e2, count: 0 });
- }
- for (const o2 in l3) {
- const n2 = l3[o2];
- a3.push({ value: n2.data, count: n2.count, label: n2.label });
- }
- return { uniqueValueInfos: a3 };
- }
- function x(n, e, t2, i2) {
- let l3 = null;
- switch (e) {
- case "log":
- 0 !== n && (l3 = Math.log(n) * Math.LOG10E);
- break;
- case "percent-of-total":
- Number.isFinite(i2) && 0 !== i2 && (l3 = n / i2 * 100);
- break;
- case "field":
- Number.isFinite(t2) && 0 !== t2 && (l3 = n / t2);
- break;
- case "natural-log":
- n > 0 && (l3 = Math.log(n));
- break;
- case "square-root":
- n > 0 && (l3 = n ** 0.5);
- }
- return l3;
- }
- function D(n, t2) {
- const i2 = I({ field: t2.field, normalizationType: t2.normalizationType, normalizationField: t2.normalizationField, classificationMethod: t2.classificationMethod, standardDeviationInterval: t2.standardDeviationInterval, breakCount: t2.numClasses || a2 });
- return n = z(n, t2.minValue, t2.maxValue), a({ definition: i2, values: n, normalizationTotal: t2.normalizationTotal });
- }
- function z(n, e, t2) {
- return e = e != null ? e : -1 / 0, t2 = t2 != null ? t2 : 1 / 0, n.filter((n2) => Number.isFinite(n2) && n2 >= e && n2 <= t2);
- }
- function I(e) {
- const t2 = e.field, a3 = e.classificationMethod || i, o2 = e.normalizationType, r2 = e.normalizationField, u2 = new l();
- return u2.classificationField = t2, u2.breakCount = e.breakCount, u2.classificationMethod = a3, u2.standardDeviationInterval = "standard-deviation" === a3 ? e.standardDeviationInterval || l2 : void 0, u2.normalizationType = o2, u2.normalizationField = "field" === o2 ? r2 : void 0, u2;
- }
- function N(n, e) {
- let t2 = n.classBreaks;
- const i2 = t2.length, l3 = t2[0].minValue, a3 = t2[i2 - 1].maxValue, o2 = "standard-deviation" === e, u2 = r;
- return t2 = t2.map((n2) => {
- const e2 = n2.label, t3 = { minValue: n2.minValue, maxValue: n2.maxValue, label: e2 };
- if (o2 && e2) {
- const n3 = e2.match(u2).map((n4) => +n4.trim());
- 2 === n3.length ? (t3.minStdDev = n3[0], t3.maxStdDev = n3[1], n3[0] < 0 && n3[1] > 0 && (t3.hasAvg = true)) : 1 === n3.length && (e2.includes("<") ? (t3.minStdDev = null, t3.maxStdDev = n3[0]) : e2.includes(">") && (t3.minStdDev = n3[0], t3.maxStdDev = null));
- }
- return t3;
- }), { minValue: l3, maxValue: a3, classBreakInfos: t2, normalizationTotal: n.normalizationTotal };
- }
- function S(n, e) {
- const { min: t2, max: i2, intervals: l3 } = M(n, e), a3 = l3.map((n2, e2) => ({ minValue: l3[e2][0], maxValue: l3[e2][1], count: 0 }));
- for (const o2 of n)
- if (null != o2 && o2 >= t2 && o2 <= i2) {
- const n2 = C(l3, o2);
- n2 > -1 && a3[n2].count++;
- }
- return { bins: a3, minValue: t2, maxValue: i2, normalizationTotal: e.normalizationTotal };
- }
- function M(n, e) {
- const { field: t2, classificationMethod: i2, standardDeviationInterval: l3, normalizationType: a3, normalizationField: r2, normalizationTotal: u2, minValue: s2, maxValue: c2 } = e, f2 = e.numBins || o;
- let p2 = null, v2 = null, b2 = null;
- if ((!i2 || "equal-interval" === i2) && !a3) {
- if (null != s2 && null != c2)
- p2 = s2, v2 = c2;
- else {
- const e2 = d({ values: n, minValue: s2, maxValue: c2, useSampleStdDev: !a3, supportsNullCount: m({ normalizationType: a3, normalizationField: r2, minValue: s2, maxValue: c2 }) });
- p2 = e2.min, v2 = e2.max;
- }
- b2 = k(p2, v2, f2);
- } else {
- const { classBreaks: e2 } = D(n, { field: t2, normalizationType: a3, normalizationField: r2, normalizationTotal: u2, classificationMethod: i2, standardDeviationInterval: l3, minValue: s2, maxValue: c2, numClasses: f2 });
- p2 = e2[0].minValue, v2 = e2[e2.length - 1].maxValue, b2 = e2.map((n2) => [n2.minValue, n2.maxValue]);
- }
- return { min: p2, max: v2, intervals: b2 };
- }
- function C(n, e) {
- let t2 = -1;
- for (let i2 = n.length - 1; i2 >= 0; i2--) {
- if (e >= n[i2][0]) {
- t2 = i2;
- break;
- }
- }
- return t2;
- }
- function k(n, e, t2) {
- const i2 = (e - n) / t2, l3 = [];
- let a3, o2 = n;
- for (let r2 = 1; r2 <= t2; r2++)
- a3 = o2 + i2, a3 = Number(a3.toFixed(16)), l3.push([o2, r2 === t2 ? e : a3]), o2 = a3;
- return l3;
- }
- export {
- c,
- m,
- f,
- d,
- p,
- v,
- V,
- T,
- F,
- x,
- D,
- N,
- S
- };
- //# sourceMappingURL=chunk-PZ7XDUL6.js.map
|