首页 > 其他分享 >Cesium 加载面数据 点数据 label

Cesium 加载面数据 点数据 label

时间:2023-10-24 15:56:15浏览次数:27  
标签:const Color element entities let Cesium label 加载

Cesium 加载geojosn 数据

export const cesiumUtils = {
    viewer: null,
    dataSourceArr: [],
    addDataSource(geojsonData, config) {
  
      Cesium.GeoJsonDataSource.load(geojsonData, {
        stroke: Cesium.Color.HOTPINK,
        fill: Cesium.Color.PINK,
        strokeWidth: 3
      }).then((dataSource) => {
        const tmpDataSource = new Cesium.CustomDataSource(Date.now().toString());
        const entities = dataSource.entities.values;
        for (let index = 0; index < entities.length; index++) {
          const element = entities[index];
          let polyPositions = element.polygon.hierarchy.getValue(Cesium.JulianDate.now()).positions;
          let polyCenter = Cesium.BoundingSphere.fromPoints(polyPositions).center;
          const pos = element.polygon.hierarchy.getValue().positions;
          let newEntity = new Cesium.Entity({
            position:polyCenter,
            polygon: {
              hierarchy: element.polygon.hierarchy.getValue(),
              classificationType: Cesium.ClassificationType.BOTH,
              material: Cesium.Color.fromCssColorString(config.color).withAlpha(0.1),
            },
            polyline: {
              positions: [...pos, pos[0]],
              clampToGround: true,
              material: Cesium.Color.fromCssColorString(config.color).withAlpha(1),
              width: 3
            },
            label:{
                heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
                text: config.name,
                font: "14px 宋体",
                distanceDisplayCondition: new Cesium.DistanceDisplayCondition(
                  0.0,
                  5000000.0
                ),
                fillColor: Cesium.Color.WHITE,
                outlineColor: Cesium.Color.WHITE,
                showBorder:false,
                style: Cesium.LabelStyle.FILL_AND_OUTLINE,
                verticalOrigin: Cesium.VerticalOrigin.TOP,
                pixelOffset: new Cesium.Cartesian2(0, -50),
                disableDepthTestDistance: Number.POSITIVE_INFINITY,
            }
          })
          tmpDataSource.entities.add(newEntity)
        }
        this.viewer.dataSources.add(tmpDataSource);
        this.dataSourceArr.push(tmpDataSource);
      });
    },
    clearDataSource() {
      for (let i = 0; i < this.dataSourceArr.length; i++) {
        const element = this.dataSourceArr[i];
        this.viewer.dataSources.remove(element, true);
      }
      this.dataSourceArr = [];
    },
  };

注意问题  

如果geojson 数据有z值设置贴地会不起作用

标签:const,Color,element,entities,let,Cesium,label,加载
From: https://www.cnblogs.com/xiaoqiyaozou/p/17785010.html

相关文章

  • pnpm : 无法加载文件
    报错pnpm:无法加载文件C:\Users\16978\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=135170中的about_Execution_Policies。 解决办法windows11powershell的安全策略,将nrm命令视为了不安全......
  • cesium 3dtile单击选中
    监听瓦片加载完成事件,将所有3dtile对象按id归纳到map中tileset.readyPromise.then(()=>{console.log('tileset.readyPromise');tileset.setObjsColor()})//allTilesLoaded会被调用多次旋转、放大缩小模型时会触发这个事件,不适合用来做一......
  • Qt - Label标签显示特殊字符
    1.创建一个带Ui界面的测试工程,把特殊字符拷贝到label标签里,点击保存。 2.打开qt安装目录,找到designer.exe文件双击打开 3.把刚刚创建的ui界面拖进来 4.点击窗口-》ViewC++Code...5.会弹出一个窗口里面有ui文件的源码,还有一串特殊数字,这串特殊数字就是那个特......
  • 直播平台制作,Glide加载网络图,进度条显示
    直播平台制作,Glide加载网络图,进度条显示1,首先在build.gradle添加依赖compile‘com.github.bumptech.glide:glide:3.7.0’2,我就直接拷贝代码了: //显示图片Glide.with(getContext())          .load(content)          .into(newIma......
  • k8s-节点标签label
    查看节点标签信息:kubectlgetnode--show-labels设置节点标签信息:kubectllabelnode节点名标签值kubectllabelnodenode2region=huanaizone=Aenv=testbussiness=game显示节点的相应用标签:kubectlgetnodes-Lregion,zone修改节点标签信息:kubectllabelnode......
  • 动态加载目录进classpath
    参考文档:https://www.codelast.com/%E5%8E%9F%E5%88%9B-java%E5%8A%A8%E6%80%81%E6%B7%BB%E5%8A%A0%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95%E5%88%B0classpath%E4%B8%AD/ publicstaticloadFoldertoClasspath(){FileprogramRootDir=newFile("./");URL......
  • Java类加载器
    Java中的类加载器Java中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由Java应用开发人员编写的。系统提供的类加载器主要有下面三个:引导类加载器(bootstrapclassloader):它用来加载Java的核心库,是用原生代码来实现的,并不继承自java.lang.ClassLoa......
  • ArcGIS工具 - 为源工具箱加载与授权
    ArcToobox工具箱是ArcGIS软件的精髓,它包括了分析、编辑、管理、转化、制图等多个类别成百上千个工具,熟悉常见工具的使用也就掌握ArcGIS软件的一大半。但是,实际工作和项目中,有问题批量性、流程性、复杂性问题依然无法解决,因此,为源GIS结合经验开发了以ArcPy为主的自定义工具箱,并不......
  • cesium对比entity和primitive添加polyline
    primitive方式要复杂一些,但是效率要高一些 primitive方式functioncreatePrimitive(coordinate){letpolyline=newCesium.GroundPolylineGeometry({positions:Cesium.Cartesian3.fromDegreesArray(coordinate.flat()),......
  • Scikit-learn 的 preprocessing.LabelEncoder函数:标签编码
    参考文档:https://pythonjishu.com/sklearn-preprocessing-labelencoder/ 转换类别数据为整数:LabelEncoder可以将字符串或其他类别型数据转换为整数。例如,如果你有一个特征包含类别"红色"、"绿色"和"蓝色",LabelEncoder可以将它们分别编码为0、1和2。最开始我把他做向量......