| | |
| | | import { getToken } from "@/utils/auth"; |
| | | //配置文件地址 |
| | | import config from "./config"; |
| | | |
| | | const server = { |
| | | layerList: [], |
| | | addTreeData(treeNode) { |
| | | if (!treeNode.checked) { |
| | | this.delLayer(treeNode.id); |
| | | return; |
| | | } |
| | | // WMTS -> 图片 |
| | | // DOM\DEM 彩色\黑白 |
| | | |
| | | // TMS -> DOM、DEM |
| | | // DOM->图片 |
| | | // DEM -> Terrain |
| | | |
| | | // URL -> URL |
| | | // TMS -> URL DOM DEM |
| | | // WMTS -> URL DOM DEM |
| | | // WMS -> URL |
| | | // WFS -> URL |
| | | // Tileset -> URL` |
| | | //comment on table lf.sys_res is '资源表'; |
| | | // comment on column lf.sys_res.id is '主键ID'; |
| | | // comment on column lf.sys_res.pid is '父ID:0-根节点'; |
| | | // comment on column lf.sys_res.cn_name is '中文名称'; |
| | | // comment on column lf.sys_res.en_name is '英文名称'; |
| | | // comment on column lf.sys_res.type is '类型:1-图层组,2-普通图层,3-代理图层'; |
| | | // comment on column lf.sys_res.status is '状态:-1-废弃,0-停用,1-启用'; |
| | | // comment on column lf.sys_res.category is '类型:0-URL,1-TMS,2-WMTS,3-WFS,4-Tileset'; |
| | | // comment on column lf.sys_res.firm is '厂商:0-其他,1-GisServer,2-GeoServer,3-数简'; |
| | | // comment on column lf.sys_res.url is '服务地址'; |
| | | // comment on column lf.sys_res.test is '测试地址'; |
| | | // comment on column lf.sys_res.proxy is '代理地址'; |
| | | // comment on column lf.sys_res.descr is '描述'; |
| | | // comment on column lf.sys_res.depid is '单位编码'; |
| | | // comment on column lf.sys_res.dirid is '项目编码'; |
| | | // comment on column lf.sys_res.img is '缩略图'; |
| | | // comment on column lf.sys_res.level is '层级:0-根节点'; |
| | | // comment on column lf.sys_res.sort is '排序'; |
| | | // comment on column lf.sys_res.create_user is '创建人ID'; |
| | | // comment on column lf.sys_res.create_time is '创建时间'; |
| | | // comment on column lf.sys_res.update_user is '更新人ID'; |
| | | // comment on column lf.sys_res.update_time is '更新时间'; |
| | | // comment on column lf.sys_res.bak is '备注'; |
| | | // 代理:/proxy/{token}/4 |
| | | // 地址:http://192.168.20.83:8088/MoonServer + proxy.replace("{token}", token) |
| | | // order_num -> sort |
| | | // serve_type -> category |
| | | |
| | | // switch (treeNode.type) { |
| | | // case 1: |
| | | // treeNode.useUrl = treeNode.url; |
| | | // break; |
| | | // case 2: |
| | | // treeNode.useUrl = treeNode.url; |
| | | // break; |
| | | // case 3: |
| | | // treeNode.useUrl = treeNode.url; |
| | | // // var token = getToken(); |
| | | // // treeNode.useUrl = BASE_URL + treeNode.proxy.replace("{token}", token); |
| | | // break; |
| | | // } |
| | | |
| | | |
| | | |
| | | if (treeNode.resid && treeNode.resid > 0) { |
| | | |
| | | } else { |
| | | console.log(treeNode) |
| | | } |
| | | |
| | | this.addGisServer(treeNode); |
| | | // if (treeNode.firm == 2) { |
| | | // this.addGeoServer(treeNode); |
| | | // } else { |
| | | // this.addGisServer(treeNode); |
| | | // } |
| | | }, |
| | | //清除图层 |
| | | delLayer(code) { |
| | | this.layerList.forEach((e, i) => { |
| | | if (e.id === code) { |
| | | switch (e.type) { |
| | | case "wmts": |
| | | window.Viewer.imageryLayers.remove(e.layerData.item); |
| | | break; |
| | | case "tms": |
| | | |
| | | window.Viewer.imageryLayers.remove(e.layerData.item); |
| | | break; |
| | | case "dem": |
| | | window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider( |
| | | {} |
| | | ); |
| | | break; |
| | | } |
| | | this.layerList.splice(i, 1); |
| | | } |
| | | }); |
| | | }, |
| | | addGisServer(treeNode) { |
| | | // 0-URL,1-TMS,2-WMTS,3-WFS,4-Tileset'; |
| | | //判断服务是否已存在 |
| | | var service = []; |
| | | if (this.layerList.length > 0) { |
| | | service = this.layerList.filter((res) => { |
| | | if (res.id == treeNode.id) { |
| | | return res |
| | | } |
| | | }) |
| | | } |
| | | if (service.length > 0) return |
| | | var url = null; |
| | | if (treeNode.useUrl && treeNode.useUrl.indexOf('{token}') > -1) { |
| | | const token = getToken() |
| | | url = config.BASE_URL + treeNode.proxy.replaceAll("{token}", token) |
| | | } else { |
| | | url = treeNode.useUrl |
| | | } |
| | | switch (treeNode.type) { |
| | | case 1: |
| | | this.AddTmsLayer(url, treeNode.data, treeNode.id); |
| | | break; |
| | | case 2: |
| | | this.AddWmtesLayer(url, treeNode.id); |
| | | break; |
| | | case 3: |
| | | break; |
| | | case 4: |
| | | break; |
| | | } |
| | | }, |
| | | addGeoServer(treeNode) { |
| | | // 0-URL,1-TMS,2-WMTS,3-WFS,4-Tileset'; |
| | | switch (treeNode.type) { |
| | | case 1: |
| | | break; |
| | | case 2: |
| | | this.AddGeoWmsLayer(treeNode.useUrl, treeNode.id, treeNode.tab); |
| | | break; |
| | | case 3: |
| | | break; |
| | | case 4: |
| | | break; |
| | | } |
| | | }, |
| | | //添加geoserver服务wms服务 |
| | | AddGeoWmsLayer(url, s) { |
| | | window.layerWMS = new SmartEarth.Cesium.WebMapServiceImageryProvider({ |
| | | url: "http://192.168.22.198:8090/geoserver/moon/wms", |
| | | layers: "moon:lunar_place_nane", |
| | | AddGeoWmsLayer(url, id, tab) { |
| | | let layer = new SmartEarth.Cesium.WebMapServiceImageryProvider({ |
| | | // url: "http://192.168.22.198:8090/geoserver/moon/wms", |
| | | url: url, |
| | | layers: tab, |
| | | parameters: { |
| | | transparent: true, |
| | | format: "image/png", |
| | | srs: "EPSG:4490", |
| | | srs: "EPSG:104903", |
| | | styles: "", |
| | | }, |
| | | tileWidth: 512, |
| | | tileHeight: 512, |
| | | }); |
| | | layerWMS.name = "Wms_Layer"; |
| | | layer.name = `Wms_Layer${id}`; |
| | | |
| | | Viewer[s].imageryLayers.addImageryProvider(window.layerWMS); |
| | | let img_layer = Viewer.imageryLayers.addImageryProvider(layer); |
| | | this.layerList.push({ id: id, layerData: img_layer, type: "wmts" }); |
| | | }, |
| | | //添加GisServer服务TMS切片服务 |
| | | AddTmsLayer(url) { |
| | | AddTmsLayer(url, data, id) { |
| | | // var urlTemplateImageryProvider = new SmartEarth.Cesium.UrlTemplateImageryProvider({ |
| | | // url: url + "/{z}/{x}/{y}.png" |
| | | // }); |
| | | // Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider); |
| | | sgworld.Creator.createUrlTemplateImageryProvider('tms服务', { |
| | | url: Cesium.buildModuleUrl(url + "/{z}/{x}/{reverseY}.png"), |
| | | }, '0', undefined, true, ""); |
| | | |
| | | if (data == '0' || data == '1') { |
| | | let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider( |
| | | "tms服务", |
| | | { |
| | | url: Cesium.buildModuleUrl(url + "/{z}/{x}/{y}.png"), |
| | | }, |
| | | "0", |
| | | undefined, |
| | | true, |
| | | "" |
| | | ); |
| | | this.layerList.push({ id: id, layerData: img_layer, type: "tms" }); |
| | | } else if (data == '2') { |
| | | window.terrainLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: url |
| | | }); |
| | | Viewer.terrainProvider = window.terrainLayer |
| | | this.layerList.push({ id: id, type: "dem", }); |
| | | } |
| | | }, |
| | | AddWmtesLayer(url) { |
| | | AddWmtesLayer(url, id) { |
| | | var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({ |
| | | sourceType: "wmts", |
| | | url: url, |
| | |
| | | ellipsoid: Cesium.Ellipsoid.MOON, |
| | | }), |
| | | }); |
| | | console.log(urlTemplateImageryProvider); |
| | | this.layerList.push({ |
| | | id: id, |
| | | layerData: urlTemplateImageryProvider._primitive, |
| | | type: "wmts", |
| | | }); |
| | | }, |
| | | AddDemLayer(url, id) { |
| | | var terrain = new Cesium.CesiumTerrainProvider({ |
| | | url: config.moonTerrain, |
| | | // url: url, |
| | | tilingScheme: new Cesium.GeographicTilingScheme({ |
| | | ellipsoid: Cesium.Ellipsoid.MOON, |
| | | }), |
| | | }); |
| | | window.Viewer.terrainProvider = terrain; |
| | | |
| | | // let img_layer = Viewer.imageryLayers.addImageryProvider(layer); |
| | | this.layerList.push({ id: id, type: "dem" }); |
| | | }, |
| | | }; |
| | | export default server; |