类名 common/base/ArcGisGeometry/Circle.js
import * as T from '@turf/turf'
import Zondy from '../Zondy'
import { extend } from '../../util'
import ArcGisGeometry from './Geometry'

/**
 * @class module:ArcGis.ArcGisCircle
 * @description ArcGis服务
 * @author 基础平台-杨琨
 * @param options - {Object} 必选项,构造圆对象参数。
 * @param {String} [options.center] 可选项。圆的中心点坐标,默认[0, 0]。
 * @param {String} [options.radius] 可选项。圆的半径,默认1000。
 * @param {String} [options.radiusUnit] 可选项。圆的半径单位,默认米,可选值["feet"|"kilometers"|"meters"|"miles"|"nautical-miles"|"yards"]。
 * @param {String} [options.numberOfPoints] 可选项。构成圆弧的插值数量,默认60。
 * @param {String} [options.geodesic] 可选项。启用自定义坐标系,默认false。
 * @param {ArcGisSpatialReference} [options.spatialReference] 可选项。多边形的空间坐标系,默认4326。
 */
class ArcGisCircle extends ArcGisGeometry {
  constructor(options) {
    super(options)
    this.center = [0, 0]
    this.radius = 1000
    this.radiusUnit = 'meters'
    this.numberOfPoints = 60
    this.geodesic = false
    this.type = 'circle'

    extend(this, options)
    const opts = { steps: this.numberOfPoints, units: this.radiusUnit }
    const circle = T.circle(this.center, this.radius, opts)
    this.rings = circle.geometry.coordinates
  }
}

export { ArcGisCircle }
Zondy.Service.ArcGisCircle = ArcGisCircle
构造函数
成员变量
方法
事件