Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2746 → Rev 2747

/trunk/jrest/services/CelStreets.php
154,6 → 154,9
$rd[] = $element['geometry'][$ii];
}
$proj_debut = $infos_debut;
$proj_fin = $infos_fin;
// Insertion des points utilisateurs en début et fin de tableau
array_unshift($rd, $proj_debut);
array_push($rd, $proj_fin);
174,10 → 177,12
$cle_plus_courte_fin = key($distances_fin);
}
$cle_choisie = $this->choisirIndexRuePlusProchePourDebutEtFin($cle_plus_courte_debut, $cle_plus_courte_fin, $distances_debut, $distances_fin);
$rue_plus_proche = $distances_fin[$cle_choisie];
unset($distances_fin[$cle_choisie]);
$distances_fin = array($cle_choisie => $rue_plus_proche) + $distances_fin;
if(!empty($distances_fin)) {
$cle_choisie = $this->choisirIndexRuePlusProchePourDebutEtFin($cle_plus_courte_debut, $cle_plus_courte_fin, $distances_debut, $distances_fin);
$rue_plus_proche = $distances_fin[$cle_choisie];
unset($distances_fin[$cle_choisie]);
$distances_fin = array($cle_choisie => $rue_plus_proche) + $distances_fin;
}
$elements_fmt = array();
foreach($distances_fin as $index => $distance) {
219,7 → 224,7
}
function getIndexInsertionDebut($element, $index_min, $debut) {
// le point de début est situé entre $index_debut et $index_debut + 1
// le point de début est situé entre $index_min et $index_min + 1
$proj_debut = $this->getOrthoPoint($element['geometry'][$index_min], $element['geometry'][$index_min+1], $debut);
$point_deb = $element['geometry'][$index_min];
$point_deb_plus_un = $element['geometry'][$index_min+1];
244,10 → 249,10
if($distance_point_fin_moins_un_proj < $distance_point_fin_fin_moins_un) {
// le point le plus proche doit être éliminé
return $index_max;
return $index_max - 1;
} else {
// il doit être gardé
return $index_max + 1;
return $index_max;
}
}