查阅Cesium API

工具类

Author:
  • 金磊、张丹钊、张恒、薛鹏

方法

序列化参数对象

_serialize(params)String

参数描述:
名称 类型 描述
params Object 参数对象
返回:
序列化字符串
添加模型拾取高亮状态

addPickStage(Viewer, color)

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
color String 高亮颜色
三点计算角度

arge(centerP, startP, endP, type, isCanvasCoordinates)

参数描述:
名称 类型 默认值 描述
centerP Object 中点B
startP Object 起点A
endP Object 终点C
type String "180" 可选 类型["180" | "360" | "+-"]
isCanvasCoordinates Boolean false 可选 是否是屏幕坐标
创建CIMServer查询工具

CIMServerTool(url)

参数描述:
名称 类型 描述
url String 服务地址
Echarts扩展

CombineEcharts(Viewer, option, isClear)CombineEcharts

调用方法:
echartsTool = sgworld.Core.CombineEcharts(Viewer, option, true);
参数描述:
名称 类型 默认值 描述
Viewer Viewer 可选 地图视图
option Object 可选 Echarts对应的参数。
isClear Boolean false 可选 是否清除原先图层。
返回:
Echarts扩展工具
随机id

createRandomId()String

调用方法:
id = sgworld.Core.createRandomId();
返回:
返回一个随机id
创建结果提示框

CreateResultTooltip(Viewer, style)ResultTooltip

调用方法:
tooltip = sgworld.Core.CreateResultTooltip(Viewer);
tooltip.showAt(Cesium.Cartesian3.fromDegrees(110, 30, 10), '这里是提示信息');

tooltip.show(false); //隐藏提示框
tooltip.show(true); //显示提示框
参数描述:
名称 类型 描述
Viewer Viewer 可选 地图视图
style Object 可选 样式
名称 类型 默认值 描述
id String 可选 提示框唯一id(可选)
color String 'yellow' 可选 提示框颜色(black/white/yellow/blue)
addX Number 0 可选 提示框X方向偏移量
addY Number 0 可选 提示框Y方向偏移量
near Number 可选 提示框最小可视距离
far Number 可选 提示框最大可视距离
closeBtn Boolean false 可选 显示关闭按钮
close function 可选 点击关闭按钮的回调函数
返回:
ResultTooltip提示框。
创建鼠标Tooltip提示框。

CreateTooltip(styleOrText, position, show)Tooltip

调用方法:
sgworld.Core.CreateTooltip('这里是提示信息', {x:500, y:500}, true);
或
tooltip = sgworld.Core.CreateTooltip();
tooltip.showAt({x:500, y:500}, '这里是提示信息');

tooltip.show(false); //隐藏提示框
tooltip.show(true); //显示提示框
参数描述:
名称 类型 描述
styleOrText * 可选 提示框样式或文本内容
名称 类型 默认值 描述
origin String 'center' 可选 对齐方式(center/top/bottom)
color String 'black' 可选 提示框颜色(black/white/yellow)
id String 可选 提示框唯一id(可选)
position Object 显示位置
show Boolean 是否显示(如果为true,styleOrText必须为显示的文本内容)
返回:
Tooltip提示框。
自定义Geometry

customGeometry(option)Geometry

参数描述:
名称 类型 描述
option Object 参数
名称 类型 描述
position Array 顶点坐标
st Array 纹理坐标
indices Array 三角网连接索引
grid Boolean 是否显示三角网
boundingSphere BoundingSphere 边界球
返回:
获取默认值。

defaultValue(a, b)*

调用方法:
param = sgworld.Core.defaultValue(param, 'default');
参数描述:
名称 类型 描述
a *
b *
返回:
如果未定义,则返回第一个参数,否则返回第二个参数。
计算空间两点之间的俯仰角

ElevationAngle(p1, p2)

参数描述:
名称 类型 描述
p1 Object 起始点
p2 Object 结束点
对象参数合并

extend(o, n, override, mergeTheSame)

参数描述:
名称 类型 默认值 描述
o Object 对象
n Object 被合并的对象
override Boolean false 可选 是否覆盖原属性值
mergeTheSame Boolean false 可选 是否只合并相同属性
经纬度转三维笛卡尔坐标

fromDegrees(degrees)Object

调用方法:
position = sgworld.Core.fromDegrees(degrees);
参数描述:
名称 类型 描述
degrees Degrees 经纬度
返回:
获取多边形质心

getCenterOfMass(positions)

参数描述:
名称 类型 描述
positions Array.<(Cartesian3|Degrees|Array)> 坐标串
添加扩散圆扫描纹理

getCircleScanMaterial()

添加卫星雷达扫描纹理

getConeRadarMaterial()

获取entity属性

getEntityProp(entity)

参数描述:
名称 类型 描述
entity Entity entity对象
获取entity属性

getEntityPropValue(entity, key)

参数描述:
名称 类型 描述
entity Entity entity对象
key String 属性字段
获取gif属性数据

getGifImageProperty(url, speed)

参数描述:
名称 类型 默认值 描述
url String 路径
speed Number 6 可选 速率
获取随机的热力图数据

getHeatmapData(bounds, data, num)Object

