Перейти к содержимому

MOAB

- - - - -

Расстояние от МКАД в км. PHP


  • Войдите, чтобы ответить
Сообщений в теме: 11

#1 KaSH

KaSH

    Инструктор по счастью

  • Основатель
  • PipPipPipPip
  • 1 280 сообщений
2 115
  • Изморя и с гор

Отправлено 08 Декабрь 2016 - 13:17

Всем привет! Делитесь опытом, кто в теме.

Задача банальная. Подключаю велосипед к "заказ на Маркете" по API.
Там все понятно, есть документация, и т.п. ( https://tech.yandex....ethods-docpage/ )
Только вот проблема. Доставка, у большинства магазинов (и в моем случае тоже) за МКАД, расчитывается как стоимость доставки + NN рублей за 1км. от МКАД.

С помощью API яндекс-карт ( https://tech.yandex.ru/maps/staticapi/ ) я могу узнать координаты точки за МКАД, куда нужно вести товар.
Если обрисовать МКАД как полигон, и найти расстояние до МКАД по прямой - с этим проблем нет, тут все просто.
Но мне нужно расстояние по дорогам.

Просто если не посчитать правильно эти км., особо свирепые пользователи спокойно могут жаловаться в Яндекс, мол, нам сразу не правильно посчитали стоимость доставки. И Яндекс дает магазину ошибку.
А забивать на это, ограничиваясь только регионом Москва, причем тем, что внутри МКАД, как-то не по фен-шую.

В общем, прошу помощи у тех, кто в теме, ибо поиск мне так и не дал ответа. :(
Есть координаты точки в замкадье, нужно одним запросом из php-скрипта узнать расстояние до МКАД в км., желательно, как можно более точно.
Есть вещи получше качалки, сноуборда, виндсерфинга, кайтсерфинга, роликов, батута, танцев... Но я о них никогда не слышал Изображение
Серьезные сайты размещаю на VPS, простые в TimeWeb. Старые, более ненужные мне сайты я продаю на Телдери. Бухгалтерию и отчеты в налоговую за меня делает Эльба.

#2 protector

protector

    Почетный

  • Основатель
  • PipPipPipPipPip
  • 2 631 сообщений
1 259
  • ИзСанкт-Петербурга

Отправлено 08 Декабрь 2016 - 14:38

Вот тут можете посмотреть пример - http://www.evakuacija.ru/ ) Вроде работает.

#3 Дартаньян

Дартаньян

    во имя матана

  • Участник
  • PipPipPipPipPip
  • 4 733 сообщений
5 854
  • ИзКрии

Отправлено 08 Декабрь 2016 - 19:36

https://developers.g...rix/intro?hl=ru

У Яндекса такое есть только в js-апи, т.е. к урлам подцепиться можно, но ничто не гарантирует что они не отвалятся.

#4 KaSH

KaSH

    Инструктор по счастью

  • Основатель
  • PipPipPipPip
  • 1 280 сообщений
2 115
  • Изморя и с гор

TC Отправлено 09 Январь 2017 - 14:53

Апну. Вдруг кому интересно :)

Просмотр сообщенияprotector (08 Декабрь 2016 - 14:38) писал:

Вот тут можете посмотреть пример - http://www.evakuacija.ru/ ) Вроде работает.
Мне нужно именно запросом. Именно из php-скрипта. То что работает через JS - все это я нашел у Яндекса. Но мне нужно рассчитывать расстояние от МКАД на основе адреса, который Яндекс передает запросом от своей "покупки на маркете", и тут же выдавать ему ответ. Ответ генерирует php-скрипт.

Просмотр сообщенияДартаньян (08 Декабрь 2016 - 19:36) писал:

https://developers.g...rix/intro?hl=ru
У Яндекса такое есть только в js-апи, т.е. к урлам подцепиться можно, но ничто не гарантирует что они не отвалятся.
Гугл... И еще и за деньги... Спасибо. Но, сам понимаешь, хочется бесплатно :)
К тому что может отвалиться (Яндекс примерно так же ответил кому-то, кто спрашивал их об этом у них в вебмастерской), цепляться стремно.
Это означает следующие риски:
- если я продолжу поддерживать этот сайт, то в какой-то момент раздастся звонок и вопль - "все пропало, ниче не работает, поправь все скорее, мы все погибнем".
- если я не продолжу поддерживать этот сайт, примерно то же самое, только еще с претензиями, что я впарил им какое-то неработающее ХЗ что.


В общем, пока решил так: просто посчитал расстояние по прямой, и накинул 3 км. Погрешность, в подавляющем большинстве случаев, вполне допустимая. Уже почти месяц, пока никто не жаловался :)

P.S. Они со своим "заказом на Маркете" могли бы пойти на встречу Москвичам (огромная доля заказов), передавая какие-то характерные для Московского региона параметры (типа расстояния от МКАД) в запросе. Все бы вздохнули с облегчением. А так, пока искал - вопрос как это читать частый, ответов вменяемых не много.
Есть вещи получше качалки, сноуборда, виндсерфинга, кайтсерфинга, роликов, батута, танцев... Но я о них никогда не слышал Изображение
Серьезные сайты размещаю на VPS, простые в TimeWeb. Старые, более ненужные мне сайты я продаю на Телдери. Бухгалтерию и отчеты в налоговую за меня делает Эльба.

