Предупрежу сразу, с координатами столкнулся впервые) Задача у меня крайне проста - определить, входит ли точка в окружность на карте. Средствами YAPI это слеть легко, в песичнице есть простой пример. А как такой же расчет реализовать средствами других языков программирования?
Сначала я думал, что все легко. Есть точка (X,Y), есть центр окружности (X1,Y1), простой формулой проверяю, входит ли точка в оуружность
(x-x1)^2 + (y-y1)^2 <= R^2, где R - радиус окружности. Радиус не нужен был крайне точным, по картам провел линейкой 1км, координаты сдвинулись на 0,032 градуса. Эту величину и подставлял в R, из расчета что 0,0132 градуса = 1км. Обрадовался, напился.
Далее возникла проблема. В выборку попадали точки и окружности, которые по идее не должны в нее попадать. И попадали очень странно, только когда точка СВЕРХУ круга. Начал курить далее. Провел по ссвоему супер способу линеечку вверх, и увидел, что по оси Y одному километр - это примерно 0,009 градусов. Сразу же дошло, что наша планетка Земля в развернутом виде в ширину больше, чем в высоту, и мой "круг" для карты - это огромный овал. Оттуда и правило - не считай километры по градусам, ибо это быдлокод и повод для насмешек.
Собственно теперь возникла проблема, как найти точку на карте, которая принадлежит кругу, или как работает функция, которая высчитывает вхождение, как например тут
Нашел коммент с формулой на MySQL, но, во-первых, не пойму, то ли это, во-вторых, непонятны некоторые переменные в запросе