调用方法:
data = sgworld.Core.getHeatmapData({
 west: 70.0, 
 south: 10.0,
 east: 140.0,
 north: 50.0
}, {
 max:100, 
 min:0
});
参数描述:
名称 类型 默认值 描述
bounds Object 可选 数据范围。
名称 类型 描述
east Number 可选 东。
south Number 可选 南。
west Number 可选 西。
north Number 可选 北。
data Object 可选 热力值。
名称 类型 描述
max Number 可选 最大值。
min Number 可选 最小值。
value Number 可选 固定值,如设置value,则所有点的热力值都为该值。
num Number 600 可选 随机点数。
返回:
热力图数据
获取json数据

getJSON(url, callback)

调用方法:
sgworld.Core.getJSON('./abc.json', data => {
 console.log(data)
});
参数描述:
名称 类型 描述
url String json地址。
callback function 回调函数。
获取当前层级

getLevel()

添加链路纹理

getLinkMaterial()

添加扩散圆扫描纹理(三环)

getMultiCircleScanMaterial()

获取影像偏移的切片方案

getOffsetTilingScheme(srs)

参数描述:
名称 类型 默认值 描述
srs String "GCJ02" 可选 坐标系
根据间隔获取多边形内的插值点

getPointsInPolygon(degreesArr, distance, linePoint)

参数描述:
名称 类型 默认值 描述
degreesArr Array 面坐标
distance Number 50 可选 间隔(米)
linePoint Boolean true 可选 是否包含边界上的点
获取点位到相机的距离

getPointToCameraDistance(Viewer, position)Number

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
position Cartesian3 点位坐标
返回:
通过中心点经纬度、方位角、俯仰角和距离获取经纬度

getPositionFromHPR(center, distance, heading, pitch)Array

调用方法:
degrees = sgworld.Core.getPositionFromHPR([110, 30, 100], 100, 30, 10)
参数描述:
名称 类型 默认值 描述
center Array 中心点
distance Number 距离
heading Number 0 可选 方位角
pitch Number 0 可选 俯仰角
返回:
通过中心点经纬度、方位角和距离获取经纬度

getPositionFromHR(lon, lat, distance, heading)Array

调用方法:
degrees = sgworld.Core.getPositionFromHR(110, 30, 100, 30)
参数描述:
名称 类型 默认值 描述
lon Number 经度
lat Number 纬度
distance Number 距离
heading Number 0 可选 方位角
返回:
WKT转三维笛卡尔坐标

getPositionFromWKT(WKT)Array.<Cartesian3>

调用方法:
positions = sgworld.Core.getPositionFromWKT(WKT);
参数描述:
名称 类型 描述
WKT String 可选 WKT坐标串
返回:
三维笛卡尔坐标数组
添加雷达扫描纹理

getRadarScanMaterial()

添加扇形扫描纹理

getSectorScanMaterial()

计算空间面积(插值)

getSpaceArea(Viewer, degreesArr, option)Promise|Object

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
degreesArr Array 经纬度数组
option Object 可选 参数
名称 类型 默认值 描述
distance Number 50 可选 插值大小
isNum Boolean false 可选 是否返回数字
onlyTerrain Boolean false 可选 是否只测量高精度地形
返回:
添加链路纹理

getTrailLinkMaterial()

获取当前视角范围

getViewRectangle(Viewer)

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
获取wmts信息

getWMTSData(data, callback)

参数描述:
名称 类型 描述
data Object 地址参数
名称 类型 默认值 描述
url String 服务地址
layer String 可选 图层名
gisserverTMS String false 可选 是否gisserverTMS
srs String "EPSG:4326" 可选 坐标系
callback function
创建颜色阶梯过渡工具

gradientColor(url)

参数描述:
名称 类型 描述
url String 服务地址
是否顺时针

isClockwise(points)Boolean

调用方法:
isClockwise = sgworld.Core.isClockwise([[0,0],[1,1],[1,0],[0,0]]);
//=true
参数描述:
名称 类型 描述
points Array 点串
返回:
是否dom对象

isDOM(obj)

参数描述:
名称 类型 描述
obj Object 对象
加载shp数据

loadShpFile(option, callback)

参数描述:
名称 类型 描述
option Object 参数
callback function 回调
修改鼠标样式。

mouse(container, cursorstyle, url)

调用方法:
sgworld.Core.mouse(Viewer.container, 1, 'draw.cur');
参数描述:
名称 类型 默认值 描述
container DOM html DOM节点
cursorstyle Number 0 可选 鼠标类型(0为默认,1为使用cur图标)
url String cur图标路径。
打开本地文件获取路径

openLocalFile(option)

参数描述:
名称 类型 描述
option Object 参数
名称 类型 默认值 描述
accept String 可选 文件类型
multiple Boolean false 可选 多选
callback function 回调函数
加载本地shp

openShapeFile(callback, encoding)

参数描述:
名称 类型 默认值 描述
callback function 回调函数,function(entity){}
encoding String "utf-8" 可选 编码方式
射线求交

pickFromRay(Viewer, start, end, objectsToExclude)

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
start Cartesian3 起点
end Cartesian3 终点
objectsToExclude Array 排除的对象
保存

