76,7 → 76,8 |
|
private function calculerProfondeurMax($zoom) { |
if($zoom > self::$zoomDefaut) { |
self::$profondeurMax = round(($zoom - self::$zoomDefaut) * self::calculerCoefficientProfondeurMax() + self::$profondeurMin,0); |
//self::$profondeurMax = round(($zoom - self::$zoomDefaut) * self::calculerCoefficientProfondeurMax() + self::$profondeurMin,0); |
self::$profondeurMax = $zoom-1; |
} else { |
self::$profondeurMax = 1; |
} |
96,13 → 97,14 |
* @param int $profondeur profondeur courante de l'arbre |
*/ |
private static function attribuerAuCadran(&$noeud, $neLat, $neLng, $swLat, $swLng, $profondeur = 0) { |
|
$latCentre = round((($neLat+$swLat)/2)/self::$pasCorrectionCentre,0)*self::$pasCorrectionCentre; |
$lngCentre = round((($neLng+$swLng)/2)/self::$pasCorrectionCentre,0)*self::$pasCorrectionCentre; |
|
foreach ($noeud['points'] as &$point) { |
self::$nbElements['observations']++; |
if (isset($point['type_emplacement'])) { |
self::$nbElements[$point['type_emplacement']]++; |
} |
unset($point['type_emplacement']); |
$cadran = self::obtenirCadranPourPoint($latCentre, $lngCentre, $point); |
self::ajouterFils($noeud,$cadran,$point); |
111,10 → 113,10 |
$profondeur++; |
|
if($profondeur <= self::$profondeurMax) { |
($noeud['A'] != null) ? self::attribuerAuCadran($noeud['A'], $neLat, $lngCentre , $latCentre, $lngSw, $profondeur) : ''; |
($noeud['B'] != null) ? self::attribuerAuCadran($noeud['B'], $neLat, $neLng, $latCentre, $lngCentre, $profondeur) : ''; |
($noeud['C'] != null) ? self::attribuerAuCadran($noeud['C'], $latCentre, $neLng, $swLat, $lngCentre, $profondeur) : ''; |
($noeud['D'] != null) ? self::attribuerAuCadran($noeud['D'], $latCentre, $lngCentre, $swLat, $swLng, $profondeur) : ''; |
(isset($noeud['A'])) ? self::attribuerAuCadran($noeud['A'], $neLat, $lngCentre , $latCentre, $swLng, $profondeur) : ''; |
(isset($noeud['B'])) ? self::attribuerAuCadran($noeud['B'], $neLat, $neLng, $latCentre, $lngCentre, $profondeur) : ''; |
(isset($noeud['C'])) ? self::attribuerAuCadran($noeud['C'], $latCentre, $neLng, $swLat, $lngCentre, $profondeur) : ''; |
(isset($noeud['D'])) ? self::attribuerAuCadran($noeud['D'], $latCentre, $lngCentre, $swLat, $swLng, $profondeur) : ''; |
} |
|
if(self::estUnParentFeuilles($noeud)) { |
140,10 → 142,12 |
} |
|
private static function ajouterFils(&$noeud, $cadran, &$point) { |
$noeud[$cadran]['points'][] = $point; |
$noeud[$cadran]['nbrePoints']++; |
$noeud[$cadran]['latMoyenne'] += $point['lat']; |
$noeud[$cadran]['lngMoyenne'] += $point['lng']; |
$fils = array('points' => array(), 'nbrePoints' => 1, 'latMoyenne' => 0, 'lngMoyenne' => 0); |
$fils['points'][] = $point; |
$fils['nbrePoints'] = isset($noeud[$cadran]['nbrePoints']) ? $noeud[$cadran]['nbrePoints']++ : 1; |
$fils['latMoyenne'] += $point['lat']; |
$fils['lngMoyenne'] += $point['lng']; |
$noeud[$cadran] = $fils; |
} |
|
private static function ajouterGroupeOuPoint(&$noeud) { |
167,7 → 171,7 |
} |
|
private static function estUneFeuille(&$noeud) { |
return $noeud == null || ($noeud['A'] == null && $noeud['B'] == null && $noeud['C'] == null && $noeud['D'] == null); |
return $noeud == null || (!isset($noeud['A']) && !isset($noeud['B']) && !isset($noeud['C']) && !isset($noeud['D'])); |
} |
} |
?> |