多个坐标之间的Mysql多边形

时间:2018-05-30 11:59:15

标签: javascript mysql google-maps coordinates polygon

enter image description here
我在地图上有4个点(纬度,经度),可以有更多。 我需要在这些点之间构建一个10公里宽的MySQL POLYGON。 从图片中可以看出 - 我有蓝线,我需要一个多边形(绿色轮廓)。

我的第一个想法是为每个给定点创建两个单独的点。 例如:

  1. 第一点(不来梅)
  2. 计算5km右边并添加一个点,     计算剩余5公里并加点。
  3. 逻辑很简单。 但问题是 - 我不知道要计算什么(右,上,下,左),我需要某种角度,但我被困在这里。

    我只需要一个算法,不需要完整的代码示例。

    我试过javascript中的函数:

    var meters = 10000 / 2;
    var my_lat = 52.51978;
    var my_long = 13.388211;
    
    // number of km per degree = ~111km (111.32 in google maps, but range varies
      /*  between 110.567km at the equator and 111.699km at the poles) */
    // 1km in degree = 1 / 111.32km = 0.0089
    // 1m in degree = 0.0089 / 1000 = 0.0000089
    var coef = meters * 0.0000089;
    
    var new_lat = my_lat + coef;
    
    // pi / 180 = 0.018
    var new_long = my_long - coef / Math.cos(my_lat * 0.018);
    

0 个答案:

没有答案