Les noms de rues les plus communs en idf

Les noms de rues les plus communs en idf... et tout ca sur mon pc !

Aujourd'hui j'ai rapidement joué avec OSM (OpenStreetMap) pour voir ce qu'on pouvait faire avec les dataset. J'ai fait un truc tout crade en deux minutes... A noter la lib imposm.parser est  fort pratique ! Et ca va va plutot vite. J'ai récupérer une carte sur Index of /europe/france au format pbf et installer le package cd imposm sur mon ubuntu... quelques lignes copier à droites et deux trois modifs et..
#!/usr/bin/python
from imposm.parser import OSMParser
import collections
import pprint

class QQCCounter(object):
    d = {}
    #collections.OrderedDict()    
    def ways(self, ways):
        # callback method for ways
        for osmid, tags, refs in ways:
                if tags.has_key(u"name"):
                        #print osmid, tags, refs
                        name = tags[u"name"]
                        if self.d.has_key(name):
                                self.d[name] = self.d[name] + 1
                        else:
                                self.d[name] = 1
                        if self.d[name]==50:
                                print name
# instantiate counter and parser and start parsing
counter = QQCCounter()
p = OSMParser(concurrency=4, ways_callback=counter.ways)
p.parse('ile-de-france-150801.osm.pbf')
test = collections.OrderedDict(sorted(counter.d.items(), key=lambda t: t[1]))
for k in test:
        print k, "   nb:",test[k]
Et le résultat et la ! (sachant qu'en fait on ne prend pas que les rues):  
Rue Gabriel Péri    nb: 194 Avenue de la Division Leclerc    nb: 210 Rue de la République    nb: 212 Avenue de l'Europe    nb: 223 Rue de la Gare    nb: 224 Place de l'Église    nb: 226 Rue du Général Leclerc    nb: 240 Périphérique d'Île de France    nb: 259 Autoroute du Soleil    nb: 281 Rue Victor Hugo    nb: 291 Avenue Charles de Gaulle    nb: 294 Rue Jean Jaurès    nb: 308 La Francilienne    nb: 340 Avenue de la République    nb: 348 Avenue du Général Leclerc    nb: 348 Avenue Jean Jaurès    nb: 365 Rue de l'Église    nb: 401 Rue Pasteur    nb: 405 Grande Rue    nb: 477 Rue de Paris    nb: 477 Avenue du Général de Gaulle    nb: 551
Il y a un peu de déchet comme certaines grandes routes sont faites de plusieurs segments. Mais on confirme les classiques, De Gaulle, Rue de Paris (ca c'est parce que j'ai pris que l'Ile de France).. On note que la république est après l'Eglise et que le général Leclerc est un homme d'avenue.. 🙂 Et voila comment on récupère en 5 minutes les noms de rues les plus communs en Ile de France 🙂 Bon ok la prochaine fois je fais quelque chose de mieux 🙂

Related Post

Partagez..Share on FacebookTweet about this on TwitterShare on Google+Share on RedditShare on TumblrPin on PinterestPrint this pageEmail this to someone

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *