我用(lat,lon(表示圆心。
我有一个半径R,单位是公里。
我的代码
for (var i = 0; i < steps; i++) {
let degrees = (i/steps)*360
let radians = (Math.PI/180)*degrees
let x = lat + radius * Math.cos(radians)
let y = lon + radius * Math.sin(radians)
coordinates.push([x,y])
}
返回一个椭圆形,因为纬度和可变半径不是以公里为单位,而是以坐标为单位。
如何调整此代码以生成一个完美的圆?
对于半径不是很大的圆,您可以使用除以cos(latitude)
来校正经度维度,因为子午线/平行比取决于此值。