powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Повысить скорость запросов
18 сообщений из 18, страница 1 из 1
Повысить скорость запросов
    #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
Повысить скорость запросов
    #39141268
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вообще запросы? Если у тебя есть координаты, то считай растояние сам, без гугла.
...
Рейтинг: 0 / 0
Повысить скорость запросов
    #39141278
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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