Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Повысить скорость запросов / 18 сообщений из 18, страница 1 из 1
01.01.2016, 19:04
    #39141264
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
В базе имеется большое количество пар координат точек на гугловских картах. надо получить та
из них которые находятся в определённом радиусе от заданной точки.

Порылся в документации но единственый способ для нахождения расстояния который нашёл это примерно так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$ch = curl_init(); 

		curl_setopt($ch, CURLOPT_URL
, "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$lat1."
,".$lng1."&destinations=".$lat2."
,".$lng2."&mode=walking&sensor=true"); 
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
		$result = curl_exec($ch); 
		curl_close($ch);   
	
		$result = json_decode($result, true);



но обработка таким способом даже пары сотен пар координат занимает огромное количество
времени(по компьютерным меркам). Сделал финт ужами в условиях запроса к базе прописал
ограничение по координатам так что выбирается квадрат не намного больше крега который нужно получить!

Но всё равно обработка запросов по точному вычислению расстояния занимает по 10-15
секунд а ведь количество точек хранимых в базе может(если проект заработает) может
возрасти во много раз!

Какие есть возможности повысить скорость обработки запросов?
какие приемы и средства можно использовать?

Можно ли повысить скорость запросов если перейти с PHP на Python?

или что ещё посоветуете?
...
Рейтинг: 0 / 0
01.01.2016, 19:28
    #39141268
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Зачем вообще запросы? Если у тебя есть координаты, то считай растояние сам, без гугла.
...
Рейтинг: 0 / 0
01.01.2016, 20:12
    #39141278
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Dima T,

рассматривал и такой вариант! Но слишком большая погрешнасть получается! в данном случае и 10 метров большое значение имеют! мне нужно не растояние между населёнными пунктами мерить и растояния между точками скажим на теретории одного небольшого города. а потом желательно ещё и путь по карте проложить!

В прочем можно провести эксперемент и установить какая именно погрешность получается! надо цыфры по точнее найти! Тут ещё проблема в том что земля, мягко говоря не совсем шар(не правельная сфера, со значительным искажениями).

Ещё предложения!...
...
Рейтинг: 0 / 0
01.01.2016, 20:19
    #39141281
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
AreostarЕщё предложения!...
Запусти все запросы параллельно.
...
Рейтинг: 0 / 0
01.01.2016, 20:29
    #39141283
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Dima T,

Вот это интнресная мысль!!!

В PHP много поточнасть реализованна не так явно как во многих других языках но всё же присутствует!

пожалуй сейчас и заимусь проверкой этого предложения!
...
Рейтинг: 0 / 0
01.01.2016, 21:12
    #39141289
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Areostarв данном случае и 10 метров большое значение имеют!
за твои 10-15 сек можно эти 10 метров спокойным шагом пройти. Учти еще что точность определения координат имеет погрешность, там тоже десятки метров.

ИМХУ при такой точности важнее быстрее ответить, чем точнее.
...
Рейтинг: 0 / 0
01.01.2016, 23:15
    #39141321
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Areostar,

Я тебе предлагаю еще один финт ужами: Посчитай эти расстояния один раз и запомни их. Появятся новые точки - посчитаешь их тоже.
И не мучай несчастных пресмыкающихся, они ни в чем не виноваты.
...
Рейтинг: 0 / 0
02.01.2016, 09:14
    #39141358
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
White Owl,

Каких "пресмыкающихся"??

Предложение было бы правельным. Но точка отсчёта задаётся каждый раз заново. Так что не подойдет.
...
Рейтинг: 0 / 0
02.01.2016, 13:28
    #39141392
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
А кто сказал, что google.maps будет считать точно?

Погрешность в десятки метров может получаться просто из-за пересчета систем координат. Автор даже не сказал, в какой системе координат у него "координат точек на гугловских картах" в lat / lon или в сферикал меркаторе.

Т.ч. предположу, что если у автора "слишком большая погрешнасть получается" в процессе вычислений, он (или библиотека) скорее переводили данные из одной системе координат в другую - на данном пересчете погрешность и набежала. IMHO & AFAIK
...
Рейтинг: 0 / 0
02.01.2016, 14:22
    #39141403
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Leonid KudryavtsevА кто сказал, что google.maps будет считать точно?

Погрешность в десятки метров может получаться просто из-за пересчета систем координат. Автор даже не сказал, в какой системе координат у него "координат точек на гугловских картах" в lat / lon или в сферикал меркаторе.

Т.ч. предположу, что если у автора "слишком большая погрешнасть получается" в процессе вычислений, он (или библиотека) скорее переводили данные из одной системе координат в другую - на данном пересчете погрешность и набежала. IMHO & AFAIK

Я пользую lat/lng. Что такое сферикал меркаторе не слышалю сейчас пойду почитаю!

Вопросов вобщем 2

1) ускорить скорость обьработки запросов. мне тут посоветовали много поточность использоватью думаю это самое разумное на данный момент

