[OSM-dev-fr] Osmose - patch - code INSEE dans les relations admin_level=7

Black Myst Black.myst at free.fr
Mer 13 Juil 23:45:51 BST 2011


Bonjour,

Je continue mon travail de documentation d'Osmose sur le Wiki, et
voila t'y pas que je tombe sur un bug !

Concernant l'analyse des codes INSEE (section Administratif), presque
tous les signalements en région Parisienne sont des faux positifs:
http://osmose.openstreetmap.fr/map/cgi-bin/index.py?zoom=10&lat=48.85677&lon=2.4922&layers=B000000FFFFFFFFFFFFT&item=6040

En fait, les relations d'admin_level=7 contiennent un code INSEE sur 3
chiffres qu'il ne trouve pas dans la base des communes.
En attendant de voir si on peut trouver une source pour ces nouveaux
codes, voila un patch pour exclure les admin_level=7 de l'analyse.

Dans le fichier:
http://osmose.openstreetmap.fr/src/plugins/Administratif_NameINSEE.py
Remplacer la dernière fonction par:

   def relation(self, relation, tags):
       if tags.get(u"boundary") <> u"administrative":
           # Ce n'est pas une relation administrative
           return
       if tags.get(u"admin_level") <> u"8":
           # Seul le niveau 8 contient des INSEE qui nous interresse
           # Le niveau 7 contient d'autre code INSEE (sur 3 chiffres)
           return
       if u"name" not in tags:
           # Euh, le message va etre un peu bizarre pour une relation !
           return [(800, 0, {})]
       if u"ref:INSEE" not in tags:
           return

       # Cette ligne semble deprecated !
       self._code_r.append(tags[u"ref:INSEE"])

       return self._insee(tags)

Voila,
Black Myst

PS: Je n'ai pas d'environnement pour faire des tests, c'est donc sans
aucune validation que je te le livre.



Plus d'informations sur la liste de diffusion dev-fr