Class: HydroDynamic2D

HydroDynamic2D

二维水动力模型对象,基于真实数据驱动生成水动力模型,支持三种格式数据源:.tif文件 | .sdb文件 | .bin文件
一般通过api.hydrodynamic2d调用其方法


<protected> new HydroDynamic2D()

See:

Methods


addByBin(data, fn)

添加一个或多个HydroDynamic2D二维水动力模型对象,数据源为.bin文件。

Parameters:
Name Type Description
data object | array

构造二维水动力模型对象HydroDynamic2D的数据对象,可以是Object类型或者Array类型,对于每一个HydroDynamic2D对象,支持以下属性:

  • id (string) HydroDynamic2D对象ID

  • groupId (string) 可选,Group分组

  • userData (string) 可选,用户自定义数据

  • bbox (array) 可选,二维水动力模型的包围盒范围,格式:[minX,minY,minZ,maxX,maxY,maxZ],数组元素类型:[任意浮点数]

  • offset (array) 可选,二维水动力模型的整体偏移,默认值:[0, 0, 0]

  • dataSize (array) 可选,二维水动力模型的数据分辨率,取值示例:[X,Y]

  • valueRange (array) 可选,二维水动力模型颜色插值对应的数值区间

  • updateTime (number) 更新动画的插值时间,注意:参数仅更新方法执行时生效

  • waterDepth (string) 必选,二维水动力模型bin数据文件路径(水深bin或tif),取值示例:"C:/binFile/xxx1.bin"或"C:/tifFile/xxx1.tif",注意:waterDepth、flowField和dem的三个bin文件分辨率必须保持一致

  • flowField (string) 可选,二维水动力模型bin数据文件路径(流速流向bin或tif),取值示例:"C:/binFile/xxx2.bin"或"C:/tifFile/xxx2.tif",注意:waterDepth、flowField和dem的三个bin文件分辨率必须保持一致

  • dem (string) 可选,二维水动力模型bin数据文件路径(河道DEM的bin或tif),取值示例:"C:/binFile/xxx3.bin" 或"C:/tifFile/xxx3.tif",注意:waterDepth、flowField和dem的三个bin文件分辨率必须保持一致

  • collision (boolean) 是否开启模型碰撞,默认:false,注意:开启后会影响加载效率

  • displayMode (number) 显示样式,取值范围:[0,1],0水体样式(默认值),1热力样式

  • waterMode (number) 水面显示模式,枚举类型,详情请参考 WaterMode

  • waterColor (Color) 水体颜色和透明度,注意:仅在displayMode=0时生效,支持四种格式,取值示例

  • waveBrightness (number) 水波纹的显示亮度,取值范围:[0,10000],值越大亮度越高水波纹越明显

  • foamWidth (number) 泡沫宽度,取值范围:[0~10000],默认值:1米

  • foamIntensity (number) 泡沫强度,取值范围:[0~1],默认值:0.5

  • alphaComposite (boolean) 是否使用混合透明度,默认:true

  • arrowColor (Color) 箭头颜色和透明度,支持四种格式,取值示例

  • arrowTiling (number) 箭头平铺系数

  • rippleDensity (number) 水波纹辐射强度

  • rippleTiling (number) 水波纹辐射平铺系数

  • speedFactor (number) 速度因子

  • flowThreshold (array) 水浪效果漫延的范围,即把水动力模型[minSpeed,maxSpeed]最小最大流速的范围映射到[0~1],取值示例:[0.1,0.4],取值范围[0~1]

  • coastlineSize (number) 海岸轮廓大小

  • coastlineIntensity (number) 海岸轮廓强度

  • coastlineFadeDistance (number) 海岸轮廓消失距离

  • colors (object) 二维水动力模型自定义调色板对象,包含颜色渐变控制、无效像素颜色和调色板区间数组

    gradient (boolean) 是否渐变

    invalidColor (Color) 无效像素点的默认颜色,默认白色

    colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:


    color (Color) 值对应的调色板颜色

    value (number) 值

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
请求数据结构示例 
        [{
        "id": "hdm",
        "bbox":  [488670.75, 2488165, 0, 491659.59375, 2490987.5, 344.58],
        "valueRange": [0, 3],
        "dataSize": [3854, 3516],
        "waterDepth":"waterDepth.bin",
        "flowField":"flowField.bin",
        "dem":"dem.bin",
        "colors": {
            "gradient": true,
            "invalidColor": [0, 0, 0, 1],
            "colorStops": [
                {
                    "value": 0,
                    "color": [0, 0, 1, 1]
                },
                {
                    "value": 0.25,
                    "color": [0, 1, 1, 1]
                },
                {
                    "value": 0.5,
                    "color": [0, 1, 0, 1]
                },
                {
                    "value": 0.75,
                    "color": [1, 1, 0, 1]
                },
                {
                    "value": 1,
                    "color": [1, 0, 0, 1]
                }
            ]
        }] 

addBySdb(data, fn)

添加一个或多个HydroDynamic2D二维水动力模型对象,数据源为.sdb文件。

Parameters:
Name Type Description
data object | array

构造二维水动力模型对象HydroDynamic2D的数据对象,可以是Object类型或者Array类型,对于每一个HydroDynamic2D对象,支持以下属性:

  • id (string) HydroDynamic2D对象ID

  • groupId (string) 可选,Group分组

  • userData (string) 可选,用户自定义数据

  • bbox (array) 可选,二维水动力模型的包围盒范围,格式:[minX,minY,minZ,maxX,maxY,maxZ],数组元素类型:[任意浮点数]

  • offset (array) 可选,二维水动力模型的整体偏移,默认值:[0, 0, 0]

  • dataSize (array) 可选,二维水动力模型的数据分辨率,取值示例:[X,Y]

  • valueRange (array) 可选,二维水动力模型颜色插值对应的数值区间

  • updateTime (number) 更新动画的插值时间,注意:参数仅更新方法执行时生效

  • waterDepthAttributeName (string) sdb文件包含的float类型字段名称,取值示例:"depth"

  • uvAttributeName (string) sdb文件包含的float类型字段名称,取值示例:"velocityX,velocityY"

  • sdbFilePath (string) sdb文件路径,取值示例:"C:/Users/Administrator/Desktop/THC_144.sdb",

  • collision (boolean) 是否开启模型碰撞,默认:false,注意:开启后会影响加载效率

  • displayMode (number) 显示样式,取值范围:[0,1],0水体样式(默认值),1热力样式

  • waterMode (number) 水面显示模式,枚举类型,详情请参考 WaterMode

  • waterColor (Color) 水体颜色和透明度,注意:仅在displayMode=0时生效,支持四种格式,取值示例

  • waveBrightness (number) 水波纹的显示亮度,取值范围:[0,10000],值越大亮度越高水波纹越明显

  • foamWidth (number) 泡沫宽度,取值范围:[0~10000],默认值:1米

  • foamIntensity (number) 泡沫强度,取值范围:[0~1],默认值:0.5

  • alphaMode (number) 透明模式,取值:[0,1],0 : 使用colors调色板的不透明度值 1 : 使用系统默认值

  • alphaComposite (boolean) 是否使用混合透明度,默认:true

  • arrowColor (Color) 箭头颜色和透明度,支持四种格式,取值示例

  • arrowTiling (number) 箭头平铺系数

  • rippleDensity (number) 水波纹辐射强度

  • rippleTiling (number) 水波纹平铺系数

  • speedFactor (number) 速度因子

  • flowThreshold (array) 水浪效果漫延的范围,即把水动力模型[minSpeed,maxSpeed]最小最大流速的范围映射到[0~1],取值示例:[0.1,0.4],取值范围[0~1]

  • coastlineSize (number) 海岸轮廓大小

  • coastlineIntensity (number) 海岸轮廓强度

  • coastlineFadeDistance (number) 海岸轮廓消失距离

  • colors (object) 二维水动力模型自定义调色板对象,包含颜色渐变控制、无效像素颜色和调色板区间数组

    gradient (boolean) 是否渐变

    invalidColor (Color) 无效像素点的默认颜色,默认白色

    colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:


    color (Color) 值对应的调色板颜色

    value (number) 值

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
请求数据结构示例 
        [{
        "id": "hdm",
        "waterDepthAttributeName":"depth",
        "uvAttributeName":"velocityX,velocity",
        "sdbFilePath": "C:\\xxx\xxx.sdb",
        "colors": {
            "gradient": true,
            "invalidColor": [0, 0, 0, 1],
            "colorStops": [
                {
                    "value": 0,
                    "color": [0, 0, 1, 1]
                },
                {
                    "value": 0.25,
                    "color": [0, 1, 1, 1]
                },
                {
                    "value": 0.5,
                    "color": [0, 1, 0, 1]
                },
                {
                    "value": 0.75,
                    "color": [1, 1, 0, 1]
                },
                {
                    "value": 1,
                    "color": [1, 0, 0, 1]
                }
            ]
        }] 

addByShp(data, fn)

添加一个或多个HydroDynamic2D二维水动力模型对象,添加的数据源为(.shp)文件,注意:SHP文件必需是投影坐标系(PCS),同时单位是米。
注意:使用shp方式来添加二维水动力模型对象,执行update()更新方法时需使用.dat类型文件,同时dat文件只需要包含有水的网格面,确保dat文件尽量小,从而提高更新效率。详情参考shpDataFilePath字段描述

Parameters:
Name Type Description
data object | array

构造二维水动力模型对象HydroDynamic2D的数据对象,可以是Object类型或者Array类型,对于每一个HydroDynamic2D对象,支持以下属性:

  • id (string) HydroDynamic2D对象ID

  • groupId (string) 可选,Group分组

  • userData (string) 可选,用户自定义数据

  • offset (array) 可选,二维水动力模型的整体偏移,默认值:[0, 0, 0]

  • collision (boolean) 是否开启模型碰撞,默认:false,注意:开启后会影响加载效率

  • displayMode (number) 显示样式,取值范围:[0,1],0水体样式(默认值),1热力样式

  • waterMode (number) 水面显示模式,枚举类型,详情请参考 WaterMode

  • valueRange (array) 可选,二维水动力模型颜色插值对应的数值区间

  • alphaMode (number) 透明模式,取值:[0,1],0 : 使用colors调色板的不透明度值 1 : 使用系统默认值

  • arrowColor (Color) 箭头颜色和透明度,支持四种格式,取值示例

  • arrowTiling (number) 箭头平铺系数

  • foamWidth (number) 泡沫宽度,取值范围:[0~10000],默认值:1米

  • foamIntensity (number) 泡沫强度,取值范围:[0~1],默认值:0.5

  • alphaComposite (boolean) 是否使用混合透明度,默认:true

  • rippleDensity (number) 水波纹辐射强度

  • rippleTiling (number) 水波纹辐射平铺系数

  • speedFactor (number) 速度因子

  • flowThreshold (array) 水浪效果漫延的范围,即把水动力模型[minSpeed,maxSpeed]最小最大流速的范围映射到[0~1],取值示例:[0.1,0.4],取值范围[0~1]

  • coastlineSize (number) 海岸轮廓大小

  • coastlineIntensity (number) 海岸轮廓强度

  • coastlineFadeDistance (number) 海岸轮廓消失距离

  • shpFilePath (string) 添加二维水动力模型整体范围的shp文件路径,取值示例:"C:/shpFile/xxx.shp"。注意:此shp文件包含水动力模型所有网格的范围,类型为Polygon,坐标系必须是PCS类型,单位是米,同时shp文件属性表字段必须包含ID和Elev两个字段:ID是网格ID;Elev是网格的高程值,单位是米

  • shpDataFilePath (string) 可选参数,仅在update()方法执行生效。更新二维水动力模型时包含水面网格的dat类型文件路径,取值示例:"C:/datFile/xxx.dat"。注意:dat文件是一种二进制文件,它提取了某一时刻包含的所有水面网格的信息,并把这些信息依次写入了二进制文件dat,一个水面网格信息包含如下一组四个值:id,h,u,v。id对应shp属性表ID字段(int类型),h是网格对应的水深(double类型,单位是米),uv是流速和流向(double类型,单位米/秒,u朝东,v朝北)。

  • colors (object) 二维水动力模型自定义调色板对象,包含颜色渐变控制、无效像素颜色和调色板区间数组

    gradient (boolean) 是否渐变

    invalidColor (Color) 无效像素点的默认颜色,默认白色

    colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:


    color (Color) 值对应的调色板颜色

    value (number) 值

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


addByTif(data, fn)

添加一个或多个HydroDynamic2D二维水动力模型对象,数据源为.tif文件。

Parameters:
Name Type Description
data object | array

构造二维水动力模型对象HydroDynamic2D的数据对象,可以是Object类型或者Array类型,对于每一个HydroDynamic2D对象,支持以下属性:

  • id (string) HydroDynamic2D对象ID

  • groupId (string) 可选,Group分组

  • userData (string) 可选,用户自定义数据

  • bbox (array) 可选,二维水动力模型的包围盒范围,格式:[minX,minY,minZ,maxX,maxY,maxZ],数组元素类型:[任意浮点数]

  • offset (array) 可选,二维水动力模型的整体偏移,默认值:[0, 0, 0]

  • dataSize (array) 可选,二维水动力模型的数据分辨率,取值示例:[X,Y]

  • valueRange (array) 可选,二维水动力模型颜色插值对应的数值区间

  • updateTime (number) 更新动画的插值时间,注意:参数仅更新方法执行时生效

  • waterDepth (string) 必选,二维水动力模型bin数据文件路径(水深bin或tif),取值示例:"C:/binFile/xxx1.bin"或"C:/tifFile/xxx1.tif",注意:waterDepth、flowField和dem的三个tif文件分辨率必须保持一致

  • flowField (string) 可选,二维水动力模型bin数据文件路径(流速流向bin或tif),取值示例:"C:/binFile/xxx2.bin"或"C:/tifFile/xxx2.tif",注意:waterDepth、flowField和dem的三个tif文件分辨率必须保持一致

  • dem (string) 可选,二维水动力模型bin数据文件路径(河道DEM的bin或tif),取值示例:"C:/binFile/xxx3.bin" 或"C:/tifFile/xxx3.tif",注意:waterDepth、flowField和dem的三个tif文件分辨率必须保持一致

  • collision (boolean) 是否开启模型碰撞,默认:false,注意:开启后会影响加载效率

  • displayMode (HydroDynamic2DStyle) 二维水动力模型的显示样式,详情请参考 HydroDynamic2DStyle,分为真实水样式和热力图样式

  • waterMode (number) 水面显示模式,枚举类型,详情请参考 WaterMode,注意:此参数仅在displayMode设置为真实水时生效

  • waterColor (Color) 水面颜色和透明度,注意:仅在displayMode=0时生效,支持四种格式,取值示例
    ,注意:此参数仅在displayMode设置为真实水时生效

  • waveBrightness (number) 水波纹的显示亮度,取值范围:[0~1000],值越大亮度越高水波纹越明显

  • foamWidth (number) 泡沫宽度,取值范围:[0~10000],默认值:1米

  • foamIntensity (number) 泡沫强度,取值范围:[0~1],默认值:0.5

  • alphaMode (number) 透明模式,取值:[0,1],0 : 使用colors调色板的不透明度值 1 : 使用系统默认值

  • arrowColor (Color) 箭头颜色和透明度,支持四种格式,取值示例

  • arrowTiling (number) 箭头平铺系数

  • rippleDensity (number) 水波纹辐射强度

  • rippleTiling (number) 水波纹辐射平铺系数

  • speedFactor (number) 速度因子

  • flowThreshold (array) 水浪效果漫延的范围,即把水动力模型[minSpeed,maxSpeed]最小最大流速的范围映射到[0~1],取值示例:[0.1,0.4],取值范围[0~1]

  • coastlineSize (number) 海岸轮廓大小

  • coastlineIntensity (number) 海岸轮廓强度

  • coastlineFadeDistance (number) 海岸轮廓消失距离

  • colors (object) 二维水动力模型自定义调色板对象,包含颜色渐变控制、无效像素颜色和调色板区间数组

    gradient (boolean) 是否渐变

    invalidColor (Color) 无效像素点的默认颜色,默认白色

    colorStops (array) 调色板对象数组,每一个对象包含热力值和对应颜色值,结构示例:[{"value":0, "color":[0,0,1,1]}],每一个调色板对象支持以下属性:


    color (Color) 值对应的调色板颜色

    value (number) 值

fn function

可选的回调函数,请参考二次开发:异步接口调用方式

Example
请求数据结构示例 
        [{
        "id": "hdm",
        "bbox":  [488670.75, 2488165, 0, 491659.59375, 2490987.5, 344.58],
        "valueRange": [0, 3],
        "dataSize": [3854, 3516],
        "waterDepth":"waterDepth.tif",
        "flowField":"flowField.tif",
        "dem":"dem.tif",
        "colors": {
            "gradient": true,
            "invalidColor": [0, 0, 0, 1],
            "colorStops": [
                {
                    "value": 0,
                    "color": [0, 0, 1, 1]
                },
                {
                    "value": 0.25,
                    "color": [0, 1, 1, 1]
                },
                {
                    "value": 0.5,
                    "color": [0, 1, 0, 1]
                },
                {
                    "value": 0.75,
                    "color": [1, 1, 0, 1]
                },
                {
                    "value": 1,
                    "color": [1, 0, 0, 1]
                }
            ]
        }] 

clear(fn)

删除场景中所有的HydroDynamic2D

Parameters:
Name Type Description
fn function

可选的回调函数,请参考二次开发:异步接口调用方式


delete(ids, fn)

删除一个或多个HydroDynamic2D对象

Parameters:
Name Type Description
ids string | array

要删除的HydroDynamic2D对象的ID或者ID数组(可以删除一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


focus(ids, distance, flyTime, rotation, fn)

自动定位到合适的观察距离

Parameters:
Name Type Description
ids string | array

HydroDynamic2D对象的ID或者ID数组

distance number

可选参数,观察点距离目标点(被拍摄物体)的距离,取值范围:[0.01~任意正数],如果设置为0或者不设置,系统自动计算

flyTime number

可选参数,相机飞行的时间,取值范围:[0~任意正数],单位:秒,默认值2秒

rotation array

可选参数,相机旋转的欧拉角:[Pitch,Yaw,Roll],数组元素类型:(number),取值范围:Pitch[-90~90] Yaw[-180~180] Roll[0]

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


get(ids, fn)

根据ID获取HydroDynamic2D的详细信息

Parameters:
Name Type Description
ids string | array

要获取的HydroDynamic2D对象ID或者ID数组(可以获取一个或者多个)

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


hide(ids, fn)

隐藏HydroDynamic2D

Parameters:
Name Type Description
ids string | array

HydroDynamic2D对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


show(ids, fn)

显示HydroDynamic2D

Parameters:
Name Type Description
ids string | array

HydroDynamic2D对象的ID或者ID数组

fn function

可选的回调函数,请参考二次开发:异步接口调用方式


update(data, fn)

修改一个或多个HydroDynamic2D对象

Parameters:
Name Type Description
data object | array

构造二维水动力模型对象HydroDynamic2D的数据对象,参考add方法

fn function

可选的回调函数,请参考二次开发:异步接口调用方式