我在地图上有4个点(纬度,经度),可以有更多。
我需要在这些点之间构建一个10公里宽的MySQL POLYGON。
从图片中可以看出 - 我有蓝线,我需要一个多边形(绿色轮廓)。
我的第一个想法是为每个给定点创建两个单独的点。 例如:
逻辑很简单。 但问题是 - 我不知道要计算什么(右,上,下,左),我需要某种角度,但我被困在这里。
我只需要一个算法,不需要完整的代码示例。
我试过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);