@botoid

Страница 997 из 4042
Serg
02.07.2017
19:38:30
И я бы стал, черт ео знает
и тут надо смотреть на производительность - если у вас апи для поиска магазинов в радиусе 3 км, то формула на сфере против обычной при сотке другой запросов в секунду.... тут заставляет подумать на счет нагрузки

Magic
02.07.2017
19:38:34
и в цикле сравнивай расстояние

и вытаскивай то у которого разница в 3км

формула: function geoDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000) { $latFrom = deg2rad($latitudeFrom); $lonFrom = deg2rad($longitudeFrom); $latTo = deg2rad($latitudeTo); $lonTo = deg2rad($longitudeTo); $latDelta = $latTo - $latFrom; $lonDelta = $lonTo - $lonFrom; $angle = 2 * asin(sqrt(pow(sin($latDelta / 2) , 2) + cos($latFrom) * cos($latTo) * pow(sin($lonDelta / 2) , 2))); return $angle * $earthRadius; }

Google
Карабанов
02.07.2017
19:39:46
и в цикле сравнивай расстояние
Понятно, генератором. Но вопрос - я правильно понимаю, что копать по ссылке, что я привел или где почитать про математику?

Ололо

Magic
02.07.2017
19:40:02
читать про математику, либо взять функцию выше

Карабанов
02.07.2017
19:40:08
Спасибо, пошел в питон колдовать

Magic
02.07.2017
19:40:19
вернет расстояние в метрах кажется. Это на пхп если

На питоне формула та же, синтаксис только чуть другой

а вообще

подобные вопросы в духе "geo distance phyton" легко гуглятся

Спасибо, пошел в питон колдовать
https://stackoverflow.com/questions/15736995/how-can-i-quickly-estimate-the-distance-between-two-latitude-longitude-points

Карабанов
02.07.2017
19:42:14
https://stackoverflow.com/questions/15736995/how-can-i-quickly-estimate-the-distance-between-two-latitude-longitude-points
Спасибо! Я снова хотел колесо изобрести. Спасибо

Serg
02.07.2017
19:47:05
Google
Magic
02.07.2017
19:48:00
мизерная все равно

Serg
02.07.2017
19:48:12
а если это помножить на 300 магазинов.... на 286 бы вас посадить комп....

мизерная все равно
1 бабушка - 10 копеек 10 бабушек - уже рубль

Magic
02.07.2017
19:49:16
у меня в базе тысяч 10+ адресов клиентов одной компании. по запросу в боте он выдает ближайших. использую формулу выше, задержек нет

математические функции типа умножить поделить возвести в квадрат или sin/cos не требуют много

Serg
02.07.2017
19:52:01
вот и винда.... с каждым годом в ней ничего лучше не добавляется, а оперативы и процессора жрет все больше, т.к. программисты думают, что пользователь поставит проц пожирнее и все расчеты без задержек сделаются

Serg
02.07.2017
19:55:07
Хз ничего не лагает и даже шустрее стало
а системник какого года сборки? этак 2000го бы!!! с 128мб оперативы

M
02.07.2017
19:55:11
Божечки кошечки, в 2К17 велосипедят. Есть же PostGIS, при условии что вы прекрасной PostgreSQL пользуетесь)

Serg
02.07.2017
19:55:24
и вин 95\98 летали

M
02.07.2017
19:55:43
DOS

Serg
02.07.2017
19:56:29
Божечки кошечки, в 2К17 велосипедят. Есть же PostGIS, при условии что вы прекрасной PostgreSQL пользуетесь)
вот и начинается... что современные программисты без либ ничего не могут сделать сами. Ищут библиотеку, которая что-то и как-то сделает.

Quarx2k ?
02.07.2017
19:56:42
а системник какого года сборки? этак 2000го бы!!! с 128мб оперативы
Ну если уж такой системник, то он не имеет права на жизнь в 2017

Magic
02.07.2017
19:56:44
Serg
02.07.2017
19:56:57
там гис, там либа, там еще какая хрень

