Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- from overpy import Overpass
- from osmapi import OsmApi
- # Récupère les ids des objets memorial=plaque à Paris:
- overpass = Overpass()
- res_nodes = overpass.query("""
- [out:json];
- area[name = "Paris"]->.a;
- (
- node(area.a)[memorial=plaque];
- );
- out;""").nodes
- # Filtre les objets selon que le nom contien "histoire de paris" et qu'il
- # n'a pas déjà été taggé avec les nouveaux attributs :
- rame_hdp = []
- for n in res_nodes:
- if n.tags.get('name', None):
- if 'histoire de paris' in n.tags['name'].lower() \
- and not n.tags.get('tourism', None) == 'information':
- rame_hdp.append(n)
- osma = OsmApi(username='***', password='***')
- osma.ChangesetCreate(
- {u"comment": u"Corrections on some 'histoire de paris' information boards"})
- rval = []
- for node in rame_hdp:
- current_data = osma.NodeGet(node.id)
- # Copie des infos 'id', 'lat', 'lon', 'version' et 'tags':
- new_data = {}
- new_data['id'] = current_data['id']
- new_data['lon'] = current_data['lon']
- new_data['lat'] = current_data['lat']
- new_data['version'] = current_data['version']
- new_data['tag'] = current_data['tag']
- # Modif. des tags:
- new_data['tag']['tourism'] = 'information'
- new_data['tag']['operator'] = 'Mairie de Paris'
- new_data['tag']['title'] = 'Histoire de Paris'
- new_data['tag']['name'] = \
- new_data['tag']['name'].replace('Histoire de Paris ', '')
- # Le noeud mis à jour est retourné:
- r = osma.NodeUpdate(new_data)
- rval.append(r)
- osma.ChangesetClose()
Add Comment
Please, Sign In to add comment