Cesium 遙感衛星影像推送效果繪製
阿新 • • 發佈:2021-11-28
//新增衛星 function addSatellite() { satellite.curRouteLine \= viewer.entities.add({ name: "satelliteline", polyline: { positions: new Cesium.CallbackProperty(function (time, result) { return satellite.curRoutePositions; }, false), material: new Cesium.ColorMaterialProperty(Cesium.Color.YELLOW), width: 3, }, }); satellite.entity \= viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(\-75.59777, 40.03883), billboard: { image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADJSURBVDhPnZHRDcMgEEMZjVEYpaNklIzSEfLfD4qNnXAJSFWfhO7w2Zc0Tf9QG2rXrEzSUeZLOGm47WoH95x3Hl3jEgilvDgsOQUTqsNl68ezEwn1vae6lceSEEYvvWNT/Rxc4CXQNGadho1NXoJ+9iaqc2xi2xbt23PJCDIB6TQjOC6Bho/sDy3fBQT8PrVhibU7yBFcEPaRxOoseTwbwByCOYf9VGp1BYI1BA+EeHhmfzKbBoJEQwn1yzUZtyspIQUha85MpkNIXB7GizqDEECsAAAAASUVORK5CYII=", }, label: { text: 'Landsat8' }, polyline: { positions: new Cesium.CallbackProperty(function (time, result) { //return satellite.entity.position.concat(satellite.curNadir); return (satellite.curNadir && satellite.entity) ? \[satellite.entity.position.\_value, satellite.curNadir\] : \[\] }, false), material: new Cesium.ColorMaterialProperty(Cesium.Color.BLUE), width: 1 } }); var redCone = viewer.entities.add({//紅色圓錐體 name: 'Red cone', position: new Cesium.CallbackProperty(function (time, result) { if (satellite.entity) { let p \= cesiumCoordUtil.cartesian3ToDegree2(satellite.entity.position.\_value); return Cesium.Cartesian3.fromDegrees(p.lon, p.lat, p.height / 6 \* 5); } else { return Cesium.Cartesian3.fromDegrees(0, 0, 0); } }, false), cylinder: { length: new Cesium.CallbackProperty(function (time, result) { return (satellite.entity ? cesiumCoordUtil.cartesian3ToDegree2(satellite.entity.position.\_value).height : 0) / 3; }, false), topRadius: 0.0, bottomRadius: new Cesium.CallbackProperty(function (time, result) { return (satellite.entity ? cesiumCoordUtil.cartesian3ToDegree2(satellite.entity.position.\_value).height : 0) / 6; }, false), material: Cesium.Color.RED } }); }
//動態推送影象 function addByTime() { clear1(); Cesium.Resource.fetchJson({ url: './datas/testfilenew.json' }).then(function (jsonData) { if (!jsonData) { return; } let level0 \= jsonData.level3; for (let index = 0; index < level0.length; index++) { const tileData \= level0\[index\]; let bbox \= tileData.bbox; let imagePath \= tileData.imagePath; let id \= tileData.id; console.log(id); console.log(imagePath); let xnum \= id.split('\_')\[0\]; let ynum \= id.split('\_')\[1\]; imagePath \= './datas' + imagePath.replace('./', '/'); // start(bbox, imagePath); (function (index) { setTimeout(function () { console.log(index, "interval"); //addImage(bbox, './datas/aaa.jpg'); addImage(bbox, imagePath); let curSillitePos \= Cesium.Cartesian3.fromArray(satellite.routeLine\[index\]); satellite.curRoutePositions.push(curSillitePos); satellite.entity.position \= curSillitePos; satellite.curNadir \= Cesium.Cartesian3.fromDegrees(satellite.nadirs\[index\]\[0\], satellite.nadirs\[index\]\[1\], 0.0); }, index \* 300); })(index); } }).otherwise(function (error) { }); addSatellite(); }
本文轉自 https://www.cnblogs.com/dog2016/p/14044005.html,如有侵權,請聯絡刪除。