12,8 → 12,12 |
private static $pasCorrectionCentre = null; |
private static $coefficientReductionPas = null; |
private static $coefficientProfondeurMax = null; |
|
private static $nbElements = array('stations' => 0,'communes' => 0, 'observations' => 0); |
|
private static $listeNoeudsSelectionnes = array(); |
|
private static $pointsDejaTraites = array(); |
|
/* |
+---------+---------+ |
29,7 → 33,7 |
Quatres cadrans sont considérés par le quad tree |
* = centre de la fenetre |
*/ |
public static function creerGroupesQuadtree($markers, $neLat, $neLng, $swLat, $swLng, $zoom = 3) { |
public static function creerGroupesQuadtree(&$markers, $neLat, $neLng, $swLat, $swLng, $zoom = 3) { |
|
if(count($markers) > self::$seuilClusterisation) { |
|
78,6 → 82,10 |
} |
} |
|
public static function getNbElements() { |
return self::$nbElements; |
} |
|
/** |
* |
* @param mixed $noeud Le noeud à traiter par le quadtree |
93,8 → 101,11 |
$lngCentre = round((($neLng+$swLng)/2)/self::$pasCorrectionCentre,0)*self::$pasCorrectionCentre; |
|
foreach ($noeud['points'] as &$point) { |
$cadran = self::obtenirCadranPourPoint($latCentre, $lngCentre, $point); |
self::ajouterFils($noeud,$cadran,$point); |
self::$nbElements['observations']++; |
self::$nbElements[$point['type_emplacement']]++; |
unset($point['type_emplacement']); |
$cadran = self::obtenirCadranPourPoint($latCentre, $lngCentre, $point); |
self::ajouterFils($noeud,$cadran,$point); |
} |
|
$profondeur++; |
135,7 → 146,7 |
$noeud[$cadran]['lngMoyenne'] += $point['lng']; |
} |
|
private static function ajouterGroupeOuPoint($noeud) { |
private static function ajouterGroupeOuPoint(&$noeud) { |
$groupe = array(); |
if ($noeud['nbrePoints'] > 1) { |
$groupe['lat'] = $noeud['latMoyenne']/$noeud['nbrePoints']; |
148,7 → 159,7 |
return $groupe; |
} |
|
private static function estUnParentFeuilles($noeud) { |
private static function estUnParentFeuilles(&$noeud) { |
return self::estUneFeuille($noeud['A']) && |
self::estUneFeuille($noeud['B']) && |
self::estUneFeuille($noeud['C']) && |
155,7 → 166,7 |
self::estUneFeuille($noeud['D']); |
} |
|
private static function estUneFeuille($noeud) { |
private static function estUneFeuille(&$noeud) { |
return $noeud == null || ($noeud['A'] == null && $noeud['B'] == null && $noeud['C'] == null && $noeud['D'] == null); |
} |
} |