MeasureSurfaceAreaWidget

new Cesium.MeasureSurfaceAreaWidget(options)

三维地图表面积量算插件类
Name Type Description
options Object optional 对象具有以下属性
Name Type Default Description
viewer Viewer optional 三维地球类
mode Number 1 optional 默认为1, 1代表地形上测量面积, 2代表三维模型上的测量面积
showPoints Boolean false optional 是否显示点,默认不显示
showPolylines Boolean false optional 是否显示多线,默认不显示
showPolygons Boolean true optional 是否显示多边形,默认显示
showLabels Boolean true optional 是否显示动态高亮选择时出现的标签,默认显示
showDynamicSelection Boolean false optional 是否开启动态高亮选择小三角形, 默认不显示
customizedCellsize Boolean false optional 是否开启自定义设置插值间距,默认不自定义显示,而是系统自适应插值间距
cellsize Number 100 optional 插值密度值,单位为米,默认100米,数值越小代表插值点越多,计算量更大,准确度更高,但效率相应地更低
pointColor Color Cesium.Color.PINK optional 点颜色
pointSize Number 7.0 optional 点大小
pointOutlineColor Color Cesium.Color.PINK.withAlpha(1.0) optional 点的边线颜色
pointOutlineWidth Number 0 optional 点的边线宽度
lineWidth Number 2.0 optional 多线宽度
lineColor Color Cesium.Color.YELLOW.withAlpha(1.0) optional 多线颜色
color Color Cesium.Color.CHARTREUSE.withAlpha(0.5) optional 多边形颜色
lerpLineWidth Number 2.0 optional 多边形边线的宽度
lerpLineColor Color Cesium.Color.ORANGE.withAlpha(1.0) optional 多边形边线的颜色
showLerpline Boolean true optional 是否显示多边形边线,默认显示
labelGraphics LabelGraphics optional 标签样式
Example:
/初始化控件
 var MeasureSurfaceAreaWidget = Cesium.MeasureSurfaceAreaWidget({
     "viewer": viewer,
     "mode": 1,
     "cellsize": 100,
     "labelGraphics": {
         font: '20px sans-serif',
         backgroundColor: new Cesium.Color.ORANGE.withAlpha(0.5)
     }
 }, function (area) {
     console.log(area);
 });
Demo:

Members

cellsize : Number

得到或者设置插值间距
Default Value: 100

customizedCellsize : Boolean

是否开启自定义插值间距功能
Default Value: false

lerpLineColor : color

多边形边线颜色
Default Value: "#ff8c00"

showTriangleNet : Boolean

是否显示三角网
Default Value: false

Methods

activate()

激活并测量表面积

calcSurfaceArea(coordinates, showPolygon)Number

根据坐标计算贴地表面积
Name Type Description
coordinates Array 经纬度坐标数组(首尾坐标不一样)
showPolygon Boolean 是否显示多边形,默认不显示
Returns:
面积,单位m²或km²
Example:
var coordinates = [[99.03682049465277, 29.718081590547822],[99.01731133560669, 29.71805075758185],[99.01954392297345, 29.699484384902405],[99.03917739260321, 29.699581024542223]];
var area = measureSurfaceAreaWidget.calcSurfaceArea(coordinates, true);

clear()

清除所有的信息

delete()

对选中的要素进行删除操作

getAllPointsInPolygon(positions, selectedPointsInPolygon)

得到所有的点,包括输入坐标点、多边形内部插值点、多边形边上插值点
Name Type Description
positions Array 输入笛卡尔坐标数组
selectedPointsInPolygon Array 多边形内部的插值点

selectFeatures()

高亮选择元素