geocode database
This commit is contained in:
parent
17a5fac092
commit
971a95516e
1
cities_data.json
Normal file
1
cities_data.json
Normal file
File diff suppressed because one or more lines are too long
21
core.php
21
core.php
@ -82,11 +82,25 @@ function geocode($cities)
|
||||
// Tableau pour stocker les villes et leurs coordonnées
|
||||
$citiesData = array();
|
||||
|
||||
// Charger les données à partir du fichier JSON s'il existe
|
||||
if (file_exists('cities_data.json')) {
|
||||
$citiesData = json_decode(file_get_contents('cities_data.json'), true);
|
||||
}
|
||||
|
||||
// Parcourir les villes et géocoder leurs coordonnées
|
||||
foreach ($cities as $city) {
|
||||
$ville = $city['name'];
|
||||
$href = $city['href'];
|
||||
|
||||
// Vérifier si les coordonnées sont déjà présentes dans le tableau
|
||||
$existingCity = array_filter($citiesData, function ($data) use ($ville) {
|
||||
return $data['name'] === $ville;
|
||||
});
|
||||
|
||||
if (!empty($existingCity)) {
|
||||
// Utiliser les coordonnées existantes
|
||||
$citiesData[] = reset($existingCity);
|
||||
} else {
|
||||
// Requête à l'API Nominatim
|
||||
$options = array(
|
||||
'http' => array(
|
||||
@ -105,12 +119,17 @@ function geocode($cities)
|
||||
$longitude = $data[0]['lon'];
|
||||
|
||||
// Ajouter la ville et ses coordonnées au tableau
|
||||
$citiesData[] = array(
|
||||
$cityData = array(
|
||||
'name' => $ville,
|
||||
'lat' => $latitude,
|
||||
'lon' => $longitude,
|
||||
'href' => $href,
|
||||
);
|
||||
$citiesData[] = $cityData;
|
||||
|
||||
// Sauvegarder les données dans le fichier JSON
|
||||
file_put_contents('cities_data.json', json_encode($citiesData));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user