google maps - Hierarchical Clustering in JavaScript -


i have markers on google maps , identify clusters point-to-point distance between them. however, having bit of difficulty:

first loop through markers , create array is:

for (var = 0; < markers.length - 1; i++) {       (var j = + 1; j < markers.length; j++) {   var distance_between = google.maps.geometry.spherical.computedistancebetween(point_i, point_j) var valuetopush = {} valuetopush.frommarker = name_i valuetopush.tomarker = name_j valuetopush.distance = distance_between cluster_array.push(valuetopush) } } 

what run hierarchical clustering algorithm this:

var cluster = .cluster(cluster_array, max, threshold) 

where if specify 500 threshold list this

cluster 0: marker a, marker y, marker c

cluster 1: marker b

cluster 2: marker d, marker e

etc.

where each cluster shows me markers within 500 metres of each other.

thanks much

if helps ended doing:

function the_clusterer(cluster_array, num_radius) {     console.log('clustering distance array')     (var = 0; < cluster_array.length - 1; i++) {         if (typeof(cluster_array[i]) != 'undefined') {             var size_outer = 0,                 key_outer;             (key_outer in cluster_array[i]) {                 if (cluster_array[i].hasownproperty(key_outer));                 size_outer++;             }             (var j = 0; j < size_outer; j++) {                 (var k = + 1; k < cluster_array.length; k++) {                     if (typeof(cluster_array[i]) != 'undefined') {                         var size_inner = 0,                             key_inner;                         (key_inner in cluster_array[k]) {                             if (cluster_array[k].hasownproperty(key_inner));                             size_inner++;                         }                         var found_outer = 0                         (var l = 0; l < size_inner; l++) {                             if (found_outer === 1) {                                 break;                             }                             if (cluster_array[k][l] == cluster_array[i][j]) {                                 found_outer++                             }                         }                         if (found_outer > 0) {                             (var l = 0; l < size_inner; l++) {                                 var found_inner = 0                                 (var m = 0; m < size_outer; m++) {                                     if (cluster_array[i][m] == cluster_array[k][l]) {                                         found_inner++                                     }                                 }                                 if (found_inner == 0) {                                     cluster_array[i][size_outer] = cluster_array[k][l]                                     size_outer++                                 }                             }                             delete cluster_array[k];                         }                     }                 }             }         }     }     txtoutput.value += "start clusters: " + num_radius + "m.\n"     var k = 0     (var = 0; < cluster_array.length - 1; i++) {         var size_outer = 0,             key_outer;         (key_outer in cluster_array[i]) {             if (cluster_array[i].hasownproperty(key_outer));             size_outer++;         }         if (size_outer > 0) {             k++             var temp_line = "cluster " + k + ":"             (var j = 0; j < size_outer; j++) {                 temp_line = temp_line + " marker " + cluster_array[i][j]             }             txtoutput.value += temp_line + ".\n"         }     } } 

Comments

Popular posts from this blog

IF statement in MySQL trigger -

c++ - What does MSC in "// appease MSC" comments mean? -

javascript - Blogger related post gadget image Resize s72-c [ Need Expert Help ] -