Bohdan
02.07.2017
19:57:03
Google
Quarx2k ?
02.07.2017
19:57:19
Чё не имеет? Всему применение найдётся
Может но не в таком стиле как современные пк

Magic
02.07.2017
19:58:15
Современные программисты работают на бизнес. Бизнес не требует задержек по времени
Давайте для каждой сопливой задачи тянуть за собой все либы и фреймворки?) И тогда наше приложение разрастется и будет жирным, зато будет уметь все, даже то, что не нужно)

Bohdan
02.07.2017
19:58:17
Может но не в таком стиле как современные пк
А у современных ПК есть стиль применения?

Это же универсальные ЭВМ

M
02.07.2017
19:58:25
вот и начинается... что современные программисты без либ ничего не могут сделать сами. Ищут библиотеку, которая что-то и как-то сделает.
Лол, там всё оптимизировано, есть примитивы для этих задачь. Нет хотят из себя учёных строить и косинусы считать. ОК, знаешь как оно считается - достаточно, иметь поддержку GIS На уровне СУБД это очень круто, хотя, я опять доказываю анониму очевидные вещи...

Quarx2k ?
02.07.2017
19:59:06
А у современных ПК есть стиль применения?
Я не думаю что на ПК 2000 года можно спокойно писать код в идее под тот же андроид

Bohdan
02.07.2017
19:59:39
Я в виме писал под Android

M
02.07.2017
19:59:46
@temamagic Я с тобой не разговариваю, ты вызываешь дикое желание холливарить. Либо ты дурак, либо тролль. С такими типами собеседников мне не интересно дискутировать. Спасибо.

Bohdan
02.07.2017
19:59:53
Довольно крупный проект допиливал

Quarx2k ?
02.07.2017
20:00:24
Я в виме писал под Android
Ну это уже особый вид пор..разработки. я такой не люблю

Bohdan
02.07.2017
20:00:34
Плюс идею можно пускать на удалённом хосте и подключаться через RDP/VNC

Bohdan
02.07.2017
20:01:04
Ну это уже особый вид пор..разработки. я такой не люблю
Ну если в наличии есть только такое железо, вопрос любишь/не любишь не применим

Magic
02.07.2017
20:01:08
детский сад ромашка "я с тобой не разговариваю" ))

Никто не спорит, как выше сказали, что можно решать всякими гисами и прочим. Но ты обязан это уметь делать руками.

Иначе найдешь проблему под которую нет готового решения и встанешь на месте как баран

Google
Serg
02.07.2017
20:02:33
M
02.07.2017
20:02:42
ВО как, т.е ты не можешь решить простецкие задачи без доп.средств а я дурак и тролль?) Ладно)
Я могу. Но поверь, для хайлоад такие вот велосипеды покажут себя не с лучшей стороны. Пример из жизни, у тебя много этих самых магазинов, зачем гнать всё это из БД, делать рассчёты на клиенте, когда можно всё отфильтровать на стороне СУБД используя модуль, который для таких задач уже де факто стандарт.

Magic
02.07.2017
20:02:43
О чем и ведем речь с @SergAHell

M
02.07.2017
20:03:06
Просто окей если 300 записей, но когда из 3000000, ты что, на клиент их будешь тянуть?

M
02.07.2017
20:03:11
Это же не рационально.

Карабанов
02.07.2017
20:03:53
https://stackoverflow.com/questions/15736995/how-can-i-quickly-estimate-the-distance-between-two-latitude-longitude-points
Я попробовал. Вопрос. Тупо беру я.карты, беру 2 пары координат lon1 = 55.729259 lat1 = 37.455234 lon2 = 55.732571 lat2 = 37.460727 Яндекс линейкой говорит, что расстояние = 0.504м, прогоняю через скрипт, получаю d = 0.67

Magic
02.07.2017
20:03:56
Никто не говорит о 300000000000 записей. Человеку нужно решение. Пусть сначала научится так. а потом применяет еще методы. Никто не говори что это плохо. Тебе говорят что ты должен понимать как это работает

