@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 16.6 kB
JavaScript
;(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7136,8628],{17136:(e,t,a)=>{a.d(t,{O7:()=>I,el:()=>v});var r=a(92602),n=a(49186),s=a(53966),i=a(39829),o=a(82799),l=a(80754),u=a(21325),d=a(28735),p=a(78888),c=a(65864),f=a(2272),h=a(84952),y=a(92300);const g=()=>s.A.getLogger("esri.geometry.support.normalizeUtils");function m(e){return"polygon"===e[0].type}function A(e){return"polyline"===e[0].type}function b(e,t,a){if(t){const t=function(e,t){if(!(e instanceof o.A||e instanceof i.A)){const e="straightLineDensify: the input geometry is neither polyline nor polygon";throw g().error(e),new n.A("internal:geometry",e)}const a=(0,l.r8)(e),r=[];for(const e of a){const a=[];r.push(a),a.push([e[0][0],e[0][1]]);for(let r=0;r<e.length-1;r++){const n=e[r][0],s=e[r][1],i=e[r+1][0],o=e[r+1][1],l=Math.sqrt((i-n)*(i-n)+(o-s)*(o-s)),u=(o-s)/l,d=(i-n)/l,p=l/t;if(p>1){for(let e=1;e<=p-1;e++){const r=e*t,i=d*r+n,o=u*r+s;a.push([i,o])}const e=(l+Math.floor(p-1)*t)/2,r=d*e+n,i=u*e+s;a.push([r,i])}a.push([i,o])}}return function(e){return"polygon"===e.type}(e)?new i.A({rings:r,spatialReference:e.spatialReference}):new o.A({paths:r,spatialReference:e.spatialReference})}(e,1e6);e=(0,d.ci)(t,!0)}return a&&(e=(0,l.kS)(e,a)),e}function w(e,t,a){if(Array.isArray(e)){const r=e[0];if(r>t){const a=(0,l.kd)(r,t);e[0]=r+a*(-2*t)}else if(r<a){const t=(0,l.kd)(r,a);e[0]=r+t*(-2*a)}}else{const r=e.x;if(r>t){const a=(0,l.kd)(r,t);e=e.clone().offset(a*(-2*t),0)}else if(r<a){const t=(0,l.kd)(r,a);e=e.clone().offset(t*(-2*a),0)}}return e}function F(e,t){let a=-1;for(let r=0;r<t.cutIndexes.length;r++){const n=t.cutIndexes[r],s=t.geometries[r],i=(0,l.r8)(s);for(let e=0;e<i.length;e++){const t=i[e];t.some((a=>{if(a[0]<180)return!0;{let a=0;for(let e=0;e<t.length;e++){const r=t[e][0];a=r>a?r:a}a=Number(a.toFixed(9));const r=-360*(0,l.kd)(a,180);for(let a=0;a<t.length;a++){const t=s.getPoint(e,a);s.setPoint(e,a,t.clone().offset(r,0))}return!0}}))}if(n===a){if(m(e))for(const t of(0,l.r8)(s))e[n]=e[n].addRing(t);else if(A(e))for(const t of(0,l.r8)(s))e[n]=e[n].addPath(t)}else a=n,e[n]=s}return e}async function v(e,t,a){if(!Array.isArray(e))return v([e],t);t&&"string"!=typeof t&&g().warn("normalizeCentralMeridian()","The url object is deprecated, use the url string instead");const n="string"==typeof t?t:t?.url??r.A.geometryServiceUrl;let s,m,A,I,R,S,$,E,k=0;const O=[],x=[];for(const t of e)if(null!=t)if(s||(s=t.spatialReference,m=(0,u.Vp)(s),A=s.isWebMercator,S=A?102100:4326,I=l.j7[S].maxX,R=l.j7[S].minX,$=l.j7[S].plus180Line,E=l.j7[S].minus180Line),m)if("mesh"===t.type)x.push(t);else if("point"===t.type)x.push(w(t.clone(),I,R));else if("multipoint"===t.type){const e=t.clone();e.points=e.points.map((e=>w(e,I,R))),x.push(e)}else if("extent"===t.type){const e=t.clone()._normalize(!1,!1,m);x.push(e.rings?new i.A(e):e)}else if(t.extent){const e=t.extent,a=(0,l.kd)(e.xmin,R)*(2*I);let r=0===a?t.clone():(0,l.kS)(t.clone(),a);e.offset(a,0);let{xmin:n,xmax:s}=e;n=Number(n.toFixed(9)),s=Number(s.toFixed(9)),e.intersects($)&&s!==I?(k=s>k?s:k,r=b(r,A),O.push(r),x.push("cut")):e.intersects(E)&&n!==R?(k=s*(2*I)>k?s*(2*I):k,r=b(r,A,360),O.push(r),x.push("cut")):x.push(r)}else x.push(t.clone());else x.push(t);else x.push(t);let M=(0,l.kd)(k,I),L=-90;const j=M,T=new o.A;for(;M>0;){const e=360*M-180;T.addPath([[e,L],[e,-1*L]]),L*=-1,M--}if(O.length>0&&j>0){const t=F(O,await async function(e,t,a,r){const n=(0,f.Dl)(e),s=t[0].spatialReference,i={...r,responseType:"json",query:{...n.query,f:"json",sr:(0,u.YX)(s),target:JSON.stringify({geometryType:(0,c.$B)(t[0]),geometries:t}),cutter:JSON.stringify(a)}},o=await(0,p.A)(n.path+"/cut",i),{cutIndexes:l,geometries:d=[]}=o.data;return{cutIndexes:l,geometries:d.map((e=>{const t=(0,c.rS)(e);return t.spatialReference=s,t}))}}(n,O,T,a)),r=[],s=[];for(let a=0;a<x.length;a++){const n=x[a];if("cut"!==n)s.push(n);else{const n=t.shift(),i=e[a];null!=i&&"polygon"===i.type&&i.rings&&i.rings.length>1&&n.rings.length>=i.rings.length?(r.push(n),s.push("simplify")):s.push(A?(0,d.Gh)(n):n)}}if(!r.length)return s;const i=await async function(e,t,a){const r="string"==typeof e?(0,h.An)(e):e,n=t[0].spatialReference,s=(0,c.$B)(t[0]),i={...a,query:{...r.query,f:"json",sr:(0,u.YX)(n),geometries:JSON.stringify((0,y.X)(t))}},{data:o}=await(0,p.A)(r.path+"/simplify",i);return(0,y.V)(o.geometries,s,n)}(n,r,a),o=[];for(let e=0;e<s.length;e++){const t=s[e];"simplify"!==t?o.push(t):o.push(A?(0,d.Gh)(i.shift()):i.shift())}return o}const B=[];for(let e=0;e<x.length;e++){const t=x[e];if("cut"!==t)B.push(t);else{const e=O.shift();B.push(!0===A?(0,d.Gh)(e):e)}}return B}function I(e,t,a){const r=(0,u.Vp)(a);if(null==r)return e;const[n,s]=r.valid,i=2*s;let o=0,l=0;t>s?o=Math.ceil(Math.abs(t-s)/i):t<n&&(o=-Math.ceil(Math.abs(t-n)/i)),e>s?l=Math.ceil(Math.abs(e-s)/i):e<n&&(l=-Math.ceil(Math.abs(e-n)/i));let d=e+(o-l)*i;const p=d-t;return p>s?d-=i:p<n&&(d+=i),d}},78628:(e,t,a)=>{a.d(t,{applyEdits:()=>v,r3:()=>b,uploadAssets:()=>O,zp:()=>F});var r=a(52106),n=a(5503),s=a(49186),i=a(4718),o=a(53966),l=a(74887),u=a(84952),d=a(13069),p=a(17136),c=a(21325),f=a(47685),h=a(30524),y=a(20557),g=a(77548);function m(e){return null!=e?.applyEdits}function A(e){return"object"==typeof e&&null!=e&&"objectId"in e&&!!e.objectId}function b(e){return e.every(A)}function w(e){return"object"==typeof e&&null!=e&&"globalId"in e&&!!e.globalId}function F(e){return e.every(w)}async function v(e,t,a,r={}){let u;const p="gdbVersion"in e?e.gdbVersion:null,c=r.gdbVersion??p;if((0,f.Mk)(e)&&e.url)u=(0,f.Zk)(e.url,e.layerId,c,"original-and-current-features"===r.returnServiceEditsOption);else{u=(0,l.Tw)(),u.promise.then((t=>{(t.addedFeatures.length||t.updatedFeatures.length||t.deletedFeatures.length||t.addedAttachments.length||t.updatedAttachments.length||t.deletedAttachments.length)&&e.emit("edits",t)}));const t={result:u.promise};e.emit("apply-edits",t)}try{const{results:l,edits:p}=await async function(e,t,a,r){if(await e.load(),!m(t))throw new s.A(`${e.type}-layer:no-editing-support`,"Layer source does not support applyEdits capability",{layer:e});if(!(0,g.tk)(e))throw new s.A(`${e.type}-layer:editing-disabled`,"Editing is disabled for layer",{layer:e});const{edits:i,options:l}=await async function(e,t,a){const r=(0,g.BR)(e),i=t&&(t.addFeatures||t.updateFeatures||t.deleteFeatures),l=t&&(t.addAttachments||t.updateAttachments||t.deleteAttachments),u=null!=e.infoFor3D;if(function(e,t,a,r,n,i){if(!(e&&(r||n)||a?.usingTelecomOperations))throw new s.A(`${i}:missing-parameters`,"'addFeatures', 'updateFeatures', 'deleteFeatures', 'addAttachments', 'updateAttachments' or 'deleteAttachments' parameter is required");if(!t.editing.supportsGlobalId&&a?.globalIdUsed&&!a.usingFeatureServiceEndpoint)throw new s.A(`${i}:invalid-parameter`,"This layer does not support 'globalIdUsed' parameter. See: 'capabilities.editing.supportsGlobalId'");if(!t.editing.supportsGlobalId&&n)throw new s.A(`${i}:invalid-parameter`,"'addAttachments', 'updateAttachments' and 'deleteAttachments' are applicable only if the layer supports global ids. See: 'capabilities.editing.supportsGlobalId'");if(!a?.globalIdUsed&&n)throw new s.A(`${i}:invalid-parameter`,"When 'addAttachments', 'updateAttachments' or 'deleteAttachments' is specified, globalIdUsed should be set to true")}(t,r,a,!!i,!!l,`${e.type}-layer`),!r.data.isVersioned&&a?.gdbVersion)throw new s.A(`${e.type}-layer:invalid-parameter`,"'gdbVersion' is applicable only if the layer supports versioned data. See: 'capabilities.data.isVersioned'");if(!r.editing.supportsRollbackOnFailure&&a?.rollbackOnFailureEnabled)throw new s.A(`${e.type}-layer:invalid-parameter`,"This layer does not support 'rollbackOnFailureEnabled' parameter. See: 'capabilities.editing.supportsRollbackOnFailure'");const p={...a};if(null!=p.rollbackOnFailureEnabled||r.editing.supportsRollbackOnFailure||(p.rollbackOnFailureEnabled=!0),p.rollbackOnFailureEnabled||"original-and-current-features"!==p.returnServiceEditsOption||(!1===p.rollbackOnFailureEnabled&&o.A.getLogger("esri.layers.graphics.editingSupport").warn(`${e.type}-layer:invalid-parameter`,"'original-and-current-features' is valid for 'returnServiceEditsOption' only when 'rollBackOnFailure' is true, but 'rollBackOnFailure' was set to false. 'rollBackOnFailure' has been overwritten and set to true."),p.rollbackOnFailureEnabled=!0),!r.editing.supportsReturnServiceEditsInSourceSpatialReference&&p.returnServiceEditsInSourceSR)throw new s.A(`${e.type}-layer:invalid-parameter`,"This layer does not support 'returnServiceEditsInSourceSR' parameter. See: 'capabilities.editing.supportsReturnServiceEditsInSourceSpatialReference'");if(p.returnServiceEditsInSourceSR&&"original-and-current-features"!==p.returnServiceEditsOption)throw new s.A(`${e.type}-layer:invalid-parameter`,"'returnServiceEditsInSourceSR' is valid only when 'returnServiceEditsOption' is set to 'original-and-current-features'");const c=function(e,t,a){const r=function(e){return{addFeatures:Array.from(e?.addFeatures??[]),updateFeatures:Array.from(e?.updateFeatures??[]),deleteFeatures:e&&n.A.isCollection(e.deleteFeatures)?e.deleteFeatures.toArray():e.deleteFeatures||[],addAttachments:e.addAttachments||[],updateAttachments:e.updateAttachments||[],deleteAttachments:e.deleteAttachments||[]}}(e);if(r.addFeatures?.length&&!t.operations.supportsAdd)throw new s.A(`${a}:unsupported-operation`,"Layer does not support adding features.");if(r.updateFeatures?.length&&!t.operations.supportsUpdate)throw new s.A(`${a}:unsupported-operation`,"Layer does not support updating features.");if(r.deleteFeatures?.length&&!t.operations.supportsDelete)throw new s.A(`${a}:unsupported-operation`,"Layer does not support deleting features.");return r.addFeatures=r.addFeatures.map(E),r.updateFeatures=r.updateFeatures.map(E),r.addAssetFeatures=[],r}(t,r,`${e.type}-layer`),f=a?.globalIdUsed||u,h=e.fields.filter((e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8));if(f){const{globalIdField:t}=e;if(null==t)throw new s.A(`${e.type}-layer:invalid-parameter`,"Layer does not specify a global id field.");c.addFeatures.forEach((e=>function(e,t){const{attributes:a}=e;null==a[t]&&(a[t]=(0,d.yS)())}(e,t)))}return c.addFeatures.forEach((t=>function(e,t,a,r){I(e,t,a,r),R(e,t)}(t,e,f,h))),c.updateFeatures.forEach((t=>function(e,t,a,r){I(e,t,a,r),R(e,t);const n=(0,g.BR)(t);if("geometry"in e&&null!=e.geometry&&!n?.editing.supportsGeometryUpdate)throw new s.A(`${t.type}-layer:unsupported-operation`,"Layer does not support geometry updates.")}(t,e,f,h))),c.deleteFeatures.forEach((t=>function(e,t,a,r){I(e,t,a,r)}(t,e,f,h))),c.addAttachments.forEach((t=>S(t,e))),c.updateAttachments.forEach((t=>S(t,e))),u&&await async function(e,t){const{infoFor3D:a}=t;if(null==a)return;if(!(0,y.JQ)(a))throw new s.A(`${t.type}-layer:binary-gltf-asset-not-supported`,"3DObjectFeatureLayer requires binary glTF (.glb) support for updating mesh geometry.");e.addAssetFeatures??=[];const{addAssetFeatures:r}=e;for(const t of e.addFeatures??[])k(t)&&r.push(t);for(const t of e.updateFeatures??[])k(t)&&r.push(t)}(c,e),{edits:await $(c),options:p}}(e,a,r);return i.addFeatures?.length||i.updateFeatures?.length||i.deleteFeatures?.length||i.addAttachments?.length||i.updateAttachments?.length||i.deleteAttachments?.length?{edits:i,results:await t.applyEdits(i,l)}:{edits:i,results:{addFeatureResults:[],updateFeatureResults:[],deleteFeatureResults:[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}}(e,t,a,r),c=e=>e.filter((e=>!e.error)).map(i.o8),f={edits:p,addedFeatures:c(l.addFeatureResults),updatedFeatures:c(l.updateFeatureResults),deletedFeatures:c(l.deleteFeatureResults),addedAttachments:c(l.addAttachmentResults),updatedAttachments:c(l.updateAttachmentResults),deletedAttachments:c(l.deleteAttachmentResults),exceededTransferLimit:!1,historicMoment:l.editMoment?new Date(l.editMoment):null,globalIdToObjectId:r.globalIdToObjectId};return l.editedFeatureResults?.length&&(f.editedFeatures=l.editedFeatureResults),u.resolve(f),l}catch(e){throw u.reject(e),e}}function I(e,t,a,r){if(a){if("attributes"in e&&!e.attributes[t.globalIdField])throw new s.A(`${t.type}-layer:invalid-parameter`,`Feature should have '${t.globalIdField}' when 'globalIdUsed' is true`);if(!("attributes"in e)&&!e.globalId)throw new s.A(`${t.type}-layer:invalid-parameter`,"`'globalId' of the feature should be passed when 'globalIdUsed' is true")}if(r.length&&"attributes"in e)for(const a of r){const r=e.attributes[a.name];if(void 0!==r&&!(0,h.OG)(a,r))throw new s.A(`${t.type}-layer:invalid-parameter`,`Big-integer field '${a.name}' of the feature must be less than ${Number.MAX_SAFE_INTEGER}`,{feature:e})}if("geometry"in e&&null!=e.geometry){if(e.geometry.hasZ&&!1===t.capabilities?.data.supportsZ)throw new s.A(`${t.type}-layer:z-unsupported`,"Layer does not support z values while feature has z values.");if(e.geometry.hasM&&!1===t.capabilities?.data.supportsM)throw new s.A(`${t.type}-layer:m-unsupported`,"Layer does not support m values while feature has m values.")}}function R(e,t){if("geometry"in e&&"mesh"===e.geometry?.type&&null!=t.infoFor3D&&null!=t.spatialReference){const{geometry:a}=e,{spatialReference:r,vertexSpace:n}=a,i=t.spatialReference,o="local"===n.type,l=(0,c.EA)(i),u=(0,c.aI)(i,r),d=u||(0,c.oT)(i)&&((0,c.oT)(r)||(0,c.K8)(r));if(!(o&&l&&d||!o&&!l&&u))throw new s.A(`${t.type}-layer:mesh-unsupported`,`Uploading a mesh with a ${n.type} vertex space and a spatial reference wkid:${r.wkid} to a layer with a spatial reference wkid:${i.wkid} is not supported.`)}}function S(e,t){const{feature:a,attachment:r}=e;if(!a||"attributes"in a&&!a.attributes[t.globalIdField])throw new s.A(`${t.type}-layer:invalid-parameter`,"Attachment should have reference to a feature with 'globalId'");if(!("attributes"in a)&&!a.globalId)throw new s.A(`${t.type}-layer:invalid-parameter`,"Attachment should have reference to 'globalId' of the parent feature");if(!r.globalId)throw new s.A(`${t.type}-layer:invalid-parameter`,"Attachment should have 'globalId'");if(!r.data&&!r.uploadId)throw new s.A(`${t.type}-layer:invalid-parameter`,"Attachment should have 'data' or 'uploadId'");if(!(r.data instanceof File&&r.data.name||r.name))throw new s.A(`${t.type}-layer:invalid-parameter`,"'name' is required when attachment is specified as Base64 encoded string using 'data'");if(!t.capabilities?.editing.supportsUploadWithItemId&&r.uploadId)throw new s.A(`${t.type}-layer:invalid-parameter`,"This layer does not support 'uploadId' parameter. See: 'capabilities.editing.supportsUploadWithItemId'");if("string"==typeof r.data){const e=(0,u.r$)(r.data);if(e&&!e.isBase64)throw new s.A(`${t.type}-layer:invalid-parameter`,"Attachment 'data' should be a Blob, File or Base64 encoded string")}}async function $(e){const t=e.addFeatures??[],a=e.updateFeatures??[],r=t.concat(a).map((e=>e.geometry)),n=await(0,p.el)(r),s=t.length,i=a.length;return n.slice(0,s).forEach(((e,a)=>t[a].geometry=e)),n.slice(s,s+i).forEach(((e,t)=>a[t].geometry=e)),e}function E(e){const t=new r.A;return e.attributes||(e.attributes={}),t.geometry=e.geometry,t.attributes=e.attributes,t}function k(e){return"mesh"===e?.geometry?.type}function O(e,t,a,r){if(!m(t))throw new s.A(`${e.type}-layer:no-editing-support`,"Layer source does not support applyEdits capability",{layer:e});if(!t.uploadAssets)throw new s.A(`${e.type}-layer:no-asset-upload-support`,"Layer source does not support uploadAssets capability",{layer:e});return t.uploadAssets(a,r)}},80754:(e,t,a)=>{a.d(t,{j7:()=>i,kS:()=>l,kd:()=>o,r8:()=>u});var r=a(82799),n=a(16930),s=a(65864);const i={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new r.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new r.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new r.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new r.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function o(e,t){return Math.ceil((e-t)/(2*t))}function l(e,t){const a=u(e);for(const e of a)for(const a of e)a[0]+=t;return e}function u(e){return(0,s.Bi)(e)?e.rings:e.paths}},92300:(e,t,a)=>{a.d(t,{V:()=>s,X:()=>n});var r=a(65864);function n(e){return{geometryType:(0,r.$B)(e[0]),geometries:e.map((e=>e.toJSON()))}}function s(e,t,a){const n=(0,r.xD)(t);return e.map((e=>{const t=n.fromJSON(e);return t.spatialReference=a,t}))}}}]);