Как добавить коллекцию локаций в группах на основе расстояния 1 км в Python и Geopy - PullRequest
0 голосов
/ 07 января 2019

У меня есть эта коллекция мест в моей стране:

[16.617031000000001, 43.023783000000002]
[16.619153000000001, 43.022115999999997]
[16.636251000000001, 42.908158]
[16.637369, 42.908794]
[16.637530999999999, 42.910482000000002]
[16.640993999999999, 42.910246999999998]
[16.643733000000001, 42.996450000000003]
[16.644290000000002, 42.996529000000002]
[17.156647, 42.627780000000001]
[17.157665999999999, 42.629424999999998]
[17.159151999999999, 42.662188]
[17.159875, 42.641190999999999]
[17.160001342824, 42.662137295043998]
[17.160322000000001, 42.658548000000003]
[17.162386999999999, 42.643904999999997]
[17.164580999999998, 42.642440000000001]
[17.16591, 42.643988999999998]
[17.165977000000002, 42.643341999999997]
[17.167064, 42.641821]
[17.168754, 42.738804999999999]
[17.169236183692, 42.641844724125001]
[17.169450999999999, 42.641821]
[17.169803999999999, 42.739412999999999]
[17.171049, 42.742018000000002]
[17.172422000000001, 42.638486]
[17.288415000000001, 42.601951999999997]
[17.289494000000001, 42.599049000000001]
[17.291642, 42.599277999999998]
[17.382494999999999, 42.455013000000001]
[17.384482999999999, 42.456432]
[17.465401180236999, 44.161039728836002]
[17.469099, 44.160105000000001]
[17.478684000000001, 44.245306999999997]
[17.478845712796002, 44.245746050953997]
[17.482076825223, 44.246298445725998]
[17.496001, 44.341000999999999]
[17.499306853857998, 44.340576175064001]
[17.500387, 44.340761999999998]
[17.503370678576999, 44.339621200196]
[17.528707853838, 44.676766468168999]
[17.532009809605999, 44.676972032122997]
[17.537069022564001, 44.683250039995997]
[17.537095999999998, 44.683266000000003]
[17.537650782109001, 44.685463975784003]
[17.547830999999999, 44.226351000000001]
[17.549821527725001, 44.227078060079997]
[17.557630069734, 44.301085251808999]
[17.558244453265001, 44.304124112554]
[17.575736482703, 44.226326269139001]
[17.576384961201999, 44.225574343543002]
[17.581533535634001, 44.237045865067003]

Я бы хотел поместить их в группы на расстоянии 1 км, по крайней мере, для одного места в группе.

Есть ли способ сделать это с этими данными выше?

Пример выходов:

group1:

24.739208, 46.630674
24.740270, 46.629247
24.740475, 46.632251

group2:

24.746000, 46.618003
24.745240, 46.618357
24.739818, 46.610273

Группа уведомлений2. Третье место находится в 1 км от второго места. Однако при расчете расстояния между третьим и первым местоположением расстояние превышает 1 км. Это просто пример, сделанный вручную, чтобы показать только желаемый результат.

...