// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.7/esri/copyright.txt for details. //>>built define("../core/kebabDictionary ../core/accessorSupport/ensureType ../geometry/Extent ../geometry/Multipoint ../geometry/Polyline ../geometry/Polygon ../geometry/support/jsonUtils ../request ./Task ./support/ProjectParameters dojo/_base/lang".split(" "),function(h,r,n,t,p,m,g,f,u,v,d){var q=h({MGRS:"mgrs",USNG:"usng",UTM:"utm",GeoRef:"geo-ref",GARS:"gars",DMS:"dms",DDM:"ddm",DD:"dd"}),w=r.ensureType(v);h=u.createSubclass({declaredClass:"esri.tasks.GeometryService",areasAndLengths:function(a,b){a= {query:d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/areasAndLengths",a).then(function(a){return a.data})},autoComplete:function(a,b,c){var e=a[0].spatialReference;a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(e.toJSON()),polygons:JSON.stringify(this._encodeGeometries(a).geometries),polylines:JSON.stringify(this._encodeGeometries(b).geometries)}), callbackParamName:"callback"};if(this.requestOptions||c)a=d.mixin({},this.requestOptions,c,a);return f(this.parsedUrl.path+"/autoComplete",a).then(function(a){return(a.data.geometries||[]).map(function(a){return new m({spatialReference:e,rings:a.rings})})})},buffer:function(a,b){var c=d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),e=a.outSpatialReference||a.geometries[0].spatialReference;a={query:c,callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b, a);return f(this.parsedUrl.path+"/buffer",a).then(function(a){return(a.data.geometries||[]).map(function(a){return new m({spatialReference:e,rings:a.rings})})})},cut:function(a,b,c){var e=a[0].spatialReference,k=a.map(function(a){return a.toJSON()});a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(e.toJSON()),target:JSON.stringify({geometryType:g.getJsonType(a[0]),geometries:k}),cutter:JSON.stringify(b.toJSON())}),callbackParamName:"callback"};if(this.requestOptions||c)a=d.mixin({}, this.requestOptions,c,a);return f(this.parsedUrl.path+"/cut",a).then(function(a){a=a.data;return{cutIndexes:a.cutIndexes,geometries:(a.geometries||[]).map(function(a){return g.fromJSON(a).set("spatialReference",e)})}})},convexHull:function(a,b){var c=a[0].spatialReference;a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(c.toJSON()),geometries:JSON.stringify(this._encodeGeometries(a))}),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a); return f(this.parsedUrl.path+"/convexHull",a).then(function(a){return g.fromJSON(a.data.geometry).set("spatialReference",c)})},densify:function(a,b){var c=d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),e=a.geometries[0].spatialReference;a={query:c,callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/densify",a).then(function(a){return(a.data.geometries||[]).map(function(a){return g.fromJSON(a).set("spatialReference",e)})})}, difference:function(a,b,c){var e=a[0].spatialReference;a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(e.toJSON()),geometries:JSON.stringify(this._encodeGeometries(a)),geometry:JSON.stringify({geometryType:g.getJsonType(b),geometry:b.toJSON()})}),callbackParamName:"callback"};if(this.requestOptions||c)a=d.mixin({},this.requestOptions,c,a);return f(this.parsedUrl.path+"/difference",a).then(function(a){return(a.data.geometries||[]).map(function(a){return g.fromJSON(a).set("spatialReference", e)})})},distance:function(a,b){a={query:d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/distance",a).then(this._handleDistanceResponse)},fromGeoCoordinateString:function(a,b){var c={};d.isObject(a.sr)?c.sr=a.sr.wkid||JSON.stringify(a.sr.toJSON()):c.sr=a.sr;c.strings=JSON.stringify(a.strings);c.conversionType=q.toJSON(a.conversionType||"mgrs");c.conversionMode=a.conversionMode; a={query:d.mixin({},this.parsedUrl.query,{f:"json"},c),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/fromGeoCoordinateString",a).then(this._handleFromGeoCoordinateResponse)},generalize:function(a,b){var c=d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),e=a.geometries[0].spatialReference;a={query:c,callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+ "/generalize",a).then(function(a){return(a.data.geometries||[]).map(function(a){return g.fromJSON(a).set("spatialReference",e)})})},intersect:function(a,b,c){var e=a[0].spatialReference;a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(e.toJSON()),geometries:JSON.stringify(this._encodeGeometries(a)),geometry:JSON.stringify({geometryType:g.getJsonType(b),geometry:b.toJSON()})}),callbackParamName:"callback"};if(this.requestOptions||c)a=d.mixin({},this.requestOptions,c,a);return f(this.parsedUrl.path+ "/intersect",a).then(function(a){return(a.data.geometries||[]).map(function(a){return g.fromJSON(a).set("spatialReference",e)})})},lengths:function(a,b){a={query:d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/lengths",a).then(function(a){return a.data})},labelPoints:function(a,b){var c=a.map(function(a){return a.toJSON()}),e=a[0].spatialReference;a={query:d.mixin({}, this.parsedUrl.query,{f:"json",sr:e.wkid?e.wkid:JSON.stringify(e.toJSON()),polygons:JSON.stringify(c)}),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/labelPoints",a).then(function(a){return(a.data.labelPoints||[]).map(function(a){return g.fromJSON(a).set("spatialReference",e)})})},offset:function(a,b){var c=d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),e=a.geometries[0].spatialReference;a={query:c,callbackParamName:"callback"}; if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/offset",a).then(function(a){return(a.data.geometries||[]).map(function(a){return g.fromJSON(a).set("spatialReference",e)})})},project:function(a,b){a=w(a);var c=d.mixin({},a.toJSON(),this.parsedUrl.query,{f:"json"}),e=a.outSpatialReference,k=g.getJsonType(a.geometries[0]),l=this._decodeGeometries;a={query:c,callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+ "/project",a).then(function(a){return l(a.data,k,e)})},relation:function(a,b){a={query:d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/relation",a).then(this._handleRelationResponse)},reshape:function(a,b,c){var e=a.spatialReference;a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(e.toJSON()),target:JSON.stringify({geometryType:g.getJsonType(a),geometry:a.toJSON()}), reshaper:JSON.stringify(b.toJSON())}),callbackParamName:"callback"};if(this.requestOptions||c)a=d.mixin({},this.requestOptions,c,a);return f(this.parsedUrl.path+"/reshape",a).then(function(a){return g.fromJSON(a.data.geometry).set("spatialReference",e)})},simplify:function(a,b){var c=a[0].spatialReference,e=d.mixin({},this.parsedUrl.query,{f:"json",sr:c.wkid?c.wkid:JSON.stringify(c.toJSON()),geometries:JSON.stringify(this._encodeGeometries(a))}),k=g.getJsonType(a[0]),l=this._decodeGeometries;a={query:e, callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/simplify",a).then(function(a){return l(a.data,k,c)})},toGeoCoordinateString:function(a,b){var c={};d.isObject(a.sr)?c.sr=a.sr.wkid||JSON.stringify(a.sr.toJSON()):c.sr=a.sr;c.coordinates=JSON.stringify(a.coordinates);c.conversionType=q.toJSON(a.conversionType||"mgrs");c.conversionMode=a.conversionMode;c.numOfDigits=a.numOfDigits;c.rounding=a.rounding;c.addSpaces=a.addSpaces; a={query:d.mixin({},this.parsedUrl.query,{f:"json"},c),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/toGeoCoordinateString",a).then(this._handleToGeoCoordinateResponse)},trimExtend:function(a,b){var c=d.mixin({},this.parsedUrl.query,{f:"json"},a.toJSON()),e=a.sr;a={query:c,callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/trimExtend",a).then(function(a){return(a.data.geometries|| []).map(function(a){return new p({spatialReference:e,paths:a.paths})})})},union:function(a,b){var c=a[0].spatialReference;a={query:d.mixin({},this.parsedUrl.query,{f:"json",sr:JSON.stringify(c.toJSON()),geometries:JSON.stringify(this._encodeGeometries(a))}),callbackParamName:"callback"};if(this.requestOptions||b)a=d.mixin({},this.requestOptions,b,a);return f(this.parsedUrl.path+"/union",a).then(function(a){return g.fromJSON(a.data.geometry).set("spatialReference",c)})},_handleRelationResponse:function(a){return a.data.relations}, _handleDistanceResponse:function(a){return(a=a.data)&&a.distance},_handleToGeoCoordinateResponse:function(a){return a.data.strings},_handleFromGeoCoordinateResponse:function(a){return a.data.coordinates},_encodeGeometries:function(a){var b=[],c,d=a.length;for(c=0;c