Class: Tools

Tools

工具类
一般通过api.tools调用其方法


<protected> new Tools()

See:

Methods


exportSkyline(path, size, options, fn)

导出天际线分析图片,注意:需先执行开始天际线分析并在页面交互出现天际线图片后才可以执行导出方法exportSkyline

Parameters:
Name Type Description
path string

导出图片的保存路径,或base64字符串,示例参数一:"D:\skyline.png",输出文件至对应路径;示例参数二:"base64",接口返回图片对应的base64字符串

size array

导出图片的尺寸,格式如下:[width, height],取值范围:[0~任意正数]

options object

参数信息,支持以下属性(如果未设置某个属性,则使用默认值):

  • skylineColor
    天际线的颜色,默认值:绿色 Color.Green

  • backgroundColor
    图片背景颜色,默认值:[0, 0, 0, 0.75]

  • tileLayers
    数组类型,若此数组为空默认绘制所有物体形成的天际线;不为空则多个TileLayer形成的一条天际线,多条天际线绘制到该图上;
    数组元素定义如下:
{
    "color": Color.Red,                         //颜色值
    "ids": ["TileLayerId1", "TileLayerId2"]     //TileLayer的ID数组
}

fn function

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

Example
示例代码如下:

let options = {
     skylineColor: Color.Green,
     backgroundColor: Color.Gray
};
//示例一:导出图片至cloud服务器上对应路径
__g.tools.exportSkyline("d:\\skyline.png", [400, 200], options);

//示例二:返回base64字符串
__g.tools.exportSkyline("base64", [400, 200], options).then(result=>{
      //设置base64类型图片
      document.getElementById("img1").setAttribute("src",result.image);
});


<br>

hidePanel(fn)

隐藏系统自带的窗口面板

Parameters:
Name Type Description
fn function

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


lineIntersect(start, end, fn)

单条线段求交,如果线段上有多个对象则返回距离折线起点位置最近的对象信息,如果折线上没有对象则返回ResourceNotFound

Parameters:
Name Type Description
start array

线段起点坐标,取值示例

end array

线段终点坐标,取值示例

fn function

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

Example
返回距离折线起点位置最近的对象信息
{
        "Id":	"8198F86D439A3782739C1EBD9440AFC7", // 图层树上对象唯一标识id
        "ObjectID":	"Shape027",  // Actor对象ID
        "Type":	"TileLayer", // 对象类型
        "PropertyName":	"L3", //图层树上对象名称
        "BoundsMin":	[491962.093750, 2490959.000000, -2.963361], //3dt文件特有属性,包围盒bbox-BoundsMin
        "BoundsMax":	[493933.843750, 2493104.750000, 0.376975], // 3dt文件特有属性,包围盒bbox-BoundsMax
        "LineIntersectPoint":	[492751.687500, 2491406.000000, -2.780900] //从线段起点开始延伸至对象的第一个交点
        }

linesIntersect(startEndPointArr, highPrecision, returnDetails, fn)

多条线段求交

Parameters:
Name Type Description
startEndPointArr array

线段起止点坐标数组,数组元素对象支持以下属性:数组格式示例:[{"start":[1500,86600,3000],"end":[1512.514892578125,86679.796875,-10]},{"start":[1200,82600,3000],"end":[1512.514892578125,86679.796875,-10]}]

highPrecision boolean

是否高精度,默认值:false

returnDetails boolean

是否返回求交数据的详情,默认值:true,注意:设置为false后只返回交点信息LineIntersectPoint,且当数据量大时设置为false可以提升效率

fn function

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

Example
返回距离折线起点位置最近的对象信息数组


