mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-06-20 01:44:42 +02:00
update on labourage
This commit is contained in:
parent
248140d78a
commit
c6e05463b1
3 changed files with 82 additions and 29 deletions
|
@ -220,15 +220,20 @@ final class AdminController extends AbstractController
|
||||||
foreach ($new_places_list as $np) {
|
foreach ($new_places_list as $np) {
|
||||||
$new_place = new Place();
|
$new_place = new Place();
|
||||||
|
|
||||||
|
$main_tag = $this->motocultrice->find_main_tag($np['tags']);
|
||||||
|
|
||||||
$new_place
|
$new_place
|
||||||
->setUuidForUrl($this->motocultrice->uuid_create())
|
->setUuidForUrl($this->motocultrice->uuid_create())
|
||||||
->setModifiedDate(new \DateTime())
|
->setModifiedDate(new \DateTime())
|
||||||
->setStats($stats)
|
->setStats($stats)
|
||||||
->setDead(false)
|
->setDead(false)
|
||||||
->setOptedOut(false)
|
->setOptedOut(false)
|
||||||
|
->setOsmId($np['id'])
|
||||||
|
->setMainTag($main_tag && isset($np['tags'][$main_tag]) ? $np['tags'][$main_tag] : "")
|
||||||
|
->setOsmKind($np['type'])
|
||||||
->setAskedHumainsSupport(false)
|
->setAskedHumainsSupport(false)
|
||||||
->setLastContactAttemptDate(null)
|
->setLastContactAttemptDate(null)
|
||||||
->update_place_from_overpass_data($new_place);
|
->update_place_from_overpass_data($np);
|
||||||
$this->entityManager->persist($new_place);
|
$this->entityManager->persist($new_place);
|
||||||
}
|
}
|
||||||
// Mise à jour des commerces existants avec les données Overpass
|
// Mise à jour des commerces existants avec les données Overpass
|
||||||
|
|
|
@ -120,8 +120,29 @@ class Place
|
||||||
}
|
}
|
||||||
return round($filled_fields / $total_fields * 100);
|
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) {
|
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'] != '') {
|
if (isset($tags_converted['amenity']) && $tags_converted['amenity'] != '') {
|
||||||
$this->setMainTag('amenity='.$tags_converted['amenity']);
|
$this->setMainTag('amenity='.$tags_converted['amenity']);
|
||||||
|
@ -139,34 +160,43 @@ class Place
|
||||||
$this->setMainTag('healthcare='.$tags_converted['healthcare']);
|
$this->setMainTag('healthcare='.$tags_converted['healthcare']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->setOsmId($overpass_data['id'])
|
$this
|
||||||
->setOsmKind($overpass_data['type'])
|
// ->setOsmId($overpass_data['id'])
|
||||||
->setName($overpass_data['name'])
|
// ->setOsmKind($overpass_data['type'] )
|
||||||
->setZipCode($overpass_data['postcode'])
|
->setName(isset($overpass_data['name']) && $overpass_data['name'] != '' ? $overpass_data['name'] : null);
|
||||||
->setEmail($overpass_data['email'])
|
|
||||||
->setNote($overpass_data['tags'] && isset($overpass_data['tags']['note']) ? isset($overpass_data['tags']['note']) : null)
|
if (isset($overpass_data['postcode']) && $overpass_data['postcode'] != ''){
|
||||||
->setHasOpeningHours($overpass_data['tags'] && isset($overpass_data['tags']['opening_hours']) ? isset($overpass_data['tags']['opening_hours']) : null)
|
$this->setZipCode($overpass_data['postcode']);
|
||||||
->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)
|
if (isset($overpass_data['email']) && $overpass_data['email'] != ''){
|
||||||
->setHasWheelchair($overpass_data['tags'] && isset($overpass_data['tags']['wheelchair']) ? $overpass_data['tags']['wheelchair'] : null)
|
$this->setEmail($overpass_data['email']);
|
||||||
->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)
|
if (isset($overpass_data['tags']['opening_hours']) && $overpass_data['opening_hours'] != ''){
|
||||||
// ->setDisplayedDate(new \DateTime())
|
$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
|
// 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
|
$this
|
||||||
// ->setOsmId($overpass_data['id'])
|
// ->setOsmId($overpass_data['id'])
|
||||||
|
|
|
@ -290,6 +290,24 @@ out center tags;';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function find_main_tag($tags) {
|
||||||
|
if(isset($tags['amenity']) && $tags['amenity'] != '') {
|
||||||
|
return $tags['amenity'];
|
||||||
|
}
|
||||||
|
if(isset($tags['shop']) && $tags['shop'] != '') {
|
||||||
|
return $tags['shop'];
|
||||||
|
}
|
||||||
|
if(isset($tags['tourism']) && $tags['tourism'] != '') {
|
||||||
|
return $tags['tourism'];
|
||||||
|
}
|
||||||
|
if(isset($tags['healthcare']) && $tags['healthcare'] != '') {
|
||||||
|
return $tags['healthcare'];
|
||||||
|
}
|
||||||
|
if(isset($tags['office']) && $tags['office'] != '') {
|
||||||
|
return $tags['office'];
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
public function migrate_tags($osm_object_data) {
|
public function migrate_tags($osm_object_data) {
|
||||||
|
|
||||||
// migrer email vers contact:email
|
// migrer email vers contact:email
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue