Newer
Older
ganzhou-feidu / static / lib / freedo / Freedo / Workers / GeographicTilingScheme-835dd561.js
bairujie on 14 Apr 2023 2 KB init
define(["exports","./when-cbf8cd21","./Check-35e1a91d","./Math-e66fad2a","./Cartesian2-44433f55","./Matrix3-146a3f23"],function(e,g,t,f,d,i){"use strict";function r(e){e=g.defaultValue(e,g.defaultValue.EMPTY_OBJECT),this._ellipsoid=g.defaultValue(e.ellipsoid,d.Ellipsoid.WGS84),this._rectangle=g.defaultValue(e.rectangle,d.Rectangle.MAX_VALUE),this._projection=new i.GeographicProjection(this._ellipsoid),this._numberOfLevelZeroTilesX=g.defaultValue(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=g.defaultValue(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(r.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),r.prototype.getNumberOfXTilesAtLevel=function(e){return g.defined(e)||(e=0),this._numberOfLevelZeroTilesX*Math.pow(2,e)},r.prototype.getNumberOfYTilesAtLevel=function(e){return g.defined(e)||(e=0),this._numberOfLevelZeroTilesY*Math.pow(2,e)},r.prototype.rectangleToNativeRectangle=function(e,t){var i=f.CesiumMath.toDegrees(e.west),r=f.CesiumMath.toDegrees(e.south),n=f.CesiumMath.toDegrees(e.east),o=f.CesiumMath.toDegrees(e.north);return g.defined(t)?(t.west=i,t.south=r,t.east=n,t.north=o,t):new d.Rectangle(i,r,n,o)},r.prototype.tileXYToNativeRectangle=function(e,t,i,r){var n=this.tileXYToRectangle(e,t,i,r);return n.west=f.CesiumMath.toDegrees(n.west),n.south=f.CesiumMath.toDegrees(n.south),n.east=f.CesiumMath.toDegrees(n.east),n.north=f.CesiumMath.toDegrees(n.north),n},r.prototype.tileXYToRectangle=function(e,t,i,r){var n=this._rectangle,o=this.getNumberOfXTilesAtLevel(i),s=this.getNumberOfYTilesAtLevel(i),l=n.width/o,a=e*l+n.west,u=(e+1)*l+n.west,h=n.height/s,f=n.north-t*h,c=n.north-(t+1)*h;return g.defined(r)||(r=new d.Rectangle(a,c,u,f)),r.west=a,r.south=c,r.east=u,r.north=f,r},r.prototype.positionToTileXY=function(e,t,i){var r=this._rectangle;if(d.Rectangle.contains(r,e)){var n=this.getNumberOfXTilesAtLevel(t),o=this.getNumberOfYTilesAtLevel(t),s=r.width/n,l=r.height/o,a=e.longitude;r.east<r.west&&(a+=f.CesiumMath.TWO_PI);var u=(a-r.west)/s|0;n<=u&&(u=n-1);var h=(r.north-e.latitude)/l|0;return(o<=h&&(h=o-1),g.defined(i))?(i.x=u,i.y=h,i):new d.Cartesian2(u,h)}},e.GeographicTilingScheme=r});