cesium图片导出

saveToFile() {
      let canvas = viewer.scene.canvas;
      let image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
      let blob = this.dataURLtoBlob(image);
      let fileName = '雷电结果.png';
      let file = new File([blob], fileName, {type: 'image/png'})
      const downloadElement = document.createElement('a');
      const href = window.URL.createObjectURL(file);
      downloadElement.href = href;
      downloadElement.download = fileName;
      document.body.appendChild(downloadElement);
      downloadElement.click();
      document.body.removeChild(downloadElement);
      window.URL.revokeObjectURL(href);
    },
    // 格式化路径
    dataURLtoBlob(dataurl) {
      let arr = dataurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n);
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
      }
      return new Blob([u8arr], {type: mime});
    },

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要将Cesium模型导出为GeoJSON格式,需要经过以下步骤: 1. 使用Cesium的模型几何库获取模型的几何信息。例如,使用Cesium.Model.getMesh()获取模型的三角网格信息。 2. 将模型的几何信息转换为GeoJSON格式。GeoJSON是一种基于JSON的地理空间数据交换格式,它支持点、线、面等几何类型。将模型的几何信息转换为GeoJSON格式可以使用现有的JavaScript库,如Turf.js或geojson.js。 3. 将GeoJSON数据保存到文件中。可以使用JavaScript中的Blob对象将数据保存为文件,或使用服务器端代码将数据保存到文件中。 下面是一个示例代码,演示了如何将Cesium模型导出为GeoJSON格式: ```javascript var model = viewer.scene.primitives.get(0); var mesh = model.getMesh(); var coordinates = []; for (var i = 0; i < mesh.vertices.length; i += 3) { var x = mesh.vertices[i]; var y = mesh.vertices[i + 1]; var z = mesh.vertices[i + 2]; coordinates.push([x, y, z]); } var geojson = { type: 'Feature', geometry: { type: 'Polygon', coordinates: [coordinates] } }; var blob = new Blob([JSON.stringify(geojson)], {type: 'application/json'}); saveAs(blob, 'model.geojson'); ``` 在这个示例中,我们首先获取了场景中第一个模型的三角网格信息,然后将其转换为GeoJSON的多边形几何类型。最后将GeoJSON数据保存为名为“model.geojson”的文件。请注意,这个示例只是一个基本的示例,具体的实现可能会因为模型的复杂性和需求的不同而有所不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值