Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / написать сложное условие / 5 сообщений из 5, страница 1 из 1
09.10.2015, 15:11:56
    #39073014
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
написать сложное условие
есть таблица с координатами для гугловских карт.

надо выбрать те толки которые находятся в определённом радиусе от заданной точки!

нащёл функцию на js которая вычисляет растояние между двумя точками на карте:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var getDistance = function(p1, p2) {
  var R = 6378137; // Earth’s mean radius in meter
  var dLat = rad(p2.lat() - p1.lat());
  var dLong = rad(p2.lng() - p1.lng());
  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
    Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) *
    Math.sin(dLong / 2) * Math.sin(dLong / 2);
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
  var d = R * c;
  return d; // returns the distance in meter
};



пытаюсь переписать в условие для sql запроса. Получилось так:

Код: php
1.
2.
3.
4.
$formula = $radius." * (2 * ATAN2(SQRT(POW(SIN(RADIANS(`coor_x` - ".$main_lat.")), 2) +
					COS(RADIANS(".$main_lat.")) * COS(RADIANS(`coor_x`)) * POW(SIN(RADIANS(`coor_y` - ".$main_lgn.") / 2), 2),
                    SQRT(1 - POW(SIN(RADIANS(`coor_x` - ".$main_lat.")), 2)) + 
					COS(RADIANS(".$main_lat.")) * COS(RADIANS(`coor_x`)) * POW(SIN(RADIANS(`coor_y` - ".$main_lgn.") / 2), 2))))";



$main_lat - х координата заданной точки. $main_lgn - y координата заданной точки
coor_x, coor_y - координаты точек из таблицы

подставляю в запрос

Код: php
1.
$sth = $dbh->prepare("SELECT `point_id`, `point_name`, `coor_x`, `coor_y` FROM `points_table`   WHERE (".$formula.") < 1000");



запускаю. выполняется но возвращает пустой запрос. где я ошибся??
...
Рейтинг: 0 / 0
09.10.2015, 15:19:13
    #39073025
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
написать сложное условие
Areostarгде я ошибся??
Форумом ты ошибся. MySQL и JS даже пишутся по-разному.
...
Рейтинг: 0 / 0
09.10.2015, 15:20:11
    #39073027
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
написать сложное условие
Ну и про свою собственную тему выбор точек в определённом радиусе забыл.
...
Рейтинг: 0 / 0
09.10.2015, 15:26:47
    #39073037
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
написать сложное условие
ну а на счёт условия не поодскажите что не правльно
...
Рейтинг: 0 / 0
09.10.2015, 16:21:31
    #39073112
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
написать сложное условие
Продолжение тут - 18259185
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / написать сложное условие / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]