2) как мне сс помощю апи измерять именно расстояние между двумя точкамию тот инструмент что пользую пока измеряет коротчайщий путь с учетом дорог и того как передвигаетесь пешком на велике на машине.
...
Рейтинг: 0 / 0
02.01.2016, 19:36
    #39141456
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Spherical Mercator система координат на google map (для отображения). Ребята из google, посчитали землю идеальной сферой. Чем всех остальных, живших до них, картографов очень изумили. С появлением google map, в мире появилась новая система координат. Идеально сферическая.

IMHO & AFAIK
...
Рейтинг: 0 / 0
02.01.2016, 19:49
    #39141457
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
AreostarКаких "пресмыкающихся"??Ужи которыми ты финты делаешь.

AreostarПредложение было бы правельным. Но точка отсчёта задаётся каждый раз заново. Так что не подойдет.
"правИльным".
У тебя точка отсчета бегает по миру, да? Ты навигатор что-ли делаешь? Хочешь Гармин с Навителом и Яндексом за пояс заткнуть?
Или все-же точек отсечта у тебя много, но их счетное количество?
...
Рейтинг: 0 / 0
02.01.2016, 23:56
    #39141492
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Leonid KudryavtsevАвтор даже не сказал, в какой системе координат у него "координат точек на гугловских картах" в lat / lon или в сферикал меркаторе.

у меня есть подозрение, что ты что-то путаешь.
Широта и долгота используется в обеих проекциях - нормальный Меркатор (там, где земля - эллипсоид) проекция, которую использует Яндекс
и Меркатор на сфере (там где Земля сфера).
Причем именно Меркатор на сфере - проекция которую использует Гугл, ОпенСтритМап и так далее.

http://habrahabr.ru/post/239251/
...
Рейтинг: 0 / 0
04.01.2016, 00:18
    #39141793
scf
scf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Areostar,

Ищи по квадрату, потом уже в коде считай честное расстояние и отсекай лишнее. Работать должно быстро, оверхед при равномерном распределении точек примерно 4/3.14 = 27%. Жить можно.
...
Рейтинг: 0 / 0
04.01.2016, 23:25
    #39142175
mikron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
AreostarDima T,

рассматривал и такой вариант! Но слишком большая погрешнасть получается! в данном случае и 10 метров большое значение имеют! мне нужно не растояние между населёнными пунктами мерить и растояния между точками скажим на теретории одного небольшого города. а потом желательно ещё и путь по карте проложить!

В прочем можно провести эксперемент и установить какая именно погрешность получается! надо цыфры по точнее найти! Тут ещё проблема в том что земля, мягко говоря не совсем шар(не правельная сфера, со значительным искажениями).

Ещё предложения!...

Самое дельное предложение - включить мозг. В предела одного небольшого города земля - плоскость. Если погрешности большие то обратится к специалистам.
...
Рейтинг: 0 / 0
07.01.2016, 21:24
    #39143132
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
mikron,

нащёл возможность вычислять через арi(javascript)
...
Рейтинг: 0 / 0
09.01.2016, 00:03
    #39143683
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
Areostar, есть такой паттерн. Мемоизация. При правильном подходе позволяет убрать
из вычислений "медленные" функции. Или если если рассматривать GET/JSON
запросы как функции то это можно назвать в некотором роде кешем ответов.

Я не знаю каковую роль в твоём API играет гуглмепс и что и как и зачем
ты получаешь. Но задержка в 10-15 секунд - для современной информационной
системы это таймаут недопустимый. Я не знаю какие-такие космические
расчёты надо делать чтобы ждать так долго.

Смотри в корень зла. Если сервис - медленный. Сгрузи себе все данные и обсчитай локально.
Если сервис не даёт такой возможности - ищи другой.
...
Рейтинг: 0 / 0
09.01.2016, 09:40
    #39143725
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повысить скорость запросов
mayton,

Спасибо за совет!
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Повысить скорость запросов / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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