前言

学习Cesium并进行练手的一些记录,主要实现了包括视域分析、通视分析、日照分析在内的几个功能,具体源码请参见

  • 基础功能
    • 地图影像加载
    • 地图注记加载
    • 3d tiles加载
    • 地形加载
  • 复杂功能
    • 视域分析
    • 通视分析
    • 日照分析
  • 其他功能
    • 鼠标位置实时显示经纬度
    • 按键移动camera

      1 基础功能

      1.1 地图影像加载

      1. // token处填入能用的即可
      2. viewer.imageryLayers.addImageryProvider(
      3. new Cesium.WebMapTileServiceImageryProvider({
      4. url: proxyPath + "services/wmts/imgmap/default/oss?request=getcapabilities&service=wmts&token=" + tokenYX,
      5. layer: "imgmap",
      6. style: "default",
      7. format: "image/png",
      8. tileMatrixSetID: "esritilematirx",
      9. //minimumLevel:9,
      10. maximumLevel: 20,//控制最大级别为20
      11. //tilingScheme:new Cesium.GeographicTilingScheme(),//2000坐标系
      12. tilingScheme:new Cesium.GeographicTilingScheme({
      13. ellipsoid:Cesium.Ellipsoid.WGS84,
      14. rectangle:new Cesium.Rectangle(-Math.PI,-Math.PI*3/2,Math.PI,Math.PI/2),
      15. numberOfLevelZeroTilesX:1,
      16. numberOfLevelZeroTilesY:1
      17. }),
      18. credit: new Cesium.Credit("浙江省影像")
      19. })
      20. )

      1.2 地图注记加载

      // token处填入能用的即可
      viewer.imageryLayers.addImageryProvider(
      new Cesium.WebMapTileServiceImageryProvider({
         url: proxyPath + "services/wmts/imgmap_lab/default/oss?request=getcapabilities&service=wmts&token=" + tokenZJ,
         layer: "imgmap_lab",
         style: "default",
         format: "image/png",
         tileMatrixSetID: "esritilematirx",
         //minimumLevel:11,
         maximumLevel: 20,//控制最大级别为20,
         //tilingScheme:new Cesium.GeographicTilingScheme(),//2000坐标系
         tilingScheme:new Cesium.GeographicTilingScheme({
             ellipsoid:Cesium.Ellipsoid.WGS84,
             rectangle:new Cesium.Rectangle(-Math.PI,-Math.PI*3/2,Math.PI,Math.PI/2),
             numberOfLevelZeroTilesX:1,
             numberOfLevelZeroTilesY:1
         }),
         credit: new Cesium.Credit("浙江省影像注记")
      })
      )
      

      1.3 3d tiles加载

      let tileset = scene.primitives.add(
      new Cesium.Cesium3DTileset({
         url: "http://172.17.70.209:3866/Smartearth/server/SG/anji.397940/tokens( 你的token )/b3dm/anji.397940/tileset.json"
      })
      )
      

      1.4 地形加载

      viewer.terrainProvider = Cesium.createWorldTerrain({
      requestWaterMask : true, // required for water effects
      requestVertexNormals : false // required for terrain lighting
      });
      

      2 复杂功能

      2.1 视域分析

      2.2 通视分析

      2.3 日照分析

      3 其他功能

      3.1 鼠标位置实时显示经纬度

3.2 按键移动camera