| | |
| | | } |
| | | //判断是否为代理 |
| | | if (treeNode.proxy) { |
| | | this.addProxyAddress(treeNode);//有代理 |
| | | this.addProxyAddress(treeNode); //有代理 |
| | | } else { |
| | | this.addUrlAddress(treeNode);//无代理 |
| | | this.addUrlAddress(treeNode); //无代理 |
| | | } |
| | | }, |
| | | //代理地址 |
| | | addProxyAddress(res) { |
| | | //判断数据类型 |
| | | switch (res.data) { |
| | | case 1://数字正射影像图 |
| | | case 1: //数字正射影像图 |
| | | this.setDataType(res); |
| | | break; |
| | | case 2://场景地形数据 |
| | | case 2: //场景地形数据 |
| | | this.setTerrainData(res); |
| | | break; |
| | | case 3://数字高程模型(晕渲图) |
| | | case 3: //数字高程模型(晕渲图) |
| | | this.setDataType(res); |
| | | break; |
| | | case 4://单波段栅格数据 |
| | | case 4: //单波段栅格数据 |
| | | this.setDataType(res); |
| | | break; |
| | | case 5://多光谱栅格数据 |
| | | case 5: //多光谱栅格数据 |
| | | this.setDataType(res); |
| | | break; |
| | | case 6://高光谱栅格数据 |
| | | case 6: //高光谱栅格数据 |
| | | this.setDataType(res); |
| | | break; |
| | | case 7://矢量图层 |
| | | case 7: //矢量图层 |
| | | this.setVectorData(res); |
| | | break; |
| | | case 8://三维模型 |
| | | case 8: //三维模型 |
| | | this.setModelData(res); |
| | | break; |
| | | } |
| | |
| | | //普通地址 |
| | | addUrlAddress(res) { |
| | | switch (res.category) { |
| | | case 0://其他 |
| | | |
| | | case 0: //其他 |
| | | break; |
| | | case 1://GisServer |
| | | case 1: //GisServer |
| | | this.addProxyAddress(res); |
| | | break; |
| | | case 2://GeoServer |
| | | case 2: //GeoServer |
| | | this.addGeoServerAddress(res); |
| | | break; |
| | | case 3://数简 |
| | | case 3: //数简 |
| | | this.addProxyAddress(res); |
| | | break; |
| | | } |
| | | |
| | | }, |
| | | //Geoserver服务 |
| | | addGeoServerAddress(res) { |
| | | //判断数据类型 |
| | | switch (res.data) { |
| | | case 1://数字正射影像图 |
| | | case 1: //数字正射影像图 |
| | | this.setGeoDataType(res); |
| | | break; |
| | | case 2://场景地形数据 |
| | | case 2: //场景地形数据 |
| | | this.setTerrainData(res); |
| | | break; |
| | | case 3://数字高程模型(晕渲图) |
| | | case 3: //数字高程模型(晕渲图) |
| | | this.setGeoDataType(res); |
| | | break; |
| | | case 4://单波段栅格数据 |
| | | case 4: //单波段栅格数据 |
| | | this.setGeoDataType(res); |
| | | break; |
| | | case 5://多光谱栅格数据 |
| | | case 5: //多光谱栅格数据 |
| | | this.setGeoDataType(res); |
| | | break; |
| | | case 6://高光谱栅格数据 |
| | | case 6: //高光谱栅格数据 |
| | | this.setGeoDataType(res); |
| | | break; |
| | | case 7://矢量图层 |
| | | case 7: //矢量图层 |
| | | this.setGeoVectorData(res); |
| | | break; |
| | | case 8://三维模型 |
| | | case 8: //三维模型 |
| | | this.setModelData(res); |
| | | break; |
| | | } |
| | | }, |
| | | setGeoDataType(res) { |
| | | switch (res.type) { |
| | | case 0://URL |
| | | case 0: //URL |
| | | break; |
| | | case 1://TMS |
| | | case 1: //TMS |
| | | this.setAddTmsLayer(res); |
| | | break; |
| | | case 2://WMTS |
| | | case 2: //WMTS |
| | | this.setAddWmtsLayer(res); |
| | | break; |
| | | case 3://WMS |
| | | case 3: //WMS |
| | | this.setAddGeoWmsLayer(res); |
| | | break; |
| | | } |
| | | }, |
| | | setGeoVectorData(res) { |
| | | switch (res.type) { |
| | | case 0://URL |
| | | case 0: //URL |
| | | break; |
| | | case 3://WMS |
| | | case 3: //WMS |
| | | this.setAddGeoWmsLayer(res); |
| | | break; |
| | | case 4://WFS |
| | | |
| | | case 4: //WFS |
| | | break; |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | setDataType(res) { |
| | | switch (res.type) { |
| | | case 0://URL |
| | | case 0: //URL |
| | | break; |
| | | case 1://TMS |
| | | case 1: //TMS |
| | | this.setAddTmsLayer(res); |
| | | break; |
| | | case 2://WMTS |
| | | case 2: //WMTS |
| | | this.setAddWmtsLayer(res); |
| | | break; |
| | | case 3://WMS |
| | | case 3: //WMS |
| | | this.setAddWmsLayer(res); |
| | | break; |
| | | } |
| | |
| | | |
| | | setTerrainData(res) { |
| | | switch (res.type) { |
| | | case 0://URL |
| | | this.setAddTearrinLayer(res) |
| | | case 0: //URL |
| | | this.setAddTearrinLayer(res); |
| | | break; |
| | | case 1://TMS |
| | | case 1: //TMS |
| | | this.setAddTearrinLayer(res); |
| | | break; |
| | | } |
| | | }, |
| | | setVectorData(res) { |
| | | switch (res.type) { |
| | | case 0://URL |
| | | |
| | | case 0: //URL |
| | | break; |
| | | case 3://WMS |
| | | case 3: //WMS |
| | | this.setAddWmsLayer(res); |
| | | break; |
| | | case 4://WFS |
| | | |
| | | case 4: //WFS |
| | | break; |
| | | } |
| | | }, |
| | | setModelData(res) { |
| | | switch (res.type) { |
| | | case 0://Tileset |
| | | case 0: //Tileset |
| | | this.setAddModelLayer(res); |
| | | break; |
| | | case 3://WMS |
| | | case 3: //WMS |
| | | this.setAddModelLayer(res); |
| | | break; |
| | | case 5://WFS |
| | | |
| | | case 5: //WFS |
| | | break; |
| | | } |
| | | }, |
| | |
| | | getLayrUrl(res) { |
| | | var url; |
| | | if (res.proxy) { |
| | | const token = getToken() |
| | | url = config.proxy + res.proxy.replaceAll("{token}", token) |
| | | const token = getToken(); |
| | | url = config.proxy + res.proxy.replaceAll("{token}", token); |
| | | } else { |
| | | url = res.url; |
| | | } |
| | | return url |
| | | return url; |
| | | }, |
| | | //加载TMS服务 |
| | | setAddTmsLayer(res) { |
| | | var url = this.getLayrUrl(res) |
| | | var url = this.getLayrUrl(res); |
| | | let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider( |
| | | "tms服务", |
| | | { |
| | |
| | | }, |
| | | //加载WMTS服务 |
| | | setAddWmtsLayer(res) { |
| | | var url = this.getLayrUrl(res) |
| | | var url = this.getLayrUrl(res); |
| | | var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({ |
| | | sourceType: "wmts", |
| | | url: url, |
| | |
| | | //加载地形服务 |
| | | setAddTearrinLayer(res) { |
| | | this.setChangeTearrinLayer(); |
| | | var url = this.getLayrUrl(res) |
| | | var url = this.getLayrUrl(res); |
| | | window.terrainLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: url |
| | | url: url, |
| | | }); |
| | | Viewer.terrainProvider = window.terrainLayer |
| | | this.layerList.push({ id: res.id, type: "dem", }); |
| | | Viewer.terrainProvider = window.terrainLayer; |
| | | this.layerList.push({ id: res.id, type: "dem" }); |
| | | }, |
| | | //加载WMS服务 |
| | | setAddWmsLayer(res) { |
| | | var url = this.getLayrUrl(res) |
| | | var img_layer = sgworld.Creator.createImageryProvider('giserver', "wms", { |
| | | url: url, |
| | | layers: '', |
| | | parameters: { |
| | | format: "image/png", |
| | | transparent: true, |
| | | } |
| | | }, "0", undefined, true, ""); |
| | | var url = this.getLayrUrl(res); |
| | | var img_layer = sgworld.Creator.createImageryProvider( |
| | | "giserver", |
| | | "wms", |
| | | { |
| | | url: url, |
| | | layers: "", |
| | | parameters: { |
| | | format: "image/png", |
| | | transparent: true, |
| | | }, |
| | | }, |
| | | "0", |
| | | undefined, |
| | | true, |
| | | "" |
| | | ); |
| | | this.layerList.push({ |
| | | id: res.id, |
| | | layerData: img_layer, |
| | | type: "wmts", |
| | | }); |
| | | |
| | | }, |
| | | //加载模型服务 |
| | | setAddModelLayer(res) { |
| | |
| | | dynamicScreenSpaceErrorFactor: 2, // 动态屏幕空间误差的系数 |
| | | dynamicScreenSpaceError: true, // 减少离相机较远的屏幕空间错误:false,全屏加载完之后才清晰化房屋 |
| | | }) |
| | | |
| | | ); |
| | | tileset.readyPromise.then((tileset) => { |
| | | tileset.id = res.id; |
| | |
| | | this.layerList.splice(i, 1); |
| | | break; |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | |
| | | //清除图层 |