ElevationLayer.js
3.67 KB
// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.6/esri/copyright.txt for details.
//>>built
define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/accessorSupport/decorators dojo/_base/lang dojo/_base/kernel ../request ../core/Error ../core/promiseUtils ../core/requireUtils ../core/urlUtils ../geometry/HeightModelInfo ./TiledLayer ./mixins/ArcGISMapService ./mixins/ArcGISCachedService ./mixins/OperationalLayer ./mixins/PortalLayer ./support/rasterFormats/LercCodec".split(" "),function(m,A,n,c,d,e,f,g,p,h,q,r,t,u,v,w,x,y,z){return function(k){function b(a){a=
k.call(this)||this;a.heightModelInfo=null;a.type="elevation";a.url=null;a.opacity=1;a.operationalLayerType="ArcGISTiledElevationServiceLayer";return a}n(b,k);b.prototype.normalizeCtorArgs=function(a,b){return"string"===typeof a?e.mixin({},{url:a},b):a};Object.defineProperty(b.prototype,"minScale",{get:function(){},set:function(a){f.deprecated(this.declaredClass+".minScale support has been removed.","","4.5")},enumerable:!0,configurable:!0});Object.defineProperty(b.prototype,"maxScale",{get:function(){},
set:function(a){f.deprecated(this.declaredClass+".maxScale support has been removed.","","4.5")},enumerable:!0,configurable:!0});b.prototype.load=function(){var a=this;this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:function(a){for(var b=0;b<a.typeKeywords.length;b++)if("elevation 3d layer"===a.typeKeywords[b].toLowerCase())return!0;throw new p("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",
{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"});}}).always(function(){return a._fetchImageService()}));return this.when()};b.prototype.fetchTile=function(a,b,d,c){var l=this;void 0===c&&(c=0);return this.load().then(function(){return l._fetchTileAvailability(a,b,d)}).then(function(){var c=l.getTileUrl(a,b,d);return g(c,{responseType:"array-buffer",failOk:!0})}).then(function(a){a=z.decode(a.data,{noDataValue:c,returnFileInfo:!0});return{values:a.pixelData,width:a.width,height:a.height,
maxZError:a.fileInfo.maxZError,noDataValue:a.noDataValue}})};b.prototype.queryElevation=function(a,b){var c=this;return q.when(m,"./support/ElevationQuery").then(function(d){return(new d.ElevationQuery).query(c,a,b)})};b.prototype._fetchTileAvailability=function(a,b,c){return this.tilemapCache?this.tilemapCache.fetchAvailability(a,b,c):h.resolve("unknown")};b.prototype._fetchImageService=function(){var a=this;return h.resolve().then(function(){if(a.resourceInfo)return a.resourceInfo;var b={query:e.mixin({f:"json"},
a.parsedUrl.query),responseType:"json",callbackParamName:"callback"};return g(a.parsedUrl.path,b)}).then(function(b){b.ssl&&(a.url=a.url.replace(/^http:/i,"https:"));a.read(b.data,{origin:"service",url:a.parsedUrl})})};c([d.shared({"3d":"../views/3d/layers/ElevationLayerView3D"})],b.prototype,"viewModulePaths",void 0);c([d.property({readOnly:!0,type:t})],b.prototype,"heightModelInfo",void 0);c([d.property({json:{read:!1,write:!1}})],b.prototype,"minScale",null);c([d.property({json:{read:!1,write:!1}})],
b.prototype,"maxScale",null);c([d.property()],b.prototype,"resourceInfo",void 0);c([d.property({json:{read:!1},value:"elevation",readOnly:!0})],b.prototype,"type",void 0);c([d.property({json:{origins:{"web-scene":{write:{isRequired:!0,writer:r.writeOperationalLayerUrl}}}}})],b.prototype,"url",void 0);c([d.property({json:{read:!1,write:!1}})],b.prototype,"opacity",void 0);c([d.property()],b.prototype,"operationalLayerType",void 0);return b=c([d.subclass("esri.layers.ElevationLayer")],b)}(d.declared(u,
v,w,x,y))});