Le fait que vous ayez localisé « qu’à » la commune signifie t il qu’il y a pu avoir souvent une amélioration de la localisation. Mais également parfois aussi une dégradation de la localisation pour certains établissements (ceux qui avaient été géolocalisés par exemple à la rue, voire encore plus précisemment, par Georisques). Ce sera ma dernière questions.
Alors, c’est un peu plus compliqué que ça:
- je regarde le si le code postal de l’établissement est dans la Base des Codes Postaux
- si ce n’est pas le cas, je cherche dans une base de correspondance cedex/codepostal que je crée à partir de la base Sirene
- je tente une géolocalisation exacte avec l’API BAN, mais en restreignant la recherche au code postal trouvé précédemment, pour être certain d’être au moins dans la bonne commune
- si le score de géolocalisation est mauvais, j’utilise l’adresse de la base Sirene plutôt que l’adresse de la base IREP: elle est souvent de meilleure qualité, mais ce n’est pas toujours au bon endroit (c’est la raison pour laquelle je n’ai pas utilisé la base Sirene géocodée par Christian). Là encore, seulement si on est dans la même commune.
- si ça ne marche toujours pas, je prends la position dans la base des codes postaux
En réalité, c’est encore plus compliqué que ça, mais je vous laisse regarder le script pour les détails, les commentaires sont clairs
Et bien sûr j’annote les résultats pour donner une idée de la précision.
Une étape que j’aurais pu rajouter aurait été de prendre la position fournie dans la base IREP si je constate qu’elle est dans la bonne commune. Mais franchement, vu la qualité globale, je ne pense pas qu’on y aurait gagné beaucoup.
Au final, cette base est hélas de très mauvaise qualité: de nombreuses émissions sont fausses (d’un facteur 1000! Dans un sens ou dans l’autre, c’est selon. La différence entre kg et tonnes…). On y trouve un centre d’incinération qui a des émissions supérieures à la France entière par exemple, ou certaines aciéries bien connues qui n’émettent quasiment rien.
J’ai fait mon possible pour remonter les problèmes, mais j’ai rencontré un mur en face, et j’ai cru comprendre qu’il n’y a pas de volonté d’amélioration…
Bref, j’espère que la partie qui vous intéresse sera meilleure, et si ce n’est pas le cas, que vous le remonterez aussi.
À force…
Marrant comme cheminement… il y avait plus simple (dit-il avec la voix de Bertrand Renard des Chiffres et des Lettres):
- le SIRET permet de récupérer le code commune dans la base SIRENE, plus précis que le code postal (qui n’a rien de géographique)
- l’API BAN peut limiter la recherche sur le code INSEE de la commune (plus efficace que le CP)
Mon géocodage de SIRENE dégrade déjà par étape de numéro à voie/lieu-dit puis finalement commune.
Une remarque: un mauvais score d’addok indique un mauvais matching textuel… donc potentiellement une réponse fausse, mais qui reste la plus exacte connue (sauf bug d’addok) par rapport à ce qu’on a donné à chercher.
Je n’ai pas trouvé le script pour regarder les détails.
il y avait plus simple
Si seulement !
- de nombreux siret sont incorrects: soit erreur, soit adresse de l’établissement qui n’est pas l’adresse de l’usine emettrice. Sinon j’aurais juste croisé avec ta base Sirene geolocalisée et on n’en parlait plus
- je n’ai pas le code insee, seulement le CP, qui est la plupart du temps un cedex
Le script était un peu plus haut dans ce thread; lien direct:
Ah oui, si le SIRET est foireux… ça fout tout en l’air !
#datamoche