mapgis-3d-city-grow
注意:由于三维底层支持原因,目前仅支持二维矢量文档形式的数据。 数据中必须包含的字段有开始时间字段(时间戳格式)、结束时间字段(时间戳形式)以及表示高程的字段。
# 属性
# vueKey
- 类型:
String
- 可选
- 非侦听属性
- 默认值:
default
- 描述: mapgis-web-scene 组件的 ID,当使用多个 mapgis-web-scene 组件时,需要指定该值,来唯一标识 mapgis-web-scene 组件,同时 mapgis-web-scene 插槽中的组件也需要传入相同的 vueKey,让组件知道应该作用于哪一个 mapgis-web-scene。
# vueIndex
- 类型:
Number
- 可选
- 非侦听属性
- 默认值:
(Math.random() * 100000000).toFixed(0)
随机计算值 - 描述: 当 mapgis-web-scene 插槽中使用了多个相同组件时,例如多个 mapgis-3d-igs-doc-layer 组件,用来区分组件的标识符。
# baseUrl
- 类型:
String
- 非侦听属性
- 描述: 二维矢量文档形式的url
- 默认值: 服务基地址:发布的二维文档地址, eg:二维地图文档地址:http://[host]:[port]/igs/rest/mrfs/docs/{docName}/mapIndex/LayerIndex。
# autoReset
- 类型:
Boolean
- 可选
- 非侦听属性
- 描述: 视角是否自动切换到地图文档范围。
# filter
- 类型:
Object
- 可选
- 侦听属性
- 描述: 过滤条件对象,空对象则默认无过滤。该对象中可传属性:
Name | Type | Default | Description |
---|---|---|---|
Where | String | 要素过滤条件 | |
geometry | Object | 几何类型对应的图层信息,也就是构成几何类型的坐标信息。 | |
geometryType | String | 几何类型,代表空间查询时传入的几何类型 |
- 示例:
filter: { where: 'OBJECTID>500' }
# featureStyle
- 类型:
Object
- 可选
- 侦听属性
- 描述: 矢量地图文档对应图层做城市生长的style 样式对象, featureStyle对象中包括以下属性:
Name | Type | Default | Description |
---|---|---|---|
startTimeField | String | 'startTime' | 矢量文档数据中的建筑生长开始时间字段名。 |
endTimeField | String | 'endTime' | 矢量文档数据中的建筑生长结束时间字段名。 |
heightField | String | 'height' | 矢量文档数据中的建筑用作高程的属性字段名称,不设置则高程为零 |
heightRatio | Number | 1 | 建筑生长高程的缩放比例 |
startTime | Number | 城市建筑生长的起始时间() | |
endTime | Number | 城市建筑生长的结束时间() | |
colors | Array | ["#fff0f6","#ff85c0","#eb2f96"] | 城市生长的时间段对应颜色设置 |
times | Array | [] | 城市生长的时间段设置,默认值为空,不传该参数则按colors数组长度等分设置时间段 |
displayWithTile | Boolean | false | Line或Tile 根据时间线性加载(false)或网格动态加载(true),适用不同的数据量展示,默认为线性加载。1. Line:线性加载,是指依照时间段进行加载,每个时间段的加载量由buildingLimit来限制;2.Tile:网格动态加载,是指内部逻辑实现根据当前视角距离计算满足显示精度的瓦片,并请求加载数据渲染城市建筑。 |
growTime | Number | 60 | 城市生长的总播放时长,单位秒。 |
buildingsLimit | Number | 400 | 线性加载时每一时段的矢量要素数量限制 |
updateInterval | Number | 1 | 城市生长过程中建筑物颜色和高度更新间隔,默认1s更新一次 |
# tileFeaturesCount
- 类型:
Number
- 非侦听属性
- 描述: 网格加载时请求的矢量要素数量
- 默认值: 400
# 方法
# startGrow
- Description: 开启城市生长
# stopGrow
- Description: 暂停城市生长
# 事件
# loaded
- Description: 在 城市生长 加载完毕后发送该事件
- Payload 城市生长组件对象
# CityGrow
- Description: 在 开始城市生长 加载完毕后发送该事件
- Payload 城市生长图层 对象
# 示例
<template>
<mapgis-web-scene style="height:95vh"
v-on:load="handleLoad">
<mapgis-rastertile-layer v-if="false" layerId="tdt" url="http://t0.tianditu.com/DataServer?T=vec_c&L={z}&Y={y}&X={x}&tk=9c157e9585486c02edf817d2ecbc7752" />
<mapgis-3d-city-grow ref="citygrow" v-bind="$props" />
</mapgis-web-scene>
</template>
<script>
export default {
data() {
return {
width:720,
baseUrl:"http://192.168.21.192:6163/igs/rest/mrfs/docs/shengZhenBaiMo/0/0",
featureStyle:{
startTimeField:"startTime",
endTimeField:"endTime",
heightField:"height",
startTime: 1068543416,
endTime: 1636639287,
heightRadio:3.0,
isGrowHeight:false,
colors:["rgba(245,33,0,1)", "rgba(255,121,26,1)", "rgba(255,164,46,1)", "rgba(255,209,82,1)"],
times:[2005,2010,2015]
}
}
},
methods: {
},
};
</script>