#5 SEOBot

SEOBot

    MFA

  • Старая гвардия
  • PipPipPipPipPip
  • 1 534 сообщений
979
  • Известный тунеядец

Отправлено 09 Январь 2017 - 18:36

А нельзя просто построить маршрут в MAPS.YANDEX и дергать из него данные? Может CURLом каким нить, если в API нет функций по расчету маршрута от точки А до точки Б. Там же выставляешь координату начальную и конечную и в УРЛе GET параметр &rtt= (auto - машина, pd - пешком). В принципе можно брать параметр для пешехода и пускать туда велик))
Иногда надо имитировать крушение корабля, чтобы с него сбежали крысы.
В работе использую: Топвизор | Полезное и нужное

#6 AdisPrint

AdisPrint

    Почетный

  • Активный участник
  • PipPipPipPipPip
  • 2 162 сообщений
1 770

Отправлено 09 Январь 2017 - 19:08

KaSH, А такая точность вообще нужна, чтобы прям по дорогам? Во первых для магазина, с точки зрения подсчета расходов на бензин все равно будет не точно. Пробки там, разные клиенты, разный порядок развоза... отсюда все равно маршрут будет отличаться от посчитанного. Особо вредные юзеры один хрен найдут неточность, или орфографическую ошибку или цвет не понравится, в общем жалобщики всегда найдут повод пожаловаться. Может Как Вы сами и сказали, по прямой. Разделить просто на зоны и прикинуть средний чек доставки в зону.
СНПЧ, чернила, картриджи, фотобумага для принтеров и МФУ - AdisPrint.ru

#7 KaSH

KaSH

    Инструктор по счастью

  • Основатель
  • PipPipPipPip
  • 1 280 сообщений
2 115
  • Изморя и с гор

TC Отправлено 10 Январь 2017 - 01:36

Просмотр сообщенияSEOBot (09 Январь 2017 - 18:36) писал:

А нельзя просто построить маршрут в MAPS.YANDEX и дергать из него данные? Может CURLом каким нить, если в API нет функций по расчету маршрута от точки А до точки Б. Там же выставляешь координату начальную и конечную и в УРЛе GET параметр &rtt= (auto - машина, pd - пешком). В принципе можно брать параметр для пешехода и пускать туда велик))
Не понял, как построить?
Через API Яндекса можно зная адрес (он передает адрес в запросе) получить координаты. Зная координаты места назначения, и координаты полигона, который обрисовывает МКАД, можно узнать, точка находиться за МКАД или внутри. Дальше начинается какая-то магия.
Можно взять условный центр Москвы, построить из него прямую, посмотреть где она пересекается с МКАД. И посмотреть сколько от пересечения до точки назначения по прямой.
А вот чтобы построить из условного центра маршрут до конечной точки, это нужно использовать что-то... что? Отправить куда-то запрос, чтобы там построили маршрут, вернули какие-то данные. Куда?
Вариант с Гуглом, в принципе, катит. Однако, нужно просто, бесплатно, без смс.

Просмотр сообщенияAdisPrint (09 Январь 2017 - 19:08) писал:

KaSH, А такая точность вообще нужна, чтобы прям по дорогам? Во первых для магазина, с точки зрения подсчета расходов на бензин все равно будет не точно. Пробки там, разные клиенты, разный порядок развоза... отсюда все равно маршрут будет отличаться от посчитанного. Особо вредные юзеры один хрен найдут неточность, или орфографическую ошибку или цвет не понравится, в общем жалобщики всегда найдут повод пожаловаться. Может Как Вы сами и сказали, по прямой. Разделить просто на зоны и прикинуть средний чек доставки в зону.
Точность желательна. Я сам живу за пределами МКАД. Знаю о проблеме не по наслышке.
Что касается остального - мопед-то ведь не мой. :) У большинства Московских магазинов, если везут за МКАД, добавляют + NN рублей за км. считают все с разной долей погрешности, конечно. Но в целом, довольно точно. Так как те же Яндекс-карты, которыми пользуется большое количество менеджеров магазинов, позволяют считать все это быстро и просто. Проблема в том, чтобы расчет менеджера, и автоматический расчет как можно реже расходились.
В принципе, пока обходятся как-то без особой точности. Однако, в какой-то момент мне просто было интересно уже решить эту задачу.

На зоны бить тоже можно. Только тогда мне придется строить полигоны, очерчивая эти зоны, и проверять, в какой попадет точка доставки... Да ну нафиг.
Координаты МКАД-то я не сам составлял, взял из интернетиков.
Поэтому данную идею подкидывать никому не буду. :-D
Есть вещи получше качалки, сноуборда, виндсерфинга, кайтсерфинга, роликов, батута, танцев... Но я о них никогда не слышал Изображение
Серьезные сайты размещаю на VPS, простые в TimeWeb. Старые, более ненужные мне сайты я продаю на Телдери. Бухгалтерию и отчеты в налоговую за меня делает Эльба.

