@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.95 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import e from"../../../../../core/Error.js";import{getMetersPerVerticalUnitForSR as t,getMetersPerUnitForSR as o}from"../../../../../core/unitUtils.js";import{isLoadedSharedTemplate as r,isSharedPresetTemplate as n,isSharedFeatureTemplate as s}from"../../../../templateUtils.js";import{createFeatureServiceEdit as i}from"../../support/createFeatureServiceEdit.js";import{createPresetServiceEdit as a}from"../../support/createPresetServiceEdit.js";import l from"../../../../../geometry/Polygon.js";import{isPoint as u,isPolygon as p}from"../../../../../geometry/support/jsonUtils.js";function f({edits:t,mode:o,relationships:l,shape:p,templatePart:f},c=""){if(null===f)return;const{template:m}=f;if(!r(m))throw new e("shared-template:template-not-loaded","A template part's template must be loaded before use");if(n(m)){if(!u(p))throw new e("shared-template:invalid-geometry","Preset templates must have a point geometry");a({geometry:p,template:m,edits:t,relationships:l,rotation:0,mode:o,tag:c})}else s(m)&&i({geometry:p,template:m,edits:t,relationships:l,tag:c})}function c(e,t){if(!e||!p(e))return null;if(!t.hasZ&&!t.hasM)return e;let o=null,r=null;const n=t.hasZ&&t.hasM?3:2;switch(t.type){case"point":o=t.hasZ?t.z:null,r=t.hasM?t.m:null;break;case"polygon":case"polyline":{const e="polygon"===t.type?t.rings:t.paths;for(const s of e)for(const e of s)t.hasZ&&(null===o||e[2]>o)&&(o=e[2]),t.hasM&&(null===r||e[n]>r)&&(r=e[n])}break;case"multipoint":for(const e of t.points)t.hasZ&&(null===o||e[2]>o)&&(o=e[2]),t.hasM&&(null===r||e[n]>r)&&(r=e[n]);break;default:return e}const s=M(e.rings,t.hasZ,t.hasM,o,r);return new l({rings:s,spatialReference:e.spatialReference,hasZ:t.hasZ,hasM:t.hasM})}function m(e){let r=1;if(e.spatialReference.vcsWkid||e.spatialReference.latestVcsWkid){r=t(e.spatialReference)/o(e.spatialReference)}return r}function h(e){let t=!1;return void 0!==e.byNumber&&(t=!0===e.byNumber),t}function d(e){let t=0;return void 0!==e.count&&(t=e.count),t}function g(e,t){let o=0;return t?void 0!==e.proportional&&(o=e.proportional):void 0!==e.distanceValue&&(o=e.distanceValue),t&&(o/=100),o}function y(e){return!0===e.isProportional}function v(e){return!1!==e.createUnique}function b(e){let t=0;return void 0!==e.offsetDistance&&(t=e.offsetDistance),void 0!==e.side&&1===e.side&&(t*=-1),t}function j(e){return!0===e.vertexBeforeOffset}function M(e,t,o,r,n){const s=[];for(const i of e)s.push(Z(i,t,o,r,n));return s}function Z(e,t,o,r,n){const s=[];for(const i of e){const e=[i[0],i[1]];t&&(e[2]=r),o&&(e[t?3:2]=n),s.push(e)}return s}export{c as correctZandMFollowingBuffer,m as getHeightUnitCorrectionFactor,f as makeFeatureFromGroupPart,h as readByNumber,d as readCount,g as readDistance,y as readIsProportional,v as readIsUnique,b as readOffsetDistance,j as readVertexBeforeOffset};