UNPKG

vue-cesium

Version:
1 lines 16.3 kB
{"version":3,"file":"TiandituImageryProvider.mjs","sources":["../../../../../../packages/components/providers/tianditu/TiandituImageryProvider.ts"],"sourcesContent":["import TiandituMapsStyle from './TiandituMapsStyle'\nimport Uri from 'urijs'\nimport defer from '@vue-cesium/utils/defer'\n\nconst TiandituMapsStyleUrl = {}\nconst TiandituMapsStyleLayer = {}\nconst TiandituMapsStyleID = {}\nconst TiandituMapsStyleFormat = {}\nconst TiandituMapsStyleEPSG = {}\nconst TiandituMapsStyleLabels = {}\n\nclass TiandituImageryProvider {\n _mapStyle: string\n _url: string\n _token: string\n _layer: string\n _style: string\n _tileMatrixSetID: string\n _tileMatrixLabels: string\n _format: string\n _epsgCode: string\n _tilingScheme: Cesium.GeographicTilingScheme | Cesium.WebMercatorTilingScheme\n _tileWidth: number\n _tileHeight: number\n _minimumLevel: number\n _maximumLevel: number\n _rectangle: Cesium.Rectangle\n // _readyPromise?: Promise<boolean>\n _errorEvent: Cesium.Event\n _credit: Cesium.Credit\n _subdomains: string[]\n _tileDiscardPolicy: any\n _ready: boolean\n _resource: Cesium.Resource\n constructor(options) {\n Object.keys(TiandituMapsStyle).forEach(key => {\n TiandituMapsStyleUrl[TiandituMapsStyle[key]] = options.protocol + '://{s}.tianditu.gov.cn/' + TiandituMapsStyle[key] + '/wmts'\n TiandituMapsStyleLayer[TiandituMapsStyle[key]] = TiandituMapsStyle[key].slice(0, 3)\n TiandituMapsStyleID[TiandituMapsStyle[key]] = TiandituMapsStyle[key].slice(4)\n TiandituMapsStyleFormat[TiandituMapsStyle[key]] = 'tiles'\n\n if (TiandituMapsStyleID[TiandituMapsStyle[key]] === 'w') {\n TiandituMapsStyleEPSG[TiandituMapsStyle[key]] = '900913'\n } else {\n TiandituMapsStyleEPSG[TiandituMapsStyle[key]] = '4490'\n }\n switch (TiandituMapsStyle[key]) {\n case 'img_w':\n case 'img_c':\n case 'cia_w':\n case 'cia_c':\n case 'cta_w':\n case 'cta_c':\n TiandituMapsStyleLabels[TiandituMapsStyle[key]] = [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18'\n ]\n break\n case 'vec_w':\n case 'vec_c':\n case 'cva_w':\n case 'cva_c':\n TiandituMapsStyleLabels[TiandituMapsStyle[key]] = [\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n '11',\n '12',\n '13',\n '14',\n '15',\n '16',\n '17',\n '18',\n '19'\n ]\n break\n case 'ter_w':\n case 'ter_c':\n TiandituMapsStyleLabels[TiandituMapsStyle[key]] = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14']\n break\n case 'eia_w':\n case 'eia_c':\n case 'eva_w':\n case 'eva_c':\n case 'ibo_c':\n case 'ibo_w':\n TiandituMapsStyleLabels[TiandituMapsStyle[key]] = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']\n break\n }\n })\n const { Credit, Resource, defaultValue, Event, GeographicTilingScheme, WebMercatorTilingScheme } = Cesium\n options = defaultValue(options, {})\n this._mapStyle = defaultValue(options.mapStyle, TiandituMapsStyle.IMG_W)\n this._url = options.url || defaultValue(options.url, TiandituMapsStyleUrl[this._mapStyle])\n\n const resource = (Resource as any).createIfNeeded(this._url)\n resource.appendForwardSlash()\n\n this._ready = false\n this._resource = resource\n this._token = options.token\n this._layer = defaultValue(options.layer, TiandituMapsStyleLayer[this._mapStyle])\n this._style = defaultValue(options.style, 'default')\n this._tileMatrixSetID = defaultValue(options.tileMatrixSetID, TiandituMapsStyleID[this._mapStyle])\n this._tileMatrixLabels = defaultValue(options.tileMatrixLabels, TiandituMapsStyleLabels[this._mapStyle])\n this._format = defaultValue(options.format, TiandituMapsStyleFormat[this._mapStyle])\n this._epsgCode = TiandituMapsStyleEPSG[this._mapStyle]\n this._tilingScheme = this._epsgCode === '900913' ? new WebMercatorTilingScheme() : new GeographicTilingScheme()\n this._tileWidth = defaultValue(options.tileWidth, 256)\n this._tileHeight = defaultValue(options.tileHeight, 256)\n this._minimumLevel = defaultValue(options.minimumLevel, 0)\n this._maximumLevel = defaultValue(options.maximumLevel, TiandituMapsStyleLabels[this._mapStyle].length)\n this._rectangle = defaultValue(options.rectangle, this._tilingScheme.rectangle)\n // this._readyPromise = defer()\n this._errorEvent = new Event()\n const credit = defaultValue(options.credit, '天地图全球影像服务')\n this._credit = typeof credit === 'string' ? new Credit(credit) : credit\n this._subdomains = defaultValue(options.subdomains, ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'])\n this._tileDiscardPolicy = options.tileDiscardPolicy\n this._ready = true\n }\n\n getTileCredits(x, y, level) {\n if (!this.ready) {\n throw new Cesium.DeveloperError('getTileCredits must not be called before the imagery provider is ready.')\n }\n return undefined\n }\n\n requestImage(x, y, level, request) {\n if (!this.ready) {\n throw new Cesium.DeveloperError('requestImage must not be called before the imagery provider is ready.')\n }\n\n const url = buildImageResource.call(this, x, y, level, request)\n return Cesium.ImageryProvider.loadImage(this as any, url)\n }\n\n pickFeatures(x, y, level, longitude, latitude) {\n return undefined\n }\n\n get url() {\n return this._resource.url\n }\n\n get proxy() {\n return this._resource.proxy\n }\n\n get mapStyle() {\n return this._mapStyle\n }\n\n get tileWidth() {\n return this._tileWidth\n }\n\n get tileHeight() {\n return this._tileHeight\n }\n\n get maximumLevel() {\n return this._maximumLevel\n }\n\n get minimumLevel() {\n return this._minimumLevel\n }\n\n get tilingScheme() {\n return this._tilingScheme\n }\n\n get rectangle() {\n return this._rectangle\n }\n\n get errorEvent() {\n return this._errorEvent\n }\n\n get ready() {\n return true\n }\n\n // get readyPromise() {\n // // return this._readyPromise\n // }\n\n get credit() {\n return this._credit\n }\n\n get hasAlphaChannel() {\n return true\n }\n\n get tileDiscardPolicy() {\n return this._tileDiscardPolicy\n }\n}\n\n/**\n * 构建天地图影像服务url, 调用时需要改变 this 指向为 TiandituImageryProvider\n * @param {number} x\n * @param {number} y\n * @param {number} level\n * @private\n */\nfunction buildImageResource(this, x, y, level, request) {\n const { combine, defined, defaultValue, queryToObject, objectToQuery } = Cesium\n const freezeObject = Object.freeze\n const options = freezeObject({\n service: 'WMTS',\n version: '1.0.0',\n request: 'GetTile'\n })\n this._epsgCode === '900913' && (level -= 1)\n const tileMatrixLabels = this._tileMatrixLabels\n const tileMatrixLabel = defined(tileMatrixLabels) ? tileMatrixLabels[level] : level.toString()\n const subdomains = this._subdomains\n let url = this._url.replace('{s}', subdomains[(x + y + level) % subdomains.length])\n const uri = new Uri(url)\n let obj = queryToObject(defaultValue(uri.query?.(), ''))\n obj = combine(options, obj)\n obj.tilematrix = tileMatrixLabel\n obj.layer = this._layer\n obj.style = this._style\n obj.tilerow = y\n obj.tilecol = x\n obj.tilematrixset = this._tileMatrixSetID\n obj.format = this._format\n const query = objectToQuery(obj)\n url = uri.toString() + '?' + query\n defined(this._proxy) && (url = this._proxy.getURL(url))\n defined(this._token) && (url += '&tk=' + this._token)\n\n const resource = this._resource.getDerivedResource({\n url: url,\n request: request\n })\n return resource\n}\n\nexport default TiandituImageryProvider\n"],"names":[],"mappings":"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"}