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