# Analysis 🌎

# DC.Measure

viewer measure

# example

viewer.use(new DC.Measure())

# creation

  • constructor()

    • returns measure

# methods

  • angle([options])

    • parameters
      • {Object} options
    • returns this
  • area([options])

    • parameters
      • {Object} options
    • returns this
  • areaSurface([options])

    • parameters
      • {Object} options
    • returns this
  • distance([options])

    • parameters
      • {Object} options
    • returns this
  • distanceSurface([options])

    • parameters
      • {Object} options
    • returns this
  • heading([options])

    • parameters
      • {Object} options
    • returns this
  • height([options])

    • parameters
      • {Object} options
    • returns this
  • triangleHeight([options])

    • parameters
      • {Object} options
    • returns this
  • activate(type,[options])

    • parameters
      • {String} type
      • {Object} options
    • returns this
// options(optional)
{
  "icon_center": "**.png",
  "icon_anchor": "**.png",
  "icon_midAnchor": "**.png",
  "icon_size": [12, 12],
  "clampToModel": false
}
  • deactivate()

    • returns this

# DC.Analysis

Viewer analysis

# example

viewer.use(new DC.Analysis())

# creation

  • constructor()

    • returns analysis

# methods

  • contourLine(lineColor, lineWidth, lineSpacing)

    Contour Line Analysis

    • parameters
      • {Color} lineColor
      • {Number} lineWidth
      • {Number} lineSpacing
    • returns this
  • shadows(startTime, multiplier)

    Daylight Analysis

    • parameters
      • {Date} startTime
      • {Number} multiplier
    • returns this
  • sightLine(startPosition, endPosition, excludes, lerpNum)

    Through-view analysis (line)

    • parameters
      • {Position|Array|String|Object} startPosition
      • {Position|Array|String|Object} endPosition
      • {Array<Overlay>} excludes
      • {Number} lerpNum: Number of Interpolation, default: 10, the larger the number the more accurate, and at the same time the amount of calculation will increase
    • returns this
  • sightCircle(center, radius, excludes, lerpNum)

    Through-view analysis (circle)

    • parameters
      • {Position|Array|String|Object} center
      • {Number} radius
      • {Array<Overlay>} excludes
      • {Number} lerpNum: Number of Interpolation, default: 10, the larger the number the more accurate, and at the same time the amount of calculation will increase
    • returns this
  • viewshed(position, radius, fov, aspectRatio, options)

    View-Shed Analysis

    • parameters
      • {Position|Array|String|Object} position
      • {Number} radius
      • {Number} fov
      • {Number} aspectRatio
      • {Object} options
    • returns this
//options(optional)
{
  "mixNum":1, 
  "visibleColor":DC.Color.GREEN,
  "disVisibleColor":DC.Color.RED,
  "showHelp": false,
  "gridColor": DC.Color.YELLOW,
  "lineColor": DC.Color.YELLOW.withAlpha(0.3)
}
  • deactivate([type])

    • parameters
      • {String} type:Refer to DC.AnalysisType. When the type is empty, all analyses will be deactivated
    • returns this

# DC.CameraVideoLayer

Inherited from Layer

# example

let layer = new DC.CameraVideoLayer('id')
viewer.addLayer(layer)

# creation

  • constructor(id)

    • parameters
      • {String} id
    • returns videoLayer

# methods

  • showHelp(show, videoOverlay, color)

    • parameters
      • {Boolean} show
      • {Overlay} videoOverlay
      • {Color} color
    • returns this

# DC.CameraVideo

Inherited from Overlay

# example

let position = new DC.Position(120, 20, 200, -20, 19)
let videoEl = new document.getElementById('video')
let cameraVideo = new DC.CameraVideo(position, videoEl)
layer.addOverlay(cameraVideo)

# creation

  • constructor(position, video,[maskUrl])

    • parameters
      • {Position} position
      • {Element} video
      • {String} [maskUrl]
    • returns cameraVideo

