Работа с гео-координатами

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
В общем, есть список с координатами, типа:
54.4625,19.638611
65.783333,-169.016667
81.843056,59.239444
...
Их сотни тысяч.

Можно ли как-то пакетно обработать N-количество координат и получить по каждом из них страну?
Сейчас на 100к координат приходится делать 100к запросов к сервисам API карт - минусов много, главный из которых время.

То есть например, есть список на 100 координат. После обработки у нас есть список вида:
Франция - 35
Россия - 18
Англия - 47

P.S. Объяснять мне, как подсчитать кол-во совпадений не нужно. Интересует только массовая обработка координат без обращения к каждой в отдельности.
 

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

а не подкините сниппет для обработки геопозиционирования?
 

mux76

Client
Регистрация
13.12.2010
Сообщения
259
Благодарностей
119
Баллы
43
Страну делить на квадраты

По ним уже прогонять координаты

Все что останется уже через апи гонять


По крайней мере я для инсты наподобие шойТо делал
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
можно посмотреть в сторону мат. анализа
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
а не подкините сниппет для обработки геопозиционирования?
Использую обычные кубики для этого.
Вот API запрос: __maps.googleapis.com/maps/api/geocode/json?latlng=ШИРОТА,ДОЛГОТА&sensor=false&language=ru
Страну делить на квадраты
Подскажите, пожалуйста, как это сделать?
 

mux76

Client
Регистрация
13.12.2010
Сообщения
259
Благодарностей
119
Баллы
43
Гео каждого угла


один из квадратов
-16.845746, 28.119917 -16.845746, 29.918993
-18.000480, 28.119917 -18.000480, 29.918993
соответственно получаем массив
 

Вложения

  • Спасибо
Реакции: Fedor5588 и ibred

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

Использую обычные кубики для этого.
Вот API запрос: __maps.googleapis.com/maps/api/geocode/json?latlng=ШИРОТА,ДОЛГОТА&sensor=false&language=ru

Подскажите, пожалуйста, как это сделать?
мне бы еще базу координат небольшую
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

AloneSlamer

Client
Регистрация
29.01.2013
Сообщения
1 404
Благодарностей
362
Баллы
83

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с AloneSlamer какие-либо сделки.

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Гео каждого угла


один из квадратов
-16.845746, 28.119917 -16.845746, 29.918993
-18.000480, 28.119917 -18.000480, 29.918993
соответственно получаем массив
Руками это всё делать, конечно, рутинный труд. Учитывая кол-во стран и то, что форма квадрата не идентична границам страны.
Взять ту же Россию и нарисовать квадрат, то там и Китай, и Казахстан, и Польшу зацепит. Тут скорее подойдут многоугольники, но я ума не приложу, как с ними работать, у меня то и квадраты вызывают ряд вопросов, но хотя бы так - лучше чем 100500 запросов к API :-)

Спасибо!
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

-кластеризация (k-means)
-координаты крайних точек

https://en.wikipedia.org/wiki/Haversine_formula
https://en.wikipedia.org/wiki/Euclidean_distance

google=>geolocation clustering

https://github.com/spember/geo-cluster


на R ищи решение должно быть, возможно даже готовая либа
или на Azure ML посмотри там там похожие кейсы

ну и база есть еще
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/GeoLiteCity-latest.zip

http://stackoverflow.com/questions/21095643/approaches-for-spatial-geodesic-latitude-longitude-clustering-in-r-with-geodesic

п.с выкладывай базу
 
Последнее редактирование:
  • Спасибо
Реакции: mux76

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)