返回数据格式示例:
[{
        "Id":	"8198F86D439A3782739C1EBD9440AFC7", // 图层树上对象唯一标识id
        "Type":	"TileLayer", // 对象类型
        "ObjectID":	"Shape027",  // Actor对象ID
        "PropertyName":	"L3", //图层树上对象名称
        "BoundsMin":	[491962.093750, 2490959.000000, -2.963361], //3dt文件特有属性,包围盒bbox-BoundsMin
        "BoundsMax":	[493933.843750, 2493104.750000, 0.376975], // 3dt文件特有属性,包围盒bbox-BoundsMax
        "LineIntersectPoint":	[492751.687500, 2491406.000000, -2.780900] //从线段起点开始延伸至对象的第一个交点
        },
        {
        "Id":	"8198F86D439A3782739C1EBD94ADC543",
        "Type":	"TileLayer",
        "ObjectID":	"SM_outdoor_wall_01_2",
        "PropertyName":	"L2",
        "BoundsMin":	[883.421265, -602.091553, 3.599805],
        "BoundsMax":	[916.103149, -595.874084, 23.368118],
        "LineIntersectPoint":	[893.660950, -601.525940, 22.460133],
      }]

replaceTextureByImage(texturePath, imageUrl, fn)

使用图片替换纹理

Parameters:
Name Type Description
texturePath string

UE资源包里的纹理路径

imageUrl string

图片路径 可以是本地路径,也支持网络路径,资源引入说明

fn function

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


replaceTextureByUrl(texturePath, url, fn)

使用网页替换纹理

Parameters:
Name Type Description
texturePath string

UE资源包里的纹理路径

url string

包含纹理效果的url路径 可以是本地路径,也支持网络路径,资源引入说明

fn function

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


replaceTextureByVideo(texturePath, videoUrl, fn)

使用视频流替换纹理

Parameters:
Name Type Description
texturePath string

UE资源包里的纹理路径

videoUrl string

视频地址,支持本地文件和网络文件,同时支持rtsp实时视频流协议,资源引入说明,注意:mp4文件视频只支持H264/AVC编码格式的

fn function

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


restoreTexture(texturePathArr, fn)

恢复纹理

Parameters:
Name Type Description
texturePathArr string | array

UE资源包里的纹理路径,(支持单个路径或路径数组)

fn function

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


setMeasurement(type, options, fn)

设置测量模式及相关参数

Parameters:
Name Type Description
type MeasurementMode

测量模式,参见MeasurementMode

options object