Serg
02.07.2017
20:04:04
Это же не рационально.
представь - тебя взали на работу в PostGIS! Дописывать систему подешь?

M
02.07.2017
20:04:34
Прикалываешься сейчас? на клиенте? прикалываешься?
А как ты свои йобы вычисления будешь в БД делать? Хранимую процедуру писать? Костылить по стандарту всё? Зачем ставить себе палки в колёса?)

лол, работать в PostGIS

Serg
02.07.2017
20:05:30
PostGIS это модуль GIS для СУБД PostgreSQL
да я условно выразился.... просто вопрос - пойдешь дописывать модуль?

Magic
02.07.2017
20:05:37
PostGIS это модуль GIS для СУБД PostgreSQL
а ты думаешь его дядьки тоже готовыми модулями пишут?

Карабанов
02.07.2017
20:05:44
погрешность. либо ищи радиус земли)) Либо забей. не большая погрешность
главное чтобы не линейная =) пойду на бОльшем расстоянии прогоню

Magic
02.07.2017
20:06:15
Они делают все формулами, что бы такой упрямый как ты сидел и доказывал что постгис тру, а формулы нет!

M
02.07.2017
20:06:33
а ты думаешь его дядьки тоже готовыми модулями пишут?
Исходники открытые, кому надо - глянет, кому нужно решить задачу, возмет модуль и решит.

Magic
02.07.2017
20:06:51
ты узко мыслишь походу

Google
M
02.07.2017
20:07:23
Они делают все формулами, что бы такой упрямый как ты сидел и доказывал что постгис тру, а формулы нет!
Стопэ, ты уже софистику применяешь, это не честно! Я тебе говорю, что формулы не тру и на > 300 записей автор соснёт, ибо на клиенте это не нужно считать.

M
02.07.2017
20:08:17
А где он считать будет, в СУБД, прям вот так и вставит в SQL: from math import radians, cos, sin, asin, sqrt def haversine(lon1, lat1, lon2, lat2): """ Calculate the great circle distance between two points on the earth (specified in decimal degrees) """ # convert decimal degrees to radians lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2]) # haversine formula dlon = lon2 - lon1 dlat = lat2 - lat1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * asin(sqrt(a)) km = 6367 * c return km

?))

Serg
02.07.2017
20:09:08
С удовольствием, Open Source это кайф!
так вот тебя подводят к мысли - если ты нормальный программист то ты можешь без либ сам сделать то, что надо, а можешь и с либами .... И как минимум понимаешь разницу в использовании и понимаешь риски, т.к. можешь представить как сделана либа и что в ней хорошего и не хорошего а вот мы говорим про "недо" - которы ТОЛЬКО с либами могут писать и не понимают как это все работает в реальности, т.е. те, кого готовили в универе под одну задачу, которые на проекте не смогут работать тимлидами никогда, которые только могут из пазлов наковырять проект. А если пазл не подходит - ищут другой.

Карабанов
02.07.2017
20:09:46
Прогнал на расстоянии фактическом (яндекс) 1.2, получил скриптом 1.6 При расстоянии 3 км (яндкс), скриптом - 2.4. В целом - посмотрел, уже больше 1км ни кто не пойдёт, если это не магазины с водкой 24

Magic
02.07.2017
20:10:15
ты что то путаешь

Поверь сможет

Magic
02.07.2017
20:10:26
увы полно таких

питон клиент субд
питон это язык. Причем нихерово быстрый

в контексте этой задачи ему даром не сдались левые модули

M
02.07.2017
20:11:47
питон это язык. Причем нихерово быстрый
3М записей достать в питон чтобы расстояние? сильно

Magic
02.07.2017
20:12:24
и как скзано ранее мы говорим о тех кто не умеют делать сами ничего а не про то что использовать готовые инструменты - плохо

перечитай если интересно переписку чата

@SergAHell и я тебе не однократно говорим одно а ты другое

Sergey
02.07.2017
20:13:01
Magic
02.07.2017
20:13:15
и пожалуй я ливну отдыхать)

Страница 997 из 4042