#8 SEOBot

SEOBot

    MFA

  • Старая гвардия
  • PipPipPipPipPip
  • 1 534 сообщений
979
  • Известный тунеядец

Отправлено 10 Январь 2017 - 14:22

https://yandex.ru/maps/213/moscow/?mode=routes&rtext=55.798955%2C37.519117~55.749547%2C37.543021&rtt=pd&ll=37.500686%2C55.776840&z=13

ну вот в rtext - координаты подставляешь &rtext=начальная_точка_Северной%2Cначальная_тока_Восточной~конченая_точка_Северной%2Cконечная_точка_Восточной
Иногда надо имитировать крушение корабля, чтобы с него сбежали крысы.
В работе использую: Топвизор | Полезное и нужное

#9 KaSH

KaSH

    Инструктор по счастью

  • Основатель
  • PipPipPipPip
  • 1 280 сообщений
2 115
  • Изморя и с гор

TC Отправлено 10 Январь 2017 - 16:57

Просмотр сообщенияSEOBot (10 Январь 2017 - 14:22) писал:

ну вот в rtext - координаты подставляешь &rtext=начальная_точка_Северной%2Cначальная_тока_Восточной~конченая_точка_Северной%2Cконечная_точка_Восточной
Не очень подходит, так как:
- нужно как-то найти еще ближайший к точке со МКАД съезд, иначе, можно считать от точки пересечения прямой, идущей от центра до нужного места с МКАД, но тогда погрешность может быть довольно большой.
- отдает полностью страницу, которую нужно парсить. Не сложно парсить, но идет стремная привязка к коду страницы, возвращаемой Яндексом
- это не изящно, не красиво и т.п. :)
Есть вещи получше качалки, сноуборда, виндсерфинга, кайтсерфинга, роликов, батута, танцев... Но я о них никогда не слышал Изображение
Серьезные сайты размещаю на VPS, простые в TimeWeb. Старые, более ненужные мне сайты я продаю на Телдери. Бухгалтерию и отчеты в налоговую за меня делает Эльба.

#10 SEOBot

SEOBot

    MFA

  • Старая гвардия
  • PipPipPipPipPip
  • 1 534 сообщений
979
  • Известный тунеядец

Отправлено 27 Январь 2017 - 09:52

https://habrahabr.ru/post/320562/
Иногда надо имитировать крушение корабля, чтобы с него сбежали крысы.
В работе использую: Топвизор | Полезное и нужное

#11 terminus24

terminus24

    Новенький

  • Новичок
  • Pip
  • 2 сообщений

Отправлено 16 Март 2017 - 03:48

если мне нужно просчитать расстояние за МКАД (для правильного просчета стоимости доставки) всегда пользуюсь сайтом курьерской службы, там очень удобно просчитывает весь маршрут по дорогам и показывает количество км за МКАД

#12 KaSH

KaSH

    Инструктор по счастью

  • Основатель
  • PipPipPipPip
  • 1 280 сообщений
2 115
  • Изморя и с гор

TC Отправлено 16 Март 2017 - 11:51

Просмотр сообщенияSEOBot (27 Январь 2017 - 09:52) писал:

С координатами там проблем нет. Для одного адреса их и яндекс определяет очень даже ничего :)

Просмотр сообщенияterminus24 (16 Март 2017 - 03:48) писал:

если мне нужно просчитать расстояние за МКАД (для правильного просчета стоимости доставки) всегда пользуюсь сайтом курьерской службы, там очень удобно просчитывает весь маршрут по дорогам и показывает количество км за МКАД
Прекрасно. Только вот нужно, чтобы это было сделано очень быстро по запросу из php-скрипта.

К слову, внятного бесплатного решения я так и не нашел. Хотя давно уже и не ищу. Расстояние по прямой от МКАД, которое можно посчитать зная координаты, + 2-3 км. на всякий случай, дают удовлетворительный результат.
Есть вещи получше качалки, сноуборда, виндсерфинга, кайтсерфинга, роликов, батута, танцев... Но я о них никогда не слышал Изображение
Серьезные сайты размещаю на VPS, простые в TimeWeb. Старые, более ненужные мне сайты я продаю на Телдери. Бухгалтерию и отчеты в налоговую за меня делает Эльба.


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных



© 2017 SMO&SEO форум «WEBIMHO» — продвижение и создание сайтов, интернет-маркетинг

По вопросам рекламы на форуме и цены на рекламу
Все материалы SEO форума разрешены к копированию только с установкой гиперактивной ссылки на webimho.ru,
тем, кто этого не сделает, мы оторвем руки и ноги и поменяем местами,
а когда выйдем из тюрьмы, опять оторвем и опять поменяем.


Россия, г. Москва

Мы в соцсетях: twitter | вконтакте | facebook | livejournal