# 克里金插值色斑图

vc-kriging-map 组件用于加载克里金插值色斑图,基于 kriging.jsturf.js 实现。

# 示例

# 添加热力图到场景

# 预览

收起
  <template>
    <div class="viewer">
      <vc-viewer @ready="ready">
        <vc-kriging-map v-if="values.length !== 0" :breaks="breaks" :values="values" :lngs="lngs" :lats="lats" :colors="colors" @ready="subReady" clipCoords="/statics/SampleData/shp/guilin.json">
        </vc-kriging-map>
        <vc-provider-terrain-cesium url="http://117.139.13.157:48002"></vc-provider-terrain-cesium>
      </vc-viewer>
    </div>
  </template>

  <script>
    export default {
      data () {
        return {
          values: [],
          lngs: [],
          lats: [],
          breaks: [0.1, 10, 25, 50, 100, 250, 500],
          colors: ["#A5F38D", "#3DB93F", '#63B8F9', "#0002E2", "#FA00FA", "#7F0140"]
        }
      },
      methods: {
        async ready (cesiumInstance) {
          this.cesiumInstance = cesiumInstance
          const {Cesium, viewer} = this.cesiumInstance
          let data = await Cesium.Resource.fetchJson({url: '/statics/SampleData/weather/guilin.json'})
          let lngs = []
          let lats = []
          let values = []
          data.reduce((pre, cur) => {
            lngs.push(parseFloat(cur.lon))
            lats.push(parseFloat(cur.lat))
            values.push(parseFloat(cur.value))
          }, [])
          this.lngs = lngs
          this.lats = lats
          this.values = values
        },
        subReady ({ Cesium, viewer, cesiumObject }) {
          viewer.zoomTo(viewer.dataSources.get(0))
        }
      }
    }
  </script>

# 属性

属性名 类型 默认值 描述
krigingModel string 'exponential' optional 指定克里金模型名字,取 'gaussian', 'spherical', 'exponential'。
krigingSigma2 Object optional 指定克里金插值 sigma 参数。
krigingAlpha Object optional 指定克里金插值 alpha 参数。
colors Array optional 指定色斑图分段颜色数组。
breaks Array optional 指定色斑图分段数组。
clipCoords Array|String [] optional 指定色斑图裁剪的坐标数组或 json 文件地址。
show Boolean true optional 指定色斑图是否显示。

# 事件

事件名 参数 描述
ready {Cesium, viewer, cesiumObject } 该组件渲染完毕时触发,返回 Cesium 类, viewer 实例。