上下文: 我正试图构造一系列坐标用于地理定位。我有A组,这是一系列的坐标,我要瞄准。我的系统允许的最小目标半径是1公里,但我想把目标限制在350米。a组有几千个坐标
我的解决方案: 为了解决这个问题,我的解决方案是在a组的每个坐标周围创建一个网格/多边形(B组),这将是一个禁区。通过这种方式,我可以人为地将A组限制在350米的区域内,方法是创建一个排除区域的多边形(从中心lat/lon开始任意半径)。你知道吗
问题: 在a组中只有一个坐标的情况下,这是很容易的。如果我有几百个或几千个坐标,我不想在B组中创建一个与a组中的包含区域重叠的排除坐标,因为它会无意中将350米减少到更小的数字,或者将其全部删除。你知道吗
如何从数学上确定要使用的B组坐标系,从而使A组中最大可能的坐标数具有350米半径的可能性最大化?你知道吗
警告: 我的数学背景不超过基本的微积分,我将用JavaScript或Python编程解决方案
我对这种数学很不熟悉。到目前为止,我的解决方案是创建一系列4个坐标,每个坐标距中心点1.35KM,中心点的半径也为1KM。我认为中心点的面积是350米。我用下面的代码来计算
var pi = Math.PI;
var meters = (1 / ((2 * pi / 360) * earth)) / 1000;
var cos = Math.cos;
var testLat = 40.704112;
var testLon = -74.012133;
var newLat = testLat + (meters*1350);
var newLon = testLon + (meters*1350)/cos(testLat*(pi/180));```
The expected result would be, for a series of input coordinates (Group A), an output group of coordinates (Group B) that maximizes the number of Group A coordinates with a 350M remaining radius
目前没有回答
相关问题 更多 >
编程相关推荐