选项,目前支持的选项有:

  • pointSize: 默认值 8.0
  • textSize: 默认值 10.0
  • textColor: 默认值 Color.Yellow
  • pointColor: 默认值 [0,0,1,0.3]
  • lineColor: 默认值 Color.Red
  • areaColor: 默认值 [0,1,0,0.3]
  • showCoordinateText: 是否显示坐标测量的文本,默认值 false
  • fn function

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


    showPanel(type, screenPosition, fn)

    显示系统自带的窗口面板

    Parameters:
    Name Type Description
    type number

    窗口面板对应枚举,取值范围:[0~正整数],详情参考 PanelType

    screenPosition array

    分析面板显示的屏幕位置,数组类型:[left, top],取值单位:像素

    fn function

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


    startContourLineAnalysis(options, fn)

    开始等高线分析,适用于地形

    Parameters:
    Name Type Description
    options object

    参数对象信息,支持以下属性(如果未设置某个属性,则使用默认值)

    • isShowContourPlane
      是否显示等高面,{boolean},默认值:true

    • contourPlaneOpacity
      等高面颜色不透明度,仅当isShowContourPlane设置为true时生效,{number},取值范围:[0~1],默认值:1

    • isShowContourLine
      是否显示等高线,{boolean},默认值:true

    • contourLineColor
      等高线颜色值,仅当isShowContourLine设置为true时生效,{Color},默认值:[1,1,1,1]

    • contourLineSpacing
      等高线的间距,仅当isShowContourLine设置为true时生效,{number},单位:米,默认值:20米

    • contourLineRangeMax
      等高线最大可视高度,{number},单位:米,默认值:1000000米

    • contourLineRangeMin
      等高线最小可视高度,{number},单位:米,默认值:-1000000米
    fn function

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


    startCutFillAnalysis(options, fn)

    开始填挖方分析,适用于地形

    Parameters:
    Name Type Description
    options object

    参数对象信息,支持以下属性(如果未设置某个属性,则使用默认值)

    height
    高度,单位:米,取值范围:[任意负数~任意正数],默认值:0

    • gridSize
      网格的大小,取值范围:[0~100],默认值:5

    • lineThickness
      线段的宽度,单位:米,取值范围:[0~100],默认值:2

    • pointSize
      点的大小,取值范围:[0~100],默认值:5

    • gridLineThickness
      网格线的宽度,单位:米,取值范围:[0~100],默认值:5

    • cutLineColor
      挖方线的颜色,默认值:红色 Color.Red

    • fillLineColor
      填方线的颜色,默认值:绿色 Color.Green

    • cutPointColor
      挖方点的颜色,默认值:蓝色 Color.Blue

    • fillPointColor
      填方点的颜色,默认值:蓝色 Color.Blue

    • gridColor
      网格线的颜色,默认值:黄色 Color.Yellow
    fn function

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


    startFloodFill(options, fn)

    开始水淹分析

    Parameters:
    Name Type Description
    options object

    参数信息,支持以下属性

    • min (array) 水淹分析坐标范围: [minX, minY],最小X/Y坐标值

    • max (array) 水淹分析坐标范围: [maxX, maxY],最大X/Y坐标值

    • seed (array) 出水点: [X, Y],X/Y取值需在对应的min和max范围内,注意:出水点必须在水淹分析范围内,且不能被物体遮挡,否则会无效

    • elevation (number) 水位高度,单位:米

    • color (Color) 水颜色,支持四种格式,取值示例

    • precision (number) 水淹模拟精度 (取值范围:[0~1] 精度越高效率会降低),默认值:0.5

    fn function

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


    startGeometryEdit(id, type, fn)

    开始顶点编辑,目前支持water polygon 3dpolygon polyline RadiationPoint

    Parameters:
    Name Type Description
    id string

    对象ID

    type number

    坐标架类型,共四种类型,取值说明:1.缩放 2.旋转 3.位移 4.混合,默认取值是4

    fn function

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


    startMeasurement(fn)

    开始测量,用户可以在三维场景中点击鼠标进行测量

    Parameters:
    Name Type Description
    fn function

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


    startPlaneClip(location, rotation, isShowPlane, isEditable, fn)

    开始面剖切

    Parameters:
    Name Type Description
    location array

    生成位置坐标:[X,Y,Z],取值示例,数组元素类型:(number),取值范围:[任意数值]

    rotation array

    旋转角度 [Pitch,Yaw,Roll],数组元素类型:(number),取值范围:[任意数值]

    isShowPlane boolean

    剖切时是否显示辅助面,默认值:false

    isEditable boolean

    剖切时是否可交互编辑,默认值:false

    fn function

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


    startPolygonClip(coordinates, isReverseCut, fn)

    TileLayer多边形剖切, 效果图如下:

    Parameters:
    Name Type Description
    coordinates array

    多边形坐标数组(数组的格式与Polygon、Polygon3D、HighlightArea一样),取值示例

    isReverseCut boolean

    多边形剖切是否反转,默认值:false

    fn function

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


    startSkylineAnalysis(options, fn)

    开始天际线分析

    Parameters:
    Name Type Description
    options object

    参数信息,支持以下属性(如果未设置某个属性,则使用默认值):

    • showOutline
      是否显示场景轮廓线,默认值:true

    • outlineThickness
      场景轮廓线像素宽度 (仅显示场景轮廓线有效),默认值:1

    • outlineColor
      场景轮廓线颜色 (仅显示场景轮廓线有效),默认值:绿色 Color.Green

    • useSceneColor
      是否使用自定义场景颜色,默认值:false

    • sceneColor
      设置场景颜色 (仅使用自定义场景颜色有效),默认值:黑色 Color.Black

    • showSkyline
      是否显示天际线窗口,默认值:true

    • windowSize
      天际线窗口大小 0:X 1:Y

    • skylineColor
      天际线颜色(仅显示天际线窗口有效),默认值:绿色 Color.Green

    • backgroundColor
      天际线窗口背景颜色:默认值:[0,0,0,0.75]

    • height
      视点高度(距离场景交互所拾取点的高度),默认值:0

    • tileLayers
      数组类型,若此数组为空默认绘制所有物体形成的天际线;不为空则多个TileLayer形成的一条天际线,多条天际线绘制到该图上;数组示例如下:
    {
        "color": Color.Red,                         //颜色值
        "ids": ["TileLayerId1", "TileLayerId2"]     //TileLayer的ID数组
    }
    

    fn function

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


    startSunshineAnalysis(options, fn)

    开始日照分析

    Parameters:
    Name Type Description
    options object

    参数对象信息,支持以下属性(如果未设置某个属性,则使用默认值)

    • year
      年,取值范围:[1970~至今年份],默认值:当前日期

    • month
      月,取值范围:[1~12],默认值:当前日期

    • day
      日,取值范围:[1~31],默认值:当前日期

    • startTime
      开始时间,取值类型:时间字符串,默认值:08:00

    • endTime
      结束时间,取值类型:时间字符串,默认值:16:00

    • spacing
      间距,取值范围:[任意负数~任意正数],默认值:-1米

    • groundElevation
      底面高度,取值范围:[任意负数~任意正数],默认值:0米

    • height
      高度,取值范围:[0~任意正数],默认值:5000米

    • sphereRadius
      日照效果球半径,取值范围:[0~任意正数],默认值:1米
    fn function

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


    startTerrainSlopeAnalysis(options, fn)

    开始坡度坡向分析,适用于地形3dt数据

    以下为分析结果颜色卡取值:

    分析结果取值范围: [0~7], 对应颜色值: [0,0.968627,0,1]
    分析结果取值范围: [7~15], 对应颜色值: [0.352941,0.968627,0,1]
    分析结果取值范围: [15~23], 对应颜色值: [0.549020,0.968627,0,1]
    分析结果取值范围: [23~31], 对应颜色值: [0.709804,0.968627,0,1]
    分析结果取值范围: [31~39], 对应颜色值: [0.870588,0.968627,0,1]
    分析结果取值范围: [39~47], 对应颜色值: [0.968627,0.870588,0,1]
    分析结果取值范围: [47~55], 对应颜色值: [1,0.709804,0,1]
    分析结果取值范围: [55~63], 对应颜色值: [1,0.517647,0,1]
    分析结果取值范围: [63~70], 对应颜色值: [1,0.290196,0,1]
    分析结果取值范围: [70~90], 对应颜色值: [0.968627,0,0,1]

    Parameters:
    Name Type Description
    options object

    参数对象信息,支持以下属性(如果未设置某个属性,则使用默认值)

    • showArrow
      是否显示箭头,{boolean},默认值:true

    • colorMode
      模式,{number},取值范围:【1坡度 2坡向】,默认值:1

    • arrowColor
      箭头颜色,默认值:白色 [1,1,1,1]

    fn function

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


    startViewDomeAnalysis(options, fn)

    开始开敞度分析

    Parameters:
    Name Type Description
    options object

    参数信息,支持以下属性(如果未设置某个属性,则使用默认值)

    • radius
      展示半径,单位:米,取值范围:[0.01~任意正数],默认值:500

    • opacity
      透明度,取值范围:[0~1],默认值:0.5

    • visibleColor
      可见区域的颜色,默认值:红色 Color.Red

    • invisibleColor
      不可见区域的颜色,默认值:绿色 Color.Green

    fn function

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


    startViewshedAnalysis(options, fn)

    开始视域分析

    Parameters:
    Name Type Description
    options object

    参数信息,支持以下属性(如果未设置某个属性,则使用默认值):

    • startPoint
      可选参数,视域分析起点坐标位置,若不传入则从鼠标点击拾取获取,取值示例

    • endPoint
      可选参数,视域分析终点坐标位置,若不传入则从鼠标点击拾取获取,取值示例

    • fov_h
      水平视角,取值范围:[1°~150°],默认值:60

    • fov_v
      垂直视角,取值范围:[1°~150°],默认值:30

    • height
      视点高度(距离场景交互所拾取点的高度),默认值:0

    • visibleColor
      可见区域的颜色,默认值:绿色 Color.Green

    • invisibleColor
      不可见区域的颜色,默认值:红色 Color.Red

    fn function

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


    startVisiblityAnalysis(options, fn)

    开始通视分析

    Parameters:
    Name Type Description
    options object

    参数信息,支持以下属性(如果未设置某个属性,则使用默认值)

    • height
      视点高度(距离场景交互所拾取点的高度),取值范围:[任意负数~任意正数],默认值:0

    • visibleColor
      可见区域的颜色,默认值:红色 Color.Red

    • invisibleColor
      不可见区域的颜色,默认值:绿色 Color.Green

    fn function

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


    startVolumeClip(bbox, direction, isShowBBox, isEditable, rotation, fn)

    开始体剖切

    Parameters:
    Name Type Description
    bbox array

    剖切的包围盒,即bounding box,取值示例

    direction number

    0:正向剖切,1:反向剖切

    isShowBBox boolean

    剖切时是否显示剖切范围的包围盒,默认值:false

    isEditable boolean

    剖切时是否可交互编辑,默认值:false

    rotation array

    bbox的欧拉角,[Pitch,Yaw,Roll],设置包围盒的旋转

    fn function

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


    stopClip(fn)

    停止多边形剖切

    Parameters:
    Name Type Description
    fn function

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

    Deprecated:
    • 2021.03.23之后的版本已弃用,请用stopPolygonClip代替

    stopContourLineAnalysis(fn)

    停止等高线分析

    Parameters:
    Name Type Description
    fn function

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


    stopCutFillAnalysis(fn)

    停止填挖方分析

    Parameters:
    Name Type Description
    fn function

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


    stopFloodFill(fn)

    停止水淹分析

    Parameters:
    Name Type Description
    fn function

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


    stopGeometryEdit(fn)

    退出顶点编辑

    Parameters:
    Name Type Description
    fn function

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


    stopMeasurement(fn)

    停止测量

    Parameters:
    Name Type Description
    fn function

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


    stopPlaneClip(fn)

    停止面剖切

    Parameters:
    Name Type Description
    fn function

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


    stopPolygonClip(fn)

    停止多边形剖切

    Parameters:
    Name Type Description
    fn function

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


    stopSkylineAnalysis(fn)

    结束天际线分析

    Parameters:
    Name Type Description
    fn function

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


    stopSunshineAnalysis(fn)

    停止日照分析

    Parameters:
    Name Type Description
    fn function

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


    stopTerrainSlopeAnalysis(fn)

    停止坡度坡向分析

    Parameters:
    Name Type Description
    fn function

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


    stopViewDomeAnalysis(fn)

    停止开敞度分析

    Parameters:
    Name Type Description
    fn function

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


    stopViewshedAnalysis(fn)

    停止视域分析

    Parameters:
    Name Type Description
    fn function

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


    stopVisiblityAnalysis(fn)

    停止通视分析

    Parameters:
    Name Type Description
    fn function

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


    stopVolumeClip(fn)

    停止体剖切

    Parameters:
    Name Type Description
    fn function

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


    updateVolumeClip(bbox, direction, isShowBBox, isEditable, rotation, fn)

    更新体剖切

    Parameters:
    Name Type Description
    bbox array

    剖切的包围盒,即bounding box,取值示例

    direction number

    0:正向剖切,1:反向剖切

    isShowBBox boolean

    剖切时是否显示剖切范围的包围盒,默认值:false

    isEditable boolean

    剖切时是否可交互编辑,默认值:false

    rotation array

    bbox的欧拉角,[Pitch,Yaw,Roll],设置包围盒的旋转,注意:只支持更新Yaw

    fn function

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