UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) • 8.97 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import t from"../request.js";import{ensureClass as e}from"../core/accessorSupport/ensureType.js";import r from"../geometry/SpatialReference.js";import{fromJSON as o}from"../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as a}from"../geometry/support/normalizeUtils.js";import{srToRESTValue as s}from"../geometry/support/spatialReferenceUtils.js";import{parseUrl as n,encode as m,asValidOptions as i}from"./utils.js";import p from"./support/FindImagesParameters.js";import u from"./support/FindImagesResult.js";import c from"./support/ImageAngleParameters.js";import f from"./support/ImageAngleResult.js";import l from"./support/ImageAreaParameters.js";import g from"./support/ImageAreaResult.js";import y from"./support/ImageBoundaryParameters.js";import j from"./support/ImageBoundaryResult.js";import d from"./support/ImageDistanceParameters.js";import S from"./support/ImageDistanceResult.js";import I from"./support/ImageGPSInfoParameters.js";import N from"./support/ImageGPSInfoResult.js";import R from"./support/ImageHeightParameters.js";import h from"./support/ImageHeightResult.js";import O from"./support/ImageHistogramParameters.js";import J from"./support/ImageIdentifyParameters.js";import w from"./support/ImageIdentifyResult.js";import P from"./support/ImagePixelLocationParameters.js";import q from"./support/ImagePixelLocationResult.js";import G from"./support/ImagePointParameters.js";import $ from"./support/ImagePointResult.js";import C from"./support/ImageSampleParameters.js";import M from"./support/ImageSampleResult.js";import b from"./support/ImageToMapMultirayParameters.js";import v from"./support/ImageToMapParameters.js";import F from"./support/ImageUrlParameters.js";import T from"./support/ImageUrlResult.js";import A from"./support/ImageVolumeParameters.js";import L from"./support/ImageVolumeResult.js";import U from"./support/MapToImageParameters.js";import x from"./support/MeasureAreaFromImageResult.js";import H from"./support/MeasureFromImageParameters.js";import V from"./support/MeasureLengthFromImageResult.js";function B(t){const e=t?.time;if(e&&(null!=e.start||null!=e.end)){const r=[];null!=e.start&&r.push(e.start),null==e.end||r.includes(e.end)||r.push(e.end),t.time=r.join(",")}}async function D(t,r,o){r=e(O,r);const s=n(t),p=r.geometry?[r.geometry]:[],u=await a(p),c=r.toJSON();B(c);const f=u?.[0];null!=f&&(c.geometry=st(f));const l=m({...s.query,f:"json",...c});return i(l,o)}async function k(r,o,a){const s=(o=e(A,o)).toJSON();s.geometries=JSON.stringify(s.geometries);const p=n(r),u=m({...p.query,f:"json",...s}),c=i(u,a),{data:f}=await t(`${p.path}/calculateVolume`,c);return L.fromJSON({volumes:f.results})}async function z(o,a,s){const p=(a=e(c,a)).toJSON();null!=p.angleName&&(p.angleName=p.angleName.join(",")),a?.point?.spatialReference?.imageCoordinateSystem&&(p.point.spatialReference=nt(a.point.spatialReference)),a?.spatialReference?.imageCoordinateSystem&&(p.spatialReference=mt(a.spatialReference));const u=n(o),l=m({...u.query,f:"json",...p}),g=i(l,s),{data:y}=await t(`${u.path}/computeAngles`,g);return y.spatialReference=y.spatialReference?null!=y.spatialReference.geodataXform?new r({wkid:0,imageCoordinateSystem:y.spatialReference}):r.fromJSON(y.spatialReference):null,"NaN"===y.north&&(y.north=null),"NaN"===y.up&&(y.up=null),new f(y)}async function E(r,o,a){const s=(o=e(P,o)).toJSON(),{geometries:p}=o;if(p)for(let t=0;t<p.length;t++)p[t].spatialReference?.imageCoordinateSystem&&(s.geometries.geometries[t].spatialReference=nt(p[t].spatialReference));const u=n(r),c=m({...u.query,f:"json",...s}),f=i(c,a),{data:l}=await t(`${u.path}/computePixelLocation`,f);return q.fromJSON(l)}async function X(e,r,o){const a=await D(e,r,o),s=n(e),{data:m}=await t(`${s.path}/computeStatisticsHistograms`,a),{statistics:i}=m;return i?.length&&i.forEach((t=>{t.avg=t.mean,t.stddev=t.standardDeviation})),{statistics:i,histograms:m.histograms}}async function K(e,r,o){const a=await D(e,r,o),s=n(e),{data:m}=await t(`${s.path}/computeHistograms`,a);return{histograms:m.histograms}}async function Q(r,o,s){const p=(o=e(C,o)).toJSON();B(p),p.outFields?.length&&(p.outFields=p.outFields.join(","));const u=await a(o.geometry),c=u?.[0];null!=c&&(p.geometry=st(c));const f=n(r),l=m({...f.query,f:"json",...p}),g=i(l,s),{data:y}=await t(`${f.path}/getSamples`,g),j=y.samples.map((t=>{const e="NaN"===t.value||""===t.value?null:t.value.split(" ").map((t=>Number(t)));return{...t,pixelValue:e}}));return M.fromJSON({samples:j})}async function W(r,o,s){o=e(J,o);const p=n(r),u=o.geometry?[o.geometry]:[];return a(u).then((e=>{const r=o.toJSON(),a=e?.[0];null!=a&&(r.geometry=JSON.stringify(st(a)));const n=m({...p.query,f:"json",...r}),u=i(n,s);return t(p.path+"/identify",u)})).then((t=>w.fromJSON(t.data)))}async function Y(t,r,o){r=e(R,r);const a=await et(t,r,[r.fromGeometry,r.toGeometry],o);return h.fromJSON(a)}async function Z(t,r,o){r=e(l,r);const a=await et(t,r,[r.geometry],o);return g.fromJSON(a)}async function _(t,r,o){r=e(G,r);const a=await et(t,r,[r.geometry],o);return $.fromJSON(a)}async function tt(t,r,o){r=e(d,r);const a=await et(t,r,[r.fromGeometry,r.toGeometry],o);return S.fromJSON(a)}async function et(e,r,o,s){const p=n(e),u=await a(o),c=r.toJSON();null!=u[0]&&(c.fromGeometry=JSON.stringify(st(u[0]))),null!=u[1]&&(c.toGeometry=JSON.stringify(st(u[1])));const f=m({...p.query,f:"json",...c}),l=i(f,s),{data:g}=await t(p.path+"/measure",l);return g}async function rt(t,e,r){const o=await at(t,e,r);return V.fromJSON(o)}async function ot(t,e,r){const o=await at(t,e,r);return x.fromJSON(o)}async function at(r,o,a){o=e(H,o);const s=n(r),p=o.toJSON(),u=m({...s.query,f:"json",...p}),c=i(u,a),{data:f}=await t(s.path+"/measureFromImage",c);return f}function st(t){const e=t.toJSON();return t.spatialReference?.imageCoordinateSystem&&(e.spatialReference=nt(t.spatialReference)),e}function nt(t){const{imageCoordinateSystem:e}=t;if(e){const{id:t,referenceServiceName:r}=e;return null!=t?r?{icsid:t,icsns:r}:{icsid:t}:{ics:e}}return t.toJSON()}function mt(t,e){if(!t.imageCoordinateSystem)return s(t);const r=nt(t),{icsid:o,icsns:a}=r;return null==o||null!=a&&!e?.toLowerCase().includes("/"+a.toLowerCase()+"/")?JSON.stringify(r):`0:${o}`}async function it(r,o,a){o=e(y,o);const s=n(r),p=o.toJSON();o.outSpatialReference&&(p.outSR=mt(o.outSpatialReference));const u=m({...s.query,f:"json",...p}),c=i(u,a),{data:f}=await t(s.path+"/queryBoundary",c);return j.fromJSON(f)}async function pt(r,o,s){const p=(o=e(I,o)).toJSON();B(p),p.objectIds?.length&&(p.objectIds=p.objectIds.join(",")),p.geometry||p.objectIds||p.time||p.where||(p.where="1=1");const u=await a(o.geometry),c=u?.[0];null!=c&&(p.geometry=st(c));const f=c?.spatialReference??o.geometry?.spatialReference;f&&(p.inSR=mt(f));const l=n(r),g=m({...l.query,f:"json",...p}),y=i(g,s),{data:j}=await t(`${l.path}/queryGPSInfo`,y);return N.fromJSON(j)}async function ut(r,a,s){const p=(a=e(v,a)).toJSON();a.geometry.spatialReference.imageCoordinateSystem&&(p.geometry=st(a.geometry)),a.depthOffset&&a.adjust||delete p.options;const u=n(r),c=m({...u.query,f:"json",...p}),f=i(c,s),{data:l}=await t(`${u.path}/imageToMap`,f);return o(l)}async function ct(r,a,s){const p=(a=e(b,a)).toJSON();a.rasterIds?.length&&(p.rasterIds=a.rasterIds.join(","));const u=n(r),c=m({...u.query,f:"json",...p}),f=i(c,s),{data:l}=await t(`${u.path}/imageToMapMultiray`,f);return o(l)}async function ft(r,s,p){const u=(s=e(U,s)).toJSON(),c=await a(s.geometry),f=c?.[0];null!=f&&(u.geometry=st(f)),s.visibleOnly||delete u.options;const l=f?.spatialReference??s.geometry?.spatialReference;l&&(u.inSR=mt(l));const g=n(r),y=m({...g.query,f:"json",...u}),j=i(y,p),{data:d}=await t(`${g.path}/mapToImage`,j);return o(d)}async function lt(r,o,a){const s=(o=e(F,o)).toJSON(),p=n(r),u=m({...p.query,f:"json",...s}),c=i(u,a),{data:f}=await t(`${p.path}/getImageUrl`,c);return T.fromJSON(f)}async function gt(r,o,s){const c=(o=e(p,o)).toJSON(),f=await a([o.fromGeometry,o.toGeometry]);null!=f[0]&&(c.fromGeometry=st(f[0]),f[0].spatialReference&&(c.inSR=mt(f[0].spatialReference))),null!=f[1]&&(c.toGeometry=st(f[1])),o.objectIds?.length&&(c.objectIds=c.objectIds.join(","));const l=n(r),g=m({...l.query,f:"json",...c}),y=i(g,s),{data:j}=await t(`${l.path}/find`,y);return u.fromJSON(j)}export{k as calculateVolume,z as computeAngles,K as computeHistograms,E as computePixelSpaceLocations,X as computeStatisticsHistograms,gt as findImages,nt as getImageSpatialReferenceJSON,mt as getImageSpatialReferenceQueryParameter,lt as getImageUrl,Q as getSamples,W as identify,ut as imageToMap,ct as imageToMapMultiray,ft as mapToImage,Z as measureAreaAndPerimeter,ot as measureAreaFromImage,tt as measureDistanceAndAngle,Y as measureHeight,rt as measureLengthFromImage,_ as measurePointOrCentroid,it as queryBoundary,pt as queryGPSInfo};