首页 > 解决方案 > 为什么节点 Circle to Polygon 模块返回椭圆/椭圆而不是圆形?

问题描述

我正在使用 npm 包circle-to-polygon并且我编写了以下代码来返回一个近似圆形的多边形。

const circleToPolygon = require('circle-to-polygon');

let coordinates = [28.612484207825005, 77.23574939044147]; //lat, lng

let radius = 311;      
let numberOfEdges = 32;    
let polygon = circleToPolygon(coordinates, radius, numberOfEdges);

let coords = polygon.coordinates;

当我使用坐标并使用 Google Maps JS API 创建多边形形状时,它显示出类似椭圆的形状(两端相距很远,两个端相距很近,希望您理解)。

事实上,可以说的距离差异大致是4:1的比例。所以它永远不是更接近圆形的形状。

有什么问题,还是应该故意这样做?

标签: javascriptnode.jsgoogle-mapsnpmgeojson

解决方案


@Vikas Kumar,这似乎是一个棘手的问题。我怀疑圆到多边形排序坐标的方式和谷歌地图api的方式是相反的,至少基于文档。你可以尝试一件事。将 lon、lat(例如,(77,28))输入圆到多边形 api,然后当您获得输出时,将它们反转(例如,(28,77))并输入谷歌地图 api。


推荐阅读