From c93d4b3af5739f786cfdf20b16b28ec60403f709 Mon Sep 17 00:00:00 2001 From: suerprisePlus <15810472099@163.com> Date: 星期二, 25 六月 2024 19:53:54 +0800 Subject: [PATCH] 前端对接 seb实体库,rag基本服务 --- src/assets/js/map/mapView.js | 153 +------------------------------------------------- 1 files changed, 4 insertions(+), 149 deletions(-) diff --git a/src/assets/js/map/mapView.js b/src/assets/js/map/mapView.js index cb1b052..515ac66 100644 --- a/src/assets/js/map/mapView.js +++ b/src/assets/js/map/mapView.js @@ -4,6 +4,7 @@ import modelLayer from "./modelLayer"; import wfsConfig from "./wfsConfig"; import mapInfo from "./mapInfo"; +import layerJson from "./mapJsonLayer"; const mapViewer = { configTooles: null, @@ -25,160 +26,14 @@ sourceType: "arcgis", url: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer" }); - // earthCtrl.factory.createTerrainLayer({ - // sourceType: "ctb", - // url: "https://tiles1.geovisearth.com/base/v1/terrain?token=486dac3bec56d7d7c2a581c150be2bd937462f1e8f3bc9c78b5658b396122405" - // }); - mapServer.addServer({ sourceType: "tms", url: "http://192.168.11.41:9001/gisserver/tmsserver/SubicBayArea" }); + modelLayer.init(); mapInfo.setEntityQueryInput(); - - const url = - "http://103.135.160.14:9038/gisserver/wfsserver/SubicBayAreaVector_wfs?version=1.1.0&request=GetFeature&format=json&typename=GeoEntity"; - const areaBox = - "120.28915940000012 14.809144082000034 120.28915940000012 14.837205054000039 120.31165600000003 14.837205054000039 120.31165600000003 14.809144082000034 120.28915940000012 14.809144082000034"; - - Cesium.GeoJsonDataSource.load(url, { - stroke: Cesium.Color.fromCssColorString("#FFF0F5"), //澶氳竟褰㈡垨绾跨殑棰滆壊 - fill: Cesium.Color.fromCssColorString("#FFF0F5"), //澶氳竟褰㈡垨绾跨殑棰滆壊 - strokeWidth: 1, //澶氳竟褰㈡垨绾� 瀹藉害 - clampToGround: true //澶氳竟褰㈡垨绾� 鍥哄畾鍦ㄥ湴闈笂true/false - }).then((dataSource) => { - const entities = dataSource.entities.values; - entities.map((item) => { - item.polygon.heightReference = - Cesium.HeightReference.RELATIVE_TO_GROUND; // 璐村湴 - item.polygon.height = 0; // 璺濆湴楂樺害0绫� - item.polygon.extrudedHeightReference = - Cesium.HeightReference.RELATIVE_TO_GROUND; //鎷変几 - item.polygon.extrudedHeight = item.properties["ELEVATION"]; // 鎷変几楂樺害 - - var polyPositions = item.polygon.hierarchy.getValue().positions; - var polyCenter = Cesium.BoundingSphere.fromPoints(polyPositions).center; //涓績鐐� - polyCenter = Cesium.Ellipsoid.WGS84.scaleToGeodeticSurface(polyCenter); - item.position = polyCenter; - - item.label = { - //鏂囧瓧鏍囩 - text: "", - font: "500 20px Helvetica", // 15pt monospace - scale: 1, - style: Cesium.LabelStyle.FILL, - fillColor: Cesium.Color.WHITE, - - eyeOffset: new Cesium.Cartesian3( - 0.0, - item.polygon.extrudedHeight + 1, - -(item.polygon.extrudedHeight + 1) - ), - - verticalOrigin: Cesium.VerticalOrigin.BOTTOM, - showBackground: true, - distanceDisplayCondition: new Cesium.DistanceDisplayCondition(50.0, 500.0), - // heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, - // disableDepthTestDistance: Number.POSITIVE_INFINITY, - backgroundColor: new Cesium.Color(26 / 255, 196 / 255, 228 / 255, 1.0) //鑳屾櫙椤旇壊 - }; - }); - Viewer.dataSources.add(dataSource); - this.setQueryProperty(dataSource, "鍐涗簨鐩爣"); - this.getQuery(url, areaBox, dataSource); - }); - }, - setQueryProperty(layer, property) { - const entity = layer.entities.values; - entity.filter((rs) => { - if (rs.properties["TargetType"]._value == property) { - rs.polygon.material = Cesium.Color.RED; - // 鏄剧ず鏂囧瓧鏍囩 - rs.label.text = rs.properties["TYPE"]; - } - }); - }, - getQuery(url, area, layer) { - axios - .get(url, { - params: { - version: "1.3.0", - request: "GetFeature", - typename: "GeoEntity", - propertyname: "*", - format: "json", - filter: `<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:Intersects><ogc:PropertyName /><gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="EPSG:4326"><gml:exterior><gml:LinearRing><gml:posList>${area}</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon></ogc:Intersects></ogc:Filter>` - } - }) - .then((res) => { - const obj = res.data.features; - - // const dataSource = Viewer.dataSources._dataSources.filter((item) => { - // if (item.name == layer) { - // return item; - // } - // }); - const entity = layer.entities.values; - // const entity = dataSource[0].entities.values; - obj.filter((item) => { - entity.filter((rs) => { - if (item.id == rs.id) { - rs.polygon.material = Cesium.Color.CORNFLOWERBLUE; - } - }); - }); - }); - }, - getLayerModelCount(res) { - axios - .post( - res.url, - { - dbid: res.dbid, - geometry: res.geometry, - layerid: res.layerid, - returnCountOnly: res.containCount, - token: res.token - }, - { - headers: { - Authorization: res.token, - "Content-Type": res.contentType - } - } - ) - .then((response) => { - if (response.status === 200) { - this.getLayerModelList(res, response.data.data); - } else { - this.getLayerModelList(res, 200); - } - }); - }, - getLayerModelList(res, count) { - axios - .post( - res.url, - { - dbid: res.dbid, - geometry: res.geometry, - layerid: res.layerid, - containCount: res.containCount, - token: res.token, - count: count, - start: 1, - outfields: res.outfields - }, - { - headers: { - Authorization: res.token, - "Content-Type": res.contentType - } - } - ) - .then((response) => { - console.log("List", response); - }); + // const url = layerJson.getQueryUrl("SubicBayAreaVector_wfs", "GeoEntity"); + // layerJson.init(url); } }; export default mapViewer; -- Gitblit v1.9.3