update on labourage

This commit is contained in:
Tykayn 2025-06-03 18:07:57 +02:00 committed by tykayn
parent 248140d78a
commit c6e05463b1
3 changed files with 82 additions and 29 deletions

View file

@ -120,8 +120,29 @@ class Place
}
return round($filled_fields / $total_fields * 100);
}
/**
* mettre à jour le lieu selon les tags osm
*/
public function update_place_from_overpass_data(array $overpass_data) {
$tags_converted = $overpass_data['tags_converted'] ;
if ( ! isset($overpass_data['tags']) || $overpass_data['tags'] == null) {
return;
}
// var_dump($overpass_data);
$overpass_data = array_merge([
'id' => '',
'type' => '',
'name' => '',
'postcode' => '',
'email' => '',
'opening_hours' => '',
'addr:housenumber' => '',
'addr:street' => '',
'website' => '',
'wheelchair' => '',
'note' => ''
], $overpass_data['tags'] );
// var_dump($overpass_data);
if (isset($tags_converted['amenity']) && $tags_converted['amenity'] != '') {
$this->setMainTag('amenity='.$tags_converted['amenity']);
@ -139,34 +160,43 @@ class Place
$this->setMainTag('healthcare='.$tags_converted['healthcare']);
}
$this->setOsmId($overpass_data['id'])
->setOsmKind($overpass_data['type'])
->setName($overpass_data['name'])
->setZipCode($overpass_data['postcode'])
->setEmail($overpass_data['email'])
->setNote($overpass_data['tags'] && isset($overpass_data['tags']['note']) ? isset($overpass_data['tags']['note']) : null)
->setHasOpeningHours($overpass_data['tags'] && isset($overpass_data['tags']['opening_hours']) ? isset($overpass_data['tags']['opening_hours']) : null)
->setHasAddress(($overpass_data['tags'] && isset($overpass_data['tags']['address']) || $overpass_data['tags'] && isset($overpass_data['tags']['contact:address'])) ? isset($overpass_data['tags']['address']) : null)
->setHasWebsite($overpass_data['tags'] && isset($overpass_data['tags']['website']) ? $overpass_data['tags']['website'] : null)
->setHasWheelchair($overpass_data['tags'] && isset($overpass_data['tags']['wheelchair']) ? $overpass_data['tags']['wheelchair'] : null)
->setHasNote($overpass_data['tags'] && isset($overpass_data['tags']['note']) ? $overpass_data['tags']['note'] : null)
->setNoteContent($overpass_data['tags'] && isset($overpass_data['tags']['note']) ? $overpass_data['tags']['note'] : null)
// ->setDisplayedDate(new \DateTime())
;
$this
// ->setOsmId($overpass_data['id'])
// ->setOsmKind($overpass_data['type'] )
->setName(isset($overpass_data['name']) && $overpass_data['name'] != '' ? $overpass_data['name'] : null);
if (isset($overpass_data['postcode']) && $overpass_data['postcode'] != ''){
$this->setZipCode($overpass_data['postcode']);
}
if (isset($overpass_data['email']) && $overpass_data['email'] != ''){
$this->setEmail($overpass_data['email']);
}
if (isset($overpass_data['tags']['opening_hours']) && $overpass_data['opening_hours'] != ''){
$this->setHasOpeningHours($overpass_data['opening_hours']);
}
if (isset($overpass_data['tags']) && isset($overpass_data['tags']['note']) && $overpass_data['tags']['note'] != ''){
$this->setNote($overpass_data['tags']['note']);
}
if (isset($overpass_data['tags']) && isset($overpass_data['tags']['addr:housenumber']) && $overpass_data['tags']['addr:housenumber'] != ''){
$this->setHasAddress($overpass_data['tags']['addr:housenumber']);
}
if (isset($overpass_data['tags']) && isset($overpass_data['tags']['website']) && $overpass_data['tags']['website'] != ''){
$this->setHasWebsite($overpass_data['tags']['website']);
}
if (isset($overpass_data['tags']) && isset($overpass_data['tags']['wheelchair']) && $overpass_data['tags']['wheelchair'] != ''){
$this->setHasWheelchair($overpass_data['tags']['wheelchair']);
}
if (isset($overpass_data['tags']) && isset($overpass_data['tags']['note']) && $overpass_data['tags']['note'] != ''){
$this->setHasNote($overpass_data['tags']['note']);
}
if (isset($overpass_data['tags']) && isset($overpass_data['tags']['note']) && $overpass_data['tags']['note'] != ''){
$this->setHasNote($overpass_data['tags']['note']);
$this->setNoteContent($overpass_data['tags']['note']);
}
// Remplir les clés attendues avec des valeurs par défaut si non définies
$overpass_data = array_merge([
'id' => '',
'type' => '',
'name' => '',
'postcode' => '',
'email' => '',
'opening_hours' => '',
'addr:housenumber' => '',
'addr:street' => '',
'website' => '',
'wheelchair' => '',
'note' => ''
], $overpass_data);
$this
// ->setOsmId($overpass_data['id'])