从中心点和半径生成以纬度和经度为基础的圆形点

3

我有一个以经度和纬度表示的圆心坐标(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])
}

由于纬度和可变半径不是以公里为单位,而是以坐标为单位,因此返回椭圆形状。

我该如何修改这段代码以生成完美的圆?


我找到了这个相关的答案,它满足了我的需求! - Giovani de Quadros
1个回答

0

对于半径不是很大的圆,您可以通过除以 cos(latitude) 来修正经度维度,因为子午线/平行比率取决于这个值。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接