|
|
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
В базе имеется большое количество пар координат точек на гугловских картах. надо получить та из них которые находятся в определённом радиусе от заданной точки. Порылся в документации но единственый способ для нахождения расстояния который нашёл это примерно так: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. но обработка таким способом даже пары сотен пар координат занимает огромное количество времени(по компьютерным меркам). Сделал финт ужами в условиях запроса к базе прописал ограничение по координатам так что выбирается квадрат не намного больше крега который нужно получить! Но всё равно обработка запросов по точному вычислению расстояния занимает по 10-15 секунд а ведь количество точек хранимых в базе может(если проект заработает) может возрасти во много раз! Какие есть возможности повысить скорость обработки запросов? какие приемы и средства можно использовать? Можно ли повысить скорость запросов если перейти с PHP на Python? или что ещё посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 19:04 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Зачем вообще запросы? Если у тебя есть координаты, то считай растояние сам, без гугла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 19:28 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Dima T, рассматривал и такой вариант! Но слишком большая погрешнасть получается! в данном случае и 10 метров большое значение имеют! мне нужно не растояние между населёнными пунктами мерить и растояния между точками скажим на теретории одного небольшого города. а потом желательно ещё и путь по карте проложить! В прочем можно провести эксперемент и установить какая именно погрешность получается! надо цыфры по точнее найти! Тут ещё проблема в том что земля, мягко говоря не совсем шар(не правельная сфера, со значительным искажениями). Ещё предложения!... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 20:12 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
AreostarЕщё предложения!... Запусти все запросы параллельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 20:19 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Dima T, Вот это интнресная мысль!!! В PHP много поточнасть реализованна не так явно как во многих других языках но всё же присутствует! пожалуй сейчас и заимусь проверкой этого предложения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 20:29 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Areostarв данном случае и 10 метров большое значение имеют! за твои 10-15 сек можно эти 10 метров спокойным шагом пройти. Учти еще что точность определения координат имеет погрешность, там тоже десятки метров. ИМХУ при такой точности важнее быстрее ответить, чем точнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 21:12 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Areostar, Я тебе предлагаю еще один финт ужами: Посчитай эти расстояния один раз и запомни их. Появятся новые точки - посчитаешь их тоже. И не мучай несчастных пресмыкающихся, они ни в чем не виноваты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2016, 23:15 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
White Owl, Каких "пресмыкающихся"?? Предложение было бы правельным. Но точка отсчёта задаётся каждый раз заново. Так что не подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 09:14 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
А кто сказал, что google.maps будет считать точно? Погрешность в десятки метров может получаться просто из-за пересчета систем координат. Автор даже не сказал, в какой системе координат у него "координат точек на гугловских картах" в lat / lon или в сферикал меркаторе. Т.ч. предположу, что если у автора "слишком большая погрешнасть получается" в процессе вычислений, он (или библиотека) скорее переводили данные из одной системе координат в другую - на данном пересчете погрешность и набежала. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 13:28 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevА кто сказал, что google.maps будет считать точно? Погрешность в десятки метров может получаться просто из-за пересчета систем координат. Автор даже не сказал, в какой системе координат у него "координат точек на гугловских картах" в lat / lon или в сферикал меркаторе. Т.ч. предположу, что если у автора "слишком большая погрешнасть получается" в процессе вычислений, он (или библиотека) скорее переводили данные из одной системе координат в другую - на данном пересчете погрешность и набежала. IMHO & AFAIK Я пользую lat/lng. Что такое сферикал меркаторе не слышалю сейчас пойду почитаю! Вопросов вобщем 2 1) ускорить скорость обьработки запросов. мне тут посоветовали много поточность использоватью думаю это самое разумное на данный момент 2) как мне сс помощю апи измерять именно расстояние между двумя точкамию тот инструмент что пользую пока измеряет коротчайщий путь с учетом дорог и того как передвигаетесь пешком на велике на машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 14:22 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Spherical Mercator система координат на google map (для отображения). Ребята из google, посчитали землю идеальной сферой. Чем всех остальных, живших до них, картографов очень изумили. С появлением google map, в мире появилась новая система координат. Идеально сферическая. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 19:36 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
AreostarКаких "пресмыкающихся"??Ужи которыми ты финты делаешь. AreostarПредложение было бы правельным. Но точка отсчёта задаётся каждый раз заново. Так что не подойдет. "правИльным". У тебя точка отсчета бегает по миру, да? Ты навигатор что-ли делаешь? Хочешь Гармин с Навителом и Яндексом за пояс заткнуть? Или все-же точек отсечта у тебя много, но их счетное количество? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 19:49 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevАвтор даже не сказал, в какой системе координат у него "координат точек на гугловских картах" в lat / lon или в сферикал меркаторе. у меня есть подозрение, что ты что-то путаешь. Широта и долгота используется в обеих проекциях - нормальный Меркатор (там, где земля - эллипсоид) проекция, которую использует Яндекс и Меркатор на сфере (там где Земля сфера). Причем именно Меркатор на сфере - проекция которую использует Гугл, ОпенСтритМап и так далее. http://habrahabr.ru/post/239251/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2016, 23:56 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Areostar, Ищи по квадрату, потом уже в коде считай честное расстояние и отсекай лишнее. Работать должно быстро, оверхед при равномерном распределении точек примерно 4/3.14 = 27%. Жить можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 00:18 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
AreostarDima T, рассматривал и такой вариант! Но слишком большая погрешнасть получается! в данном случае и 10 метров большое значение имеют! мне нужно не растояние между населёнными пунктами мерить и растояния между точками скажим на теретории одного небольшого города. а потом желательно ещё и путь по карте проложить! В прочем можно провести эксперемент и установить какая именно погрешность получается! надо цыфры по точнее найти! Тут ещё проблема в том что земля, мягко говоря не совсем шар(не правельная сфера, со значительным искажениями). Ещё предложения!... Самое дельное предложение - включить мозг. В предела одного небольшого города земля - плоскость. Если погрешности большие то обратится к специалистам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2016, 23:25 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
mikron, нащёл возможность вычислять через арi(javascript) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2016, 21:24 |
|
||
|
Повысить скорость запросов
|
|||
|---|---|---|---|
|
#18+
Areostar, есть такой паттерн. Мемоизация. При правильном подходе позволяет убрать из вычислений "медленные" функции. Или если если рассматривать GET/JSON запросы как функции то это можно назвать в некотором роде кешем ответов. Я не знаю каковую роль в твоём API играет гуглмепс и что и как и зачем ты получаешь. Но задержка в 10-15 секунд - для современной информационной системы это таймаут недопустимый. Я не знаю какие-такие космические расчёты надо делать чтобы ждать так долго. Смотри в корень зла. Если сервис - медленный. Сгрузи себе все данные и обсчитай локально. Если сервис не даёт такой возможности - ищи другой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2016, 00:03 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39141456&tid=1340830]: |
0ms |
get settings: |
6ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
140ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 438ms |

| 0 / 0 |
