Географические регионы группы N в зависимости от их расстояния - PullRequest
0 голосов
/ 28 мая 2020

Я решаю проблему, в которой у меня есть массив географических регионов n (широта, долгота, радиус). Предположим, у меня есть 10 географических регионов. Теперь мне нужно сгруппировать эти ближайшие 10 регионов как N кластер. Например,

val list: List = 0 ... 10

val group: Map = findNearest (list: List, cluster: Int)

Я ожидаю от этого, если область A и C вместе, затем давайте сгруппируем их вместе и создадим кластер. Если B и D близки по отношению к расстоянию, образуют кластер. И если cluster было 3, тогда. Я должен получить 3 clusters, так как выход 3 из них находятся близко друг к другу, например [A, E, C, L], [B, F, H, J], [X, O]

Итак, чего я добился, мне удалось найти расстояние как нижнюю диагональную матрицу, описанную здесь. https://www.researchgate.net/figure/Distance-matrix-of-symmetric-TSP-of-8-cities_fig1_275947104

Моя проблема: я применил https://github.com/lbehnke/hierarchical-clustering-java, но он просто автоматически создает количество кластеров, а дочерний кластер зависит от родительского кластера, но я хочу рассматривать каждый кластер как отдельную личность. как я показал выше. Может ли кто-нибудь помочь мне с этим? Предположим, что если размер cluster равен 4, я должен получить это enter image description here

...