18,6 → 18,8 |
private static $listeNoeudsSelectionnes = array(); |
|
private static $pointsDejaTraites = array(); |
|
private static $bornesMax = array('latMin' => null, 'lngMin' => null, 'latMax' => null, 'lngMax' => null); |
|
/* |
+---------+---------+ |
43,7 → 45,8 |
self::attribuerAuCadran($noeudRacine, $neLat, $neLng, $swLat, $swLng); |
|
} else { |
foreach($markers as $marker) { |
foreach($markers as $marker) { |
self::mettreAJourBornes(&$marker); |
$points = array($marker); |
$noeudSimple = array('points' => $points, 'nbrePoints' => 1); |
self::$nbElements['observations']++; |
89,6 → 92,17 |
return self::$nbElements; |
} |
|
public static function mettreAJourBornes(&$point) { |
self::$bornesMax['latMin'] = (is_numeric($point['lat']) && $point['lat'] < self::$bornesMax['latMin'] || self::$bornesMax['latMin'] == null) ? $point['lat'] : self::$bornesMax['latMin'] ; |
self::$bornesMax['lngMin'] = (is_numeric($point['lng']) && $point['lng'] < self::$bornesMax['lngMin'] || self::$bornesMax['lngMin'] == null) ? $point['lng'] : self::$bornesMax['lngMin'] ; |
self::$bornesMax['latMax'] = (is_numeric($point['lat']) && $point['lat'] > self::$bornesMax['latMax'] || self::$bornesMax['latMax'] == null) ? $point['lat'] : self::$bornesMax['latMax'] ; |
self::$bornesMax['lngMax'] = (is_numeric($point['lng']) && $point['lng'] > self::$bornesMax['lngMax'] || self::$bornesMax['lngMax'] == null) ? $point['lng'] : self::$bornesMax['lngMax'] ; |
} |
|
public static function getBornes() { |
return self::$bornesMax; |
} |
|
/** |
* |
* @param mixed $noeud Le noeud à traiter par le quadtree |
104,6 → 118,7 |
$lngCentre = round((($neLng+$swLng)/2)/self::$pasCorrectionCentre,0)*self::$pasCorrectionCentre; |
|
foreach ($noeud['points'] as &$point) { |
self::mettreAJourBornes(&$point); |
self::$nbElements['observations']++; |
$emplacement = isset($point['type_emplacement']) ? $point['type_emplacement'] : self::obtenirTypeEmplacementParId(&$point); |
self::$nbElements[$emplacement]++; |