# properties

  • {Position} position
  • {Element} video
  • {String} maskUrl

# methods

  • setStyle(style)

    • parameters
      • {Object} style
    • returns this
// style(optional)
{
  "fov": 60,
  "near": 1,
  "far": 5000,
  "aspectRatio": 1,
  "alpha": 1,
  "clearBlack": true,
  "disViewColor": DC.Color.WHITE
}

# DC.PlaneVideoLayer

Inherited from Layer

# example

let layer = new DC.PlaneVideoLayer('id')
viewer.addLayer(layer)

# creation

  • constructor(id)

    • parameters
      • {String} id
    • returns videoLayer

# methods

  • showHelp(show, videoOverlay, color)

    • parameters
      • {Boolean} show
      • {Overlay} videoOverlay
      • {Color} color
    • returns this

# DC.PlaneVideo

Inherited from Overlay

# example

let position = new DC.Position(120, 20, 200, -20, 19)
let videoEl = new document.getElementById('video')
let cameraVideo = new DC.PlaneVideo(position, videoEl)
layer.addOverlay(cameraVideo)

# creation

  • constructor(position, video)

    • parameters
      • {Position} position
      • {Element} video
    • returns cameraVideo

# properties

  • {Position} position
  • {Element} video

# methods

  • setStyle(style)

    • parameters
      • {Object} style
    • returns this
// style(optional)
{
  "fov": 60,
  "near": 1,
  "far": 5000,
  "aspectRatio": 1
}

# DC.GeoTools

Geometry Tool

# example

let coords = DC.GeoTools.pointBuffer(
  '120.71259021075333,31.22148081085083',
  100
)

let coords1 = DC.GeoTools.polygonBuffer(
  '120.71259021075333,31.22148081085083;120.71611354431036,31.221447256684566;120.7140691869497,31.21875584696343',
  150
)

# static methods

  • pointBuffer(position, radius, steps)

    • parameters
      • {Array|String|Position} position
      • {Number} radius
      • {Number} steps default:8
    • returns array
  • polylineBuffer(positions, radius, steps)

    • parameters
      • {Array|String|Array<Position>} positions
      • {Number} radius
      • {Number} steps default:8
    • returns array
  • polygonBuffer(positions, radius, steps)

    • parameters
      • {Array|String|Array<Position>} positions
      • {Number} radius
      • {Number} steps default:8
    • returns array
  • transformPolylineScale(positions, factor)

    • parameters
      • {Array|String|Array<Position>} positions
      • {Number} factor
    • returns array
  • transformPolygonScale(positions, factor)

    • parameters
      • {Array|String|Array<Position>} positions
      • {Number} factor
    • returns array
  • transformPolylineRotate(positions, angle)

    • parameters
      • {Array|String|Array<Position>} positions
      • {Number} angle
    • returns array
  • transformPolygonRotate(positions, angle)

    • parameters
      • {Array|String|Array<Position>} positions
      • {Number} angle
    • returns array

# DC.GlobClipping

Glob Clipping

# example

let globClipping = new DC.GlobClipping(viewer)

# creation

  • constructor(viewer,[options])

    • parameters
      • {Viewer} viewer
      • {Object} options
    • returns globClipping
// options(optional)
{
  "edgeWidth": 0,
  "edgeColor": DC.Color.WHITE
}

# properties

  • {Array<Position>} positions
  • {Number} distance
  • {Boolean} enable
  • {String} state readonly

# DC.TerrainClipping

Terrain Clipping

# example

let terrainClipping = new DC.TerrainClipping(viewer)

# creation

  • constructor(viewer,[options])

    • parameters
      • {Viewer} viewer
      • {Object} options
    • returns terrainClipping
// options(optional)
{
  "edgeWidth": 0,
  "edgeColor": DC.Color.WHITE,
  "lerpInterval": 50,
  "bottomImage": "",
  "sideImage": ""
}

# properties

  • {Array<Position>} positions
  • {Number} height
  • {Boolean} enable
  • {String} state readonly