Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 978 → Rev 979

/trunk/jrest/lib/CartoGroupage.php
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);
}
}