saveAs(points)Boolean

调用方法:
sgworld.Core.saveAs(blob, 'test.json');
参数描述:
名称 类型 描述
points Array 点串
返回:
开启/还原深度检测

setDepthTest(type, viewer)

参数描述:
名称 类型 描述
type String 状态(open/close)
viewer Object 视图
动态变化材质回调函数(上下移动颜色渐变)

setDrawCanvasColorUpdown(type, viewer)

参数描述:
名称 类型 描述
type String 状态(open/close)
viewer Object 视图
动态变化材质回调函数(水平移动图像)

setDrawCanvasImage(type, viewer)

参数描述:
名称 类型 描述
type String 状态(open/close)
viewer Object 视图
修改三维笛卡尔坐标高度

setheight(position, height)Cartesian3

参数描述:
名称 类型 描述
position Cartesian3 可选 三维笛卡尔坐标
height Number 可选 修改后高度
返回:
三维笛卡尔坐标
动态变化材质

setImageMaterialProperty(type, viewer)

参数描述:
名称 类型 描述
type String 状态(open/close)
viewer Object 视图
修改多个三维笛卡尔坐标高度

setpolylineheight(positions, height)Array.<Cartesian3>

参数描述:
名称 类型 描述
positions Array.<Cartesian3> 可选 三维笛卡尔坐标串
height Number 可选 修改后高度
返回:
三维笛卡尔坐标
坐标偏移

setPositionOffset(position, offset, headingPitchRoll)Cartesian3

参数描述:
名称 类型 描述
position Cartesian3 坐标
offset Cartesian3 偏移大小
headingPitchRoll HeadingPitchRoll 旋转
返回:
三点测量方位角

ThreePointAzimuth(p1, p2, p3)

参数描述:
名称 类型 描述
p1 Object 起始点
p2 Object 第二点
p3 Object 第三点
根据点获取tin三角网

tinFromPoints(points, option)

参数描述:
名称 类型 描述
points FeatureCollection 点集合
option Object 可选 参数
名称 类型 默认值 描述
getArea Boolean false 可选 是否计算面积
polygon Feature 可选 多边形范围
三维笛卡尔坐标转经纬度

toDegrees(cartesian)Object

调用方法:
degrees = sgworld.Core.toDegrees(position');
参数描述:
名称 类型 描述
cartesian Cartesian3 三维笛卡尔坐标
返回:
获取当前视角范围

toDegreesRectangle(Viewer)

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
跟踪对象

trackedEntity(Viewer, entity, option)

调用方法:
var url = SmartEarthRootUrl + "Workers/Model/weixin.gltf";
    var position = new Cesium.Cartesian3.fromDegrees(110, 32, 1000);
    let model = sgworld.Creator.addSimpleGraphic('model', {
        url: url,
        position: position,
        removeEdit: true // 屏蔽全局标绘编辑功能
    });
    sgworld.Core.trackedEntity(Viewer, model, {
        type: "setView",
        distance: 10000,
        tooltip: {
        drag: true,
        innerHTML: `
            <div class="divPoint-custom">
            <p>大湖名城,创新高地</p>
            </div>
            `,
        far: 20000,
        addX: 50,
        addY: -60,
        }
    })
参数描述:
名称 类型 描述
Viewer Viewer 地图视图
entity Entity 需要跟踪的对象
option Object 可选 参数
名称 类型 默认值 描述
type String "tracked" 可选 跟踪类型【tracked | setView】
viewFrom Cartesian3 可选 视野,type为"tracked"时生效
heading Number 0 可选 初始方位角(度),type为"setView"时生效
pitch Number -45 可选 初始俯仰角(度),type为"setView"时生效
distance Number 1000 可选 初始跟踪距离(米),type为"setView"时生效
minDistance Number 0 可选 最小跟踪距离(米),type为"setView"时生效
tooltip Object 可选 提示框
名称 类型 默认值 描述
innerHTML String '' 可选 提示框内容
drag Boolean false 可选 是否可拖动
near Number 0 可选 提示框最小可视距离
far Number 1000 可选 提示框最大小可视距离
addX Number 0 可选 提示框X方向偏移量
addY Number 0 可选 提示框Y方向偏移量
far Number 1000 可选 提示框最大小可视距离
start function 可选 开始回调
update function 可选 更新回调
end function 可选 结束回调
两点方位角

TwoPointAzimuth(lon1, lat1, lon2, lat2)

参数描述:
名称 类型 描述
lon1 number 起点经度
lat1 number 起点纬度
lon2 number 终点经度
lat2 number 终点纬度
两点计算HeadingPitchRoll

twoPointsHeadingPitchRoll(Viewer, startPosition, endPosition)

参数描述:
名称 类型 描述
Viewer Viewer 地图视图
startPosition Cartesian3 起点
endPosition Cartesian3 终点
获取uuid
矢量切片样式

VectorSlice(option)Object

参数描述:
名称 类型 描述
option Object 可选 样式
返回:
矢量切片样式
ajax

xhr(param)

参数描述:
名称 类型 描述
param *
xml转json

xml2json()