| | |
| | | toolMenu: null, |
| | | toolFlag: null, |
| | | oldLeftMenuId: null, |
| | | |
| | | bufferSize: 100, |
| | | squareOjb: [], |
| | | localPoint: null, |
| | | colorAll: { |
| | |
| | | case "e1": //快照 |
| | | this.snapshot(); |
| | | break; |
| | | case "f1": //空间查询 |
| | | case "f2": //点查询 |
| | | this.spatialPointQuery(); |
| | | break; |
| | | case "f3": //线查询 |
| | | this.spatialLineQuery(); |
| | | break; |
| | | case "f4": //面查询 |
| | | this.spatialQuery(); |
| | | break; |
| | | case "g1": //坐标定位 |
| | |
| | | contourUniforms.color = contourColor; |
| | | globe.material = window.material; |
| | | }, |
| | | //线查询 |
| | | spatialLineQuery() { |
| | | var that = this; |
| | | sgworld.Creator.createSimpleGraphic('polyline', {}, (entity) => { |
| | | var res = entity.polyline.positions.getValue() |
| | | var std = [] |
| | | for (var i in res) { |
| | | var line_data = this.setCartesianToEightFour(res[i]) |
| | | std.push([line_data.lng, line_data.lat]) |
| | | } |
| | | var line = turf.lineString(std, { name: "polyline" }) |
| | | var restVal = turf.buffer(line, this.bufferSize, { units: "meters" }) |
| | | that.setSpatialQuery(restVal) |
| | | }); |
| | | }, |
| | | spatialPointQuery() { |
| | | var that = this; |
| | | sgworld.Creator.createSimpleGraphic('point', {}, (entity) => { |
| | | var res = entity.position.getValue(); |
| | | var val = that.setCartesianToEightFour(res) |
| | | sgworld.Creator.SimpleGraphic.clear(); |
| | | var options = { |
| | | steps: 10, |
| | | units: "meters", |
| | | properties: { foo: "bar" }, |
| | | } |
| | | var circle = turf.circle([val.lng, val.lat], this.bufferSize, options) |
| | | that.setSpatialQuery(circle) |
| | | }); |
| | | }, |
| | | setCartesianToEightFour(res) { |
| | | var std = {} |
| | | let ellipsoid = Viewer.scene.globe.ellipsoid |
| | | let cartographic = ellipsoid.cartesianToCartographic(res) |
| | | std.lat = Cesium.Math.toDegrees(cartographic.latitude) |
| | | std.lng = Cesium.Math.toDegrees(cartographic.longitude) |
| | | std.alt = cartographic.height |
| | | return std |
| | | }, |
| | | //空间查询 |
| | | spatialQuery() { |
| | | sgworld.Creator.createSimpleGraphic( |
| | |
| | | [east, north], |
| | | ], |
| | | ]); |
| | | var wkt = WKT.convert(polygon.geometry); |
| | | |
| | | window.functionForJs({ |
| | | type: "spatialQuery", |
| | | value: this.encr(wkt), |
| | | }); |
| | | this.setSpatialQuery(polygon) |
| | | } |
| | | ); |
| | | }, |
| | | setSpatialQuery(res) { |
| | | var wkt = WKT.convert(res.geometry); |
| | | |
| | | window.functionForJs({ |
| | | type: "spatialQuery", |
| | | value: this.encr(wkt), |
| | | }); |
| | | }, |
| | | //加密 |
| | | encr(word) { |
| | |
| | | }, |
| | | //垂直高度 |
| | | verticalHeight() { |
| | | sgworld.Analysis.verticalHeight(this.colorAll, () => {}); |
| | | sgworld.Analysis.verticalHeight(this.colorAll, () => { }); |
| | | }, |
| | | //高程测量 |
| | | heightMeasure() { |
| | | earthCtrl.Analysis.altitude(this.colorAll, () => {}); |
| | | earthCtrl.Analysis.altitude(this.colorAll, () => { }); |
| | | }, |
| | | //表面面积 |
| | | planeDistance() { |
| | |
| | | }, |
| | | //表面距离 |
| | | surfaceDistance() { |
| | | sgworld.Analysis.horizontalDistance(this.colorAll, () => {}); |
| | | sgworld.Analysis.horizontalDistance(this.colorAll, () => { }); |
| | | }, |
| | | //点漫游 |
| | | pointRoam() { |
| | |
| | | // } |
| | | earthCtrl.analysis.deleteObject(); |
| | | }, |
| | | clearLeftTools(res) {}, |
| | | clearLeftTools(res) { }, |
| | | }; |
| | | export default menuTool; |