Cussiumダイナミックバッファ分析


前言
                       ,                      ,       ,             。 
原理
Cesium   turf.js     ,     Cesium.turf    。         polygon       。   Cesium.CallbackProperty                polygon。
実現する
取得ポイントのブザー
var radius=5;
var point = Cesium.turf.point([115.548630, 39.616599]);
var buffered = Cesium.turf.buffer(point, radius, 'kilometers');
作成イベント
var areaentity = new Cesium.Entity({
      id: "buffer",
      polygon: {
        hierarchy: new Cesium.CallbackProperty(function(time, result) {
          if (radius < 50) {
            radius +=
              0.01 * Cesium.JulianDate.secondsDifference(time, startTime);
          }
          return Cesium.Cartesian3.fromDegreesArray(
            reduceDimension(
              Cesium.turf.buffer(point, radius, "kilometers").geometry
                .coordinates[0]
            ),
            Cesium.Ellipsoid.WGS84,
            result
          );
        }, false),
        material: Cesium.Color.SKYBLUE.withAlpha(0.5)
      }
    });
    viewer.entities.add(areaentity);
    function reduceDimension(arr) {
      var reduced = [];
      for (var i = 0; i < arr.length; i++) {
        reduced = reduced.concat(arr[i]);
      }
